南邮2013MATLAB数学实验答案(全)

更新时间:2023-09-20 02:55:01 阅读量: 小学教育 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第一次练习

教学要求:熟练掌握Matlab软件的基本命令和操作,会作二维、三维几何图形,能够用Matlab软件解决微积分、线性代数与解析几何中的计算问题。 补充命令

vpa(x,n) 显示x的n位有效数字,教材102页

fplot(‘f(x)’,[a,b]) 函数作图命令,画出f(x)在区间[a,b]上的图形 在下面的题目中m为你的学号的后3位(1-9班)或4位(10班以上) 1.1 计算limmx?sinmxmx?sinmx与 limx?0x??x3x3 syms x

limit((902*x-sin(902*x))/x^3) ans =

366935404/3

limit((902*x-sin(902*x))/x^3,inf) ans = 0 1.2 y?ecosxmx,求y'' 1000syms x

diff(exp(x)*cos(902*x/1000),2) ans =

(46599*cos((451*x)/500)*exp(x))/250000 - (451*sin((451*x)/500)*exp(x))/250 1.3 计算

??e0011x2?y2dxdy

dblquad(@(x,y) exp(x.^2+y.^2),0,1,0,1) ans = 2.1394

x4dx 1.4 计算?2m?4x2 syms x

int(x^4/(902^2+4*x^2)) ans =

(91733851*atan(x/451))/4 - (203401*x)/4 + x^3/12 1.5 y?excosmx,求y(10)

syms x

diff(exp(x)*cos(902*x),10) ans =

-356485076957717053044344387763*cos(902*x)*exp(x)-3952323024277642494822005884*sin(902*x)*exp(x) 1.6 给出m?x在x?0的泰勒展式(最高次幂为4).

1000.0syms x

taylor(sqrt(902/1000+x),5,x) ans =

-(9765625*451^(1/2)*500^(1/2)*x^4)/82743933602 +(15625*451^(1/2)*500^(1/2)*x^3)/91733851

-(125*451^(1/2)*500^(1/2)*x^2)/406802 + (451^(1/2)*500^(1/2)*x)/902 +(451^(1/2)*500^(1/2))/500 1.7 Fibonacci数列{xn}的定义是x1?1,x2?1,xn?xn?1?xn?2(n?3,4,?)用循环语句编

程给出该数列的前20项(要求将结果用向量的形式给出)。 x=[1,1]; for n=3:20

x(n)=x(n-1)+x(n-2); end x x=

Columns 1 through 10

1 1 2 3 5 8 13 21 34 55 Columns 11 through 20

89 144 233 377 610 987 1597 2584 4181 6765

????211???A??020?1.8 对矩阵,求该矩阵的逆矩阵,特征值,特征向量,行列式,

??m?41??1000??计算A,并求矩阵P,D(D是对角矩阵),使得A?PDP。

A=[-2,1,1;0,2,0;-4,1,902/1000];inv(A)

ans =

0.4107 0.0223 -0.4554 0 0.5000 0 1.8215 -0.4554 -0.9107 eig(A) ans =

-0.5490 + 1.3764i -0.5490 - 1.3764i 2.0000 det(A) ans =

4.3920

6?1[P,D]=eig(A)

P = %特征向量

0.3245 - 0.3078i 0.3245 + 0.3078i 0.2425 0 0 0.9701 0.8944 0.8944 0.0000 D =

-0.5490 + 1.3764i 0 0 0 -0.5490 - 1.3764i 0 0 0 2.0000 P*D^6*inv(P) %A^6的值 ans =

15.3661 12.1585 + 0.0000i -5.8531 0 64.0000 0 23.4124 -5.8531 + 0.0000i -1.6196

1.9 作出如下函数的图形(注:先用M文件定义函数,再用fplot进行函数作图):

1?2x0?x???2f(x)??

1?2(1?x)?x?1??2m文件:

function y=fenduan(x)

if x<=1/2 y=2*x

else x<=1 y=2-2*x

end end

执行函数:fplot('fenduan',[0,1]); grid on

title('第1.9题图') 得下图:

第1.9题图10.90.80.70.60.50.40.30.20.1000.10.20.30.40.50.60.70.80.91

1.10 在同一坐标系下作出下面两条空间曲线(要求两条曲线用不同的颜色表示)

?x?cost?x?2cost??(1)?y?sint (2)?y?2sint

?z?t?z?t??t=-10:0.01:10; x1=cos(t); y1=sin(t); z1=t;

plot3(x1,y1,z1); hold on

