南邮MATLAB数学实验规范标准答案(全).doc

举报
资源描述
*- 第一次练习 教学要求:熟练掌握Matlab软件的基本命令和操作,会作二维、三维几何图形,能够用Matlab软件解决微积分、线性代数与解析几何中的计算问题。 补充命令 vpa(x,n) 显示x的n位有效数字,教材102页 fplot(‘f(x)’,[a,b]) 函数作图命令,画出f(x)在区间[a,b]上的图形 在下面的题目中为你的学号的后3位(1-9班)或4位(10班以上) 1.1 计算与 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 ,求 syms 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 计算 dblquad(@(x,y) exp(x.^2+y.^2),0,1,0,1) ans = 2.1394 1.4 计算 syms x int(x^4/(902^2+4*x^2)) ans = (91733851*atan(x/451))/4 - (203401*x)/4 + x^3/12 1.5 syms x diff(exp(x)*cos(902*x),10) ans = -356485076957717053044344387763*cos(902*x)*exp(x)-3952323024277642494822005884*sin(902*x)*exp(x) 1.6 给出在的泰勒展式(最高次幂为4). syms 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数列的定义是用循环语句编程给出该数列的前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 1.8 对矩阵,求该矩阵的逆矩阵,特征值,特征向量,行列式,计算,并求矩阵(是对角矩阵),使得。 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 [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进行函数作图): m文件: 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.10 在同一坐标系下作出下面两条空间曲线(要求两条曲线用不同的颜色表示) (1) (2) 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.11 已知,在MATLAB命令窗口中建立A、B矩阵并对其进行以下操作: (1) 计算矩阵A的行列式的值 (2) 分别计算下列各式: 解: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 1.12 已知分别在下列条件下画出的图形: (1),分别为(在同一坐标系上作图); (2),分别为(在同一坐标系上作图). (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) grid on title(第1.12题) (2) z1=h(0,1,x);z2=h(0,2,x);z3=h(0,4,x); z4=h(0,902/100,x); plot(x,z1,x,z2,y,x,z3,m,x,z4, g) grid on title(第1.12题) z1=h(0,1,x);z2=h(0,2,x);z3=h(0,4,x); z4=h(0,902/100,x); 1.13 作出的函数图形。 x=-10:0.2:10;y=x; [X Y]=meshgrid(x,y);Z=902*X.^2+Y.^4; mesh(X,Y,Z); title(第1.13题) 1.14对于方程,先画出左边的函数在合适的区间上的图形,借助于软件中的方程求根的命令求出所有的实根,找出函数的单调区间,结合高等数学的知识说明函数为什么在这些区间上是单调的,以及该方程确实只有你求出的这些实根。最后写出你做此题的体会。 解:作图程序:(注:x范围的选择是经过试探而得到的) x=-1.7:0.02:1.7;y=x.^5-902/200*x-0.1; plot(x,y);grid on; title(第1.14题) 由图形观察,在x=-1.5,x=0,x=1.5附近各有一个实根 solve(x^5-902/200*x-0.1) ans = -1.4516870267499636199995749888894 -0.022172950190557703188753959027919 1.4627751059480654637229232196174 1.4573364935933870280941533926624*i + 0.0055424354962279297327028641499658 0.0055424354962279297327028641499658 - 1.4573364935933870280941533926624*i 三个实根的近似值分别为:-1.4517,-0.0222,1.4628 由图形可以看出,函数在区间单调上升,在区间单调下降,在区间单调上升。 syms x diff(x^5-902/200*x-0.1,x) 结果为5*x^4-4.51 solve(5*x^4-902/200) ans = -(451^(1/4)*500^(3/4))/500 (451^(1/4)*500^(3/4))/500 -(451^(1/4)*500^(3/4)*i)/500 (451^(1/4)*500^(3/4)*i)/500 vpa(ans) ans = -0.97454440927373918149075795211629 0.97454440927373918149075795211629 -0.97454440927373918149075795211629*i 0.97454440927373918149075795211629*i 得到两个实根:-0.9745与0.9745 可以验证导函数在内为正,函数单调上升 导函数在内为负,函数单调下降 导函数在内为正,函数单调上升 根据函数的单调性,最多有3个实根。 1.15 求的所有根。(先画图后求解)(要求贴图) 作图命令:(注:x范围的选择是经过试探而得到的) x=-5:0.001:15;y=exp(x)-3*902*x.^2; plot(x,y);grid on; title(第1.15题图) 得到下图 进一步细化 x=-0.05:0.0001:0.05;y=exp(x)-3*902*x.^2; plot(x,y);grid on; title(第1.15题图) x=10:0.001:15;y=exp(x)-3*902*x.^2; plot(x,y);grid on; title(第1.15题图) 可看出解在-0.02,0.02,13附近,进一步求得 fzero(exp(x)-3*902*x^2,0.02) ans = 0.0194 fzero(exp(x)-3*902*x^2,-0.02) ans = -0.0190 fzero(exp(x)-3*902*x^2,13) ans = 13.0391 第二次练习 教学要求:要求学生掌握迭代、混沌的判断方法,以及利用迭代思想解决实际问题。 2.1 设,数列是否收敛?若收敛,其值为多少?精确到8位有效数字。 解:程序代码如下(m=902): f=inline((x+902/x)/2); x0=3; for i=1:20; x0=f(x0); fprintf(%g %8f\n,i,x0); end 1 151.833333 2 78.887029 3 45.160551 4 32.566867 5 30.131864 6 30.033476 7 30.033315 8 30.033315 9 30.033315 …… 19 30.033315 20 30.033315 由运行结果可以看出,,数列收敛,其值为30.03315。 2.2 求出分式线性函数的不动点,再编程判断它们的迭代序列是否收敛。 解:取m=1000. (1)程序如下: f=inline((x-1)/(x+1000)); x0=2; for i=1:20; x0=f(x0); fprintf(%g,%g\n,i,x0); end 运行结果: 1,0.000998004 11,-0.001001 2,-0.000999001 12,-0.001001 3,-0.001001 13,-0.001001 4,-0.001001 14,-0.001001 5,-0.001001 15,-0.001001 6,-0.001001 16,-0.001001 7,-0.001001 17,-0.001001 8,-0.001001 18,-0.001001 9,-0.001001 19,-0.001001 10,-0.001001 20,-0.001001 由运行结果可以看出,,分式线性函数收敛,其值为-0.001001。易见函数的不动点为-0.001001(吸引点)。 (2)程序如下: f=inline((x+1000000)/(x+1000)); x0=2; for i=1:20; x0=f(x0); fprintf(%g,%g\n,i,x0); end 运行结果: 1,998.006 11,618.332 2,500.999 12,618.302 3,666.557 13,618.314 4,600.439 14,618.309 5,625.204 15,618.311 6,615.692 16,618.31 7,619.311 17,618.311 8,617.929 18,618.31 9,618.456 19,618.31 10,618.255 20,618.31 由运行结果可以看出,,分式线性函数收敛,其值为618.31。易见函数的不动点为618.31(吸引点)。 2.3 下面函数的迭代是否会产生混沌?(56页练习7(1)) 解:程序如下: f=inline(1-2*abs(x-1/2)); x=[]; y=[]; x(1)=rand(); y(1)=0;x(2)=x(1);y(2)=f(x(1)); for i=1:100; x(1+2*i)=y(2*i); x(2+2*i)=x(1+2*i); y(2+2*i)=f(x(2+2*i)); end plot(x,y,r); hold on; syms x; ezplot(x,[0,1/2]); ezplot(f(x),[0,1]); axis([0,1/2,0,1]); hold off 运行结果: 2.4 函数称为Logistic映射,试从“蜘蛛网”图观察它取初值为产生的迭代序列的收敛性,将观察记录填人下表,若出现循环,请指出它的周期.(56页练习8) 3.3 3.5 3.56 3.568 3.6 3.84 序列收敛情况 T=2 T=4 T=8 T=9 混沌 混沌 解:当=3.3时,程序代码如下: f=inline(3.3*x*(1-x)); x=[]; y=[]; x(1)=0.5; y(1)=0;x(2)=x(1);y(2)=f(x(1)); for i=1:1000; x(1+2*i)=y(2*i); x(2+2*i)=x(1+2*i); y(1+2*i)=x(1+2*i); y(2+2*i)=f(x(2+2*i)); end plot (x,y,r); hold on; syms x; ezplot(x,[0,1]); ezplot(f(x),[0,1]); axis([0,1,0,1]); hold off运行结果: 当=3.5时,上述程序稍加修改,得: 当=3.56时,得: 当=3.568时,得: 当=3.6时,得: 当=3.84时,得: 2.5 对于Martin迭代,取参数为其它的值会得到什么图形?参考下表(取自63页练习13) m m m -m -m m -m m/1000 -m m/1000 m/1000 0.5 m/1000 m -m m/100 m/10 -10 -m/10 17 4 解:取m=10000;迭代次数N=20000; 在M-文件里面输入代码: function Martin(a,b,c,N) f=@(x,y)(y-sign(x)*sqrt(abs(b*x-c))); g=@(x)(a-x); m=[0;0]; for n=1:N m(:,n+1)=[f(m(1,n),m(2,n)),g(m(1,n))]; end plot(m(1,:),m(2,:),kx); axis equal 在命令窗口中执行Martin(10000,10000,10000,20000),得: 执行Martin(-10000,-10000,10000,20000),得: 执行Martin(-10000,10,-10000,20000),得: 执行Martin(10,10,0.5,20000),得: 执行Martin(10,10000,-10000,20000),得: 执行Martin(100,1000,-10,20000),得: 执行Martin(-1000,17,4,20000),得: 2.6 能否找到分式函数(其中是整数),使它产生的迭代序列(迭代的初始值也是整数)收敛到(对于为整数的学号,请改为求)。如果迭代收敛,那么迭代的初值与收敛的速度有什么关系.写出你做此题的体会. 提示:教材54页练习4的一些分析。 若分式线性函数的迭代收敛到指定的数,则为的不动点,因此 化简得:。 若为整数,易见。 取满足这种条件的不同的以及迭代初值进行编。 解:迭代收敛到指定的数,则为的不动点,所以 =,解得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 第三次练习 教学要求:理解线性映射的思想,会用线性映射和特征值的思想方法解决诸如天气等实际问题。 3.1 对,,求出的通项. >> 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 对于练习1中的,,求出的通项. >> syms n >> A=sym([2/5,1/5;1/10,3/10]); x=[1;2];[P,D]=eig(A) P = [ -1, 2] [ 1, 1] D = [ 1/5, 0] [ 0, 1/2] >> An=P*D^n*inv(P) An = [ (2*(1/2)^n)/3 + (1/5)^n/3, (2*(1/2)^n)/3 - (2*(1/5)^n)/3] [ (1/2)^n/3 - (1/5)^n/3, (1/2)^n/3 + (2*(1/5)^n)/3] xn = 2*(1/2)^n - (1/5)^n (1/2)^n + (1/5)^n 3.3 对随机给出的,观察数列.该数列有极限吗? >> A=[4,2;1,3]; a=[]; x=2*rand(2,1)-1; for i=1:20 a(i,1:2)=x; x=A*x; end for i=1:20 if a(i,1)==0 else t=a(i,2)/a(i,1); fprintf(%g,%g\n,i,t); end end 结论:在迭代17次后,发现数列存在极限为0.5 3.4 对120页中的例子,继续计算.观察及的极限是否存在. (120页练习9) >> A=[2.1,3.4,-1.2,2.3;0.8,-0.3,4.1,2.8;2.3,7.9,-1.5,1.4;3.5,7.2,1.7,-9.0]; x0=[1;2;3;4]; x=A*x0; for i=1:1:100 a=max(x); b=min(x); m=a*(abs(a)>abs(b))+b*(abs(a)<=abs(b)); y=x/m; x=A*y; end x %也可以用fprintf(‘%g\n’,x1),不能把x1,y一起输出 y m 程序输出: x1 = 0.9819 3.2889 -1.2890 -11.2213 y = -0.0875 -0.2931 0.1149 1.0000 m = -11.2213 结论:及的极限都存在. 3.5 求出的所有特征值与特征向量,并与上一题的结论作对比. (121页练习10) >> A=[2.1,3.4,-1.2,2.3;0.8,-0.3,4.1,2.8;2.3,7.9,-1.5,1.4;3.5,7.2,1.7,-9.0]; [P,D]=eig(A) P = -0.3779 -0.8848 -0.0832 -0.3908 -0.5367 0.3575 -0.2786 0.4777 -0.6473 0.2988 0.1092 -0.7442 -0.3874 -0.0015 0.9505 0.2555 D = 7.2300 0 0 0 0 1.1352 0 0 0 0 -11.2213 0 0 0 0 -5.8439 结论:A的绝对值最大特征值等于上面的的极限相等,为什么呢? 还有,P的第三列也就是-11.2213对应的特征向量和上题求解到的y也有系数关系,两者都是-11.2213的特征向量。 3.6 设,对问题2求出若干天之后的天气状态,并找出其特点(取4位有效数字). (122页练习12) >> A2=[3/4,1/2,1/4;1/8,1/4,1/2;1/8,1/4,1/4]; P=[0.5;0.25;0.25]; for i=1:1:20 P(:,i+1)=A2*P(:,i); end P P = Columns 1 through 10 0.5000 0.5625 0.5938 0.6035 0.6069 0.6081 0.6085 0.6086 0.6087 0.6087 0.2500 0.2500 0.2266 0.2207 0.2185 0.2178 0.2175 0.2174 0.2174 0.2174 0.2500 0.1875 0.1797 0.1758 0.1746 0.1741 0.1740 0.1739 0.1739 0.1739 Columns 11 through 20 0.6087 0.6087 0.6087 0.6087 0.6087 0.6087 0.6087 0.6087 0.6087 0.6087 0.2174 0.2174 0.2174 0.2174 0.2174 0.2174 0.2174 0.2174 0.2174 0.2174 0.1739 0.1739 0.1739 0.1739 0.1739 0.1739 0.1739 0.1739 0.1739 0.1739 Column 21 0.6087 0.2174 0.1739 结论:9天后,天气状态趋于稳定P*=(0.6087,0.2174,0.1739)T 3.7 对于问题2,求出矩阵的特征值与特征向量,并将特征向量与上一题中的结论作对比. (122页练习14) >> A2=[3/4,1/2,1/4;1/8,1/4,1/2;1/8,1/4,1/4]; [P,D]=eig(A2) P = -0.9094 -0.8069 0.3437 -0.3248 0.5116 -0.8133 -0.2598 0.2953 0.4695 D = 1.0000 0 0 0 0.3415 0 0 0 -0.0915 分析:事实上,q=k(-0.9094, -0.3248, -0.2598)T均为特征向量,而上题中P*的3个分量之和为1,可令k(-0.9094, -0.3248, -0.2598)T=1,得k=-0.6696.有q=(0.6087, 0.2174, 0.1739),与P*一致。 3.8对问题1,设为的两个线性无关的特征向量,若 ,具体求出上述的,将表示成的线性组合,求的具体表达式,并求时的极限,与已知结论作比较. (123页练习16) >> A=[3/4,7/18;1/4,11/18]; [P,D]=eig(A); syms k pk; a=solve(‘u*P(1,1)+v*P(1,2)-1/2’,’u*P(2,1)+v*P(2,2)-1/2’,’u’,’v’); pk=a.u*D(1,1).^k*P(:,1)+a.v*D(2,2).^k*P(:,2) pk = -5/46*(13/36)^k+14/23 5/46*(13/36)^k+9/23 或者: p0=[1/2;1/2]; [P,D]=eig(sym(A)); B=inv(sym(P))*p0 B = 5/46 9/23 syms k pk=B(1,1)*D(1,1).^k*P(:,1)+B(2,1)*D(2,2).^k*P(:,2) pk = -5/46*(13/36)^k+14/23 5/46*(13/36)^k+9/23 >> vpa(limit(pk,k,100),10) ans = .6086956522 .3913043478 结论:和用练习12中用迭代的方法求得的结果是一样的。 第四次练习 教学要求:会利用软件求勾股数,并且能够分析勾股数之间的关系。会解简单的近似计算问题。 4.1 求满足,的所有勾股数,能否类似于(11.8),把它们用一个公式表示出来? 解法程序1:for b=1:998 a=sqrt((b+2)^2-b^2); if(a==floor(a)) fprintf(a=%i,b=%i,c=%i\n,a,b,b+2) end end 运行结果: a=4,b=3,c=5 a=6,b=8,c=10 a=8,b=15,c=17 a=10,b=24,c=26 a=12,b=35,c=37 a=14,b=48,c=50 a=16,b=63,c=65 a=18,b=80,c=82 a=20,b=99,c=101 a=22,b=120,c=122 a=24,b=
展开阅读全文
相关搜索
温馨提示:
taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。

当前位置:首页 > 教育专区 > 教案示例


本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