x2=cos(2*t); y2=sin(2*t); z2=t;

plot3(x2,y2,z2,'m'); grid on

title('第1.10题图') 得下图:

第1.10题图1050-5-1010.50-0.5-1-1-0.50.501

?4?22??134?????1.11 已知A???305?,B???20?3?,在MATLAB命令窗口中建立A、B矩阵并

?15m3??2?11?????对其进行以下操作:

(1) 计算矩阵A的行列式的值det(A)

(2) 分别计算下列各式:2A?B,A*B,A.*B,AB?1,A?1B,A2,AT 解:A=[4,-2,2;-3,0,5;1,5*902,3]; B=[1,3,4;-2,0,3;2,-1,1];

det(A) ans =

-117288 2*A-B ans =

7 -7 0

-4 0 7 0 9021 5 A*B ans =

12 10 12

7 -14 -7 -9013 0 13537 A.*B ans =

4 -6 8

6 0 15 2 -4510 3 A*inv(B) ans =

1.0e+003 *

-0.0000 0 0.0020 0.0000 0.0016 0.0001 1.0311 -0.9016 -1.4167 inv(A)*B ans =

0.3463 0.5767 0.5383 0.0005 -0.0006 -0.0005 -0.1922 0.3460 0.9230 A*A ans =

24 9012 4

-7 22556 9 -13523 13528 22561 A' ans =

4 -3 1

-2 0 4510 2 5 3

?1e1.12 已知f(x)?2??(x??)22?2分别在下列条件下画出f(x)的图形:

(1)??m/600,?分别为0,?1,1(在同一坐标系上作图); (2)??0,?分别为1,2,4,m/100(在同一坐标系上作图). (1)x=-5:0.1:5;

h=inline('1/sqrt(2*pi)/s*exp(-(x-mu).^2/(2*s^2))'); y1=h(0,902/600,x);y2=h(-1,902/600,x);y3=h(1,902/600,x); plot(x,y1,'b',x,y2,'m',x,y3,'y')

执行Martin(-10000,-10000,10000,20000),得:

50000-5000-10000-15000-20000-25000-2-1.5-1-0.500.511.52x 104

执行Martin(-10000,10,-10000,20000),得:

0-2000-4000-6000-8000-10000-12000-10000-8000-6000-4000-200002000

执行Martin(10,10,0.5,20000),得:

302520151050-5-10-20-100102030

执行Martin(10,10000,-10000,20000),得:

40003000200010000-1000-2000-3000-4000-5000-4000-3000-2000-1000010002000300040005000

执行Martin(100,1000,-10,20000),得:

5004003002001000-100-200-300-400-500-600-400-2000200400600800

执行Martin(-1000,17,4,20000),得:

0-200-400-600-800-1000-1200-1200-1000-800-600-400-2000200

2.6 能否找到分式函数

ax?b(其中a,b,c,d,e是整数),使它产生的迭代序列(迭代2cx?dx?e的初始值也是整数)收敛到3m(对于3m为整数的学号,请改为求310m)。如果迭代收敛,那么迭代的初值与收敛的速度有什么关系.写出你做此题的体会. 提示:教材54页练习4的一些分析。 若分式线性函数f(x)?因此

ax?b的迭代收敛到指定的数2,则2为f(x)的不动点,cx?d2?化简得:(2c?b)?(d?a)2?0。

a2?b c2?d若a,b,c,d为整数,易见b?2c,d?a。

取满足这种条件的不同的a,b,c,d以及迭代初值进行编。 解:

ax?bax?b33902902迭代收敛到指定的数,则为的不动点,所以 22cx?dx?ecx?dx?e3

902=

a3902?bc(902)?d902?e323,解得a=e,d=0,b=902c

取m=902;根据上述提示,取:a=e=1,b=902,c=1,d=0,程序如下:

f=inline('(x+902)/(x^2+1)');

x0=1;

for i=1:100; x0=f(x0);

fprintf('%g %g\\n',i,x0); end

结果如下

1 451.5

2 0.00663958 3 901.967 4 0.002217413 5 901.998 6 0.0022173 7 901.998 8 0.0022173 9 901.998 10 0.0022173 11 901.998 12 0.0022173 13 901.998 14 0.0022173 15 901.998 16 0.0022173 17 901.998 ??

95 901.998 96 0.0022173 97 901.998

98 0.0022173 99 901.998 100 0.002217

初值为-1,结果为 1 450.5

2 0.00666416 3 901.967 4 0.00221742 5 901.998 6 0.0022173 7 901.998 8 0.0022173 9 901.998 10 0.0022173 11 901.998 12 0.0022173 13 901.998 14 0.0022173 15 901.998 16 0.0022173 17 901.998 18 0.0022173 19 901.998 ??

95 901.998 96 0.0022173 97 901.998 98 0.0022173 99 901.998 100 0.0022173

初值为1000,结果为 1 0.001902 2 901.999 3 0.0022173 4 901.998 5 0.0022173 6 901.998 7 0.0022173 8 901.998 9 0.0022173 10 901.998 11 0.0022173 12 901.998 13 0.0022173

14 901.998 15 0.0022173 16 901.998 17 0.0022173 18 901.998 19 0.0022173 20 901.998 ??

93 0.0022173 94 901.998 95 0.0022173 96 901.998 97 0.0022173 98 901.998 99 0.0022173 100 901.998

第三次练习

教学要求:理解线性映射的思想,会用线性映射和特征值的思想方法解决诸如天气等实际问题。

?42?(0)(0)TT3.1 对A???13??,(x1,x2)?(1,2),求出{xn}的通项.

??>> syms n

>> A=sym('[4,2;1,3]');x=[1;2];[P,D]=eig(A) %没有sym下面的矩阵就会显示为小数 P = [ -1, 2] [ 1, 1] D = [ 2, 0] [ 0, 5]

>> An=P*D^n*inv(P) An =

[ 2^n/3 + (2*5^n)/3, (2*5^n)/3 - (2*2^n)/3] [ 5^n/3 - 2^n/3, (2*2^n)/3 + 5^n/3] >> xn=An*x xn =

2*5^n - 2^n 2^n + 5^n 3.2 B??0.40.2?1(0)(0)TTA???(x,x)?(1,2)对于练习1中的,,求出{xn}的通项. B12??10?0.10.3?>> syms n

>> A=sym('[2/5,1/5;1/10,3/10]'); x=[1;2];[P,D]=eig(A) P =

x0=input('x0='); for i=1:20; x0=f(x0);

fprintf('%g %g\\n',i,x0); end

结果:初值取-1.1,-1,-0.9,-0.8,0.7时收敛到-1,初值取-0.7,0.8,0.9,1,1.1时收敛到1,初值取-0.6,-0.5,。。。,0.5,0.6时收敛到0;

,3)在(??,?22),(?21/721/7),(22,?)?中分别取初值,最后分别收敛到

-1,1,0;在(21/7,2/2)内有无穷多个收敛到-1的初值小开区间,也有无穷多个收敛到0的小开区间,它们相互交替着;这种状态反射到

(?2/2,?21/7)内,即:在(?2/2,?21/7)内有无穷多个收敛到1的

初值小开区间,也有无穷多个收敛到0的小开区间,它们也是相互交替着,这些小区间与(21/7,2/2)内小开区间对应。

二、1.三次曲线

(a)对k=0及其邻近的k的正值和负值,把f(x)?x?kx的图形画在一个公共屏幕上。

k的值是怎样影响到图形的形状的?

(b)求f?(x),它是一个二次函数。求该二次函数的判别式,对什么样的k值,该判别

式为正?为零?为负?对什么k值f?有两个零点?一个或没有零点?现在请说明k的值对f 图形的形状有什么影响。

(c)对其他的k值做实验。当k???会发生什么情形?当k??呢? 解答: (a)

x=-3:0.01:3; y1=x.^3-0.6*x; y2=x.^3-0.3*x; y3=x.^3;

y4=x.^3+0.3*x; y5=x.^3+3*x;

plot(x,y1,'y',x,y2,'m',x,y3,x,y4,'r',x,y5,'g') grid on

title('综合题第二、1题') 得下图

3综合题第二、1题403020100-10-20-30-40 -3y1 :k=-0.6y2 :k=-0.3y3 :k=0y4 :k=0.3y5 :k=3 -2-10123

可见k值不影响凹凸性,但单调性、单调区间以及极值随k值发生改变;k在0附

近,小于0时,函数在某[-a,a]区间上单调递减,该区间长度随着k值增大而减小,k大于等于0时,函数单调增加。 (b) f?(x)?3x?k;判别式???12k,k为负、零、正时判别式分别为正、零、负;

故k<0时,f?(x)有两个零点,k=0时f?(x)有一个零点,k>0时f?(x)没有零点。

以上说明原函数f(x)的驻点个数随着k值符号而变化,当k由负变正时,驻点由两个变成一个再到没有驻点,相应的单调区间由三个变成一个,单增单减单增,变为单增。

(c) k值越小单减区间长度越大,当k???时,f(x)单减区间变为无穷大对称区间,图形近乎垂直直线;当k??时,单增区间变为无穷大对称区间,图形近乎垂直直线。 2.四次曲线

(a)对k=-4及其邻近的k值,把f(x)?x?kx?6x,?1?x?4的图形画在一个公共屏幕上。k的值是怎样影响到图形的形状的?

(b)求f??(x),它是一个二次函数。求该二次函数的判别式,对什么样的k值,该判别式为

正?为零?为负?对什么k值f??有两个零点?一个或没有零点?现在请说明k的值对f 图形的形状有什么影响。

解答:

(a)x=-1:0.01:4;

y1=x.^4-5*x.^3+6*x.^2; y2=x.^4-4.5*x.^3+6*x.^2; y3=x.^4-4*x.^3+6*x.^2; y4=x.^4-3.5*x.^3+6*x.^2; y5=x.^4-2.5*x.^3+6*x.^2; y6=x.^4+4*x.^3+6*x.^2;

4322plot(x,y1,'y',x,y2,'m',x,y3) hold on

plot(x,y4,'r',x,y5,'g',x,y6,'k') grid on

title('综合题第二、2题') 得下图:

综合题第二、2题7006005004003002001000-100 -1y1 :y=-5y2 :y=-4.5y3 :y=-4y4 :y=-3.5y5 :k=-2.5y6 :k=4 -0.500.511.522.533.54

由图可以看出,在x<1时,图形受k值影响不大,x>1时k值对图形的影响比较显著,通过改变k值画图发现:在-4附近,k小于-4时,曲线在某[a,b](a>0)区间内是上凸的,在其他区间内上凹;k大于-4时,上面的凸区间不存在,也就是曲线总是上凹的。 (b) f??(x)?12x?6kx?12,判别式??36k?576?36(k?4),当k??4时,

判别式为0,也就是|k|?4时f??(x)|k|?4时判别式大于0,|k|?4时判别式小于0;有两个零点,k??4时f??(x)有一个零点|k|?4时f??(x)没有零点。由二阶导数与凹凸性的关系可知,在k=-4附近,(a)中关于曲线凹凸的判断基本上是正确的 三、对于级数

22221,通过下面的步骤探索它的行为 ?32n?1nsinn1,当你试图求limsk时,发生了什么? ?32k??nsinnn?1k?1. 对于其部分和数列sk?解答:用命令sk=symsum(1/n^3/(sin(n))^2,1,k)及limit(sk,k,inf)得不到结果,命令

symsum(1/n^3/(sin(n))^2,1,inf)也得不到结果。这表明极限可能并不存在。 2. 画出部分和数列的前100个点(k,sk),它们是否显示出收敛?你估计极限是多少?

解答:前100个点(k,sk)图形如下

54.543.532.521.510102030405060708090100

上图似乎显示着sk的极限存在,并且极限值约为4.8左右

3. 接着画出部分和数列的前200个点(k,sk),用你自己的话论述部分和数列的行为。

54.543.532.521.51020406080100120140160180200

此图可以更加确定,部分和数列sk的极限是存在的,结论跟2中的一样

4. 画出前400个点(k,sk),当k=355时发生了什么?计算数355/113,通过你的计算解

释当k=355时发生了什么。你猜测对k的什么值同一现象可能还会出现,并通过实验加以验证。

302520151050050100150200250300350400

解答:

此图否定了2与3的推断,因为部分和数列在k=355时发生了跳跃;355/113=3.141592920353983近似等于圆周率?(约为3.141592653589793),也就是355?113?,而sin113?=0,因此sin335的值很小,对应于部分和sk,在k=355时由于分母很小因而得到一个很大的加项,于是图形上的点发生了跳跃。我们可以通过观察或计算?的倍数来获得sk的比较大的加项,由于710=355*2?226?,因此sk在k=710时也会发生跳跃;我们也可直接由命令(1:500)*pi观察1500以内的数哪些接近?的倍数(此略)。

另外,由?的各种分数表示(近似)可知,以上的部分和sk在k=22时也会发生跳跃,因为??22355。同上,当k=44,66,88,110,132等等时,sk也会发生跳?7113跃,但由于误差扩大,跳跃幅度相对应该比较小。

四、通过本课程学习,谈谈你开设对这门课的认识,对教学以及上机实验提出自己的和建议。

本文来源:https://www.bwwdw.com/article/2sgh.html

Top