收藏 分销(赏)

中南大学matlab课后习题.doc

上传人:精**** 文档编号:3076044 上传时间:2024-06-15 格式:DOC 页数:41 大小:822KB 下载积分:14 金币
下载 相关 举报
中南大学matlab课后习题.doc_第1页
第1页 / 共41页
中南大学matlab课后习题.doc_第2页
第2页 / 共41页


点击查看更多>>
资源描述
第二章 1·求下列表达式的值。 (1)w=sqrt(2)*(1+0.34245*10^-6) w = 1.4142 (2)a=3.5;b=5;c=-9.8; x=(2*pi*a+(c+b)/(pi+a*b*c)-exp(2))/(tan(b+c)+a); x x = 0.9829 (3)a=3.32;b=-7.9; y=2*pi*a^2*[(1-pi/4)*b-(0.8333-pi/4)*a]; y y = -128.4271 (4)t=[2,1-3i;5,-0.65]; z=1/2*exp(2*t)*log(t+sqrt(1+t^2)); z z = 1.0e+004 * 0.0057 - 0.0007i 0.0049 - 0.0027i 1.9884 - 0.3696i 1.7706 - 1.0539i 2,已知a,b,求下列表达式的值。 a=[-1,5,-4;0,7,8;3,61,7];b=[8,3,-1;2,5,3;-3,2,0]; (1)a+6*b ans = 47 23 -10 12 37 26 -15 73 7 a^2-b+eye(3) ans = -18 -217 17 22 533 109 21 867 526 (2)a*b ans = 14 14 16 -10 51 21 125 328 180 a.*b ans = -8 15 4 0 35 24 -9 122 0 b*a ans = -11 0 -15 7 228 53 3 -1 28 (3)a/b ans = 1.2234 -0.9255 2.9787 -0.9468 2.3511 -0.9574 4.6170 3.8723 13.8936 b\a ans = -0.5106 -8.6170 -1.1277 0.7340 17.5745 1.8085 -0.8830 -21.2128 0.4043 (4)[a,b] ans = -1 5 -4 8 3 -1 0 7 8 2 5 3 3 61 7 -3 2 0 [a([1,3],:);b^2] ans = -1 5 -4 3 61 7 73 37 1 17 37 13 -20 1 9 3.已知a,完成下列操作。 a=[23,10,-0.778,0;41,-45,65,5;32,5,0,32;6,-9.54,54,3.14]; (1) 输出a在[10,25]范围内的全部元素。 k=find(a>10&a<25) a(k) k = 1 ans = 23 (2)取出a前3行构成矩阵b,前两列构成矩阵c,右下角3*2子矩阵构成矩阵d,b与c的乘积构成矩阵e。 b=a(1:3,:) b = 23.0000 10.0000 -0.7780 0 41.0000 -45.0000 65.0000 5.0000 32.0000 5.0000 0 32.0000 c=a(:,1:2) c = 23.0000 10.0000 41.0000 -45.0000 32.0000 5.0000 6.0000 -9.5400 d=a(2:4,3:4) d = 65.0000 5.0000 0 32.0000 54.0000 3.1400 e=b*c e = 1.0e+003 * 0.9141 -0.2239 1.2080 2.7123 1.1330 -0.2103 (3)分别求表达式额e<d,e&d,e|d和~e|~d的值。 e<d ans = 0 1 0 0 0 1 e&d ans = 1 1 0 1 1 1 e|d ans = 1 1 1 1 1 1 ~e|~d ans = 0 0 1 0 0 0 4,产生5阶希尔伯特矩阵H和5阶帕斯卡矩阵P,且求其行列式的值Hh和Hp以及他们的条件数Th和Tp,判断哪个矩阵性能更好,为什么? format rat H=hilb(5) H = 1 1/2 1/3 1/4 1/5 1/2 1/3 1/4 1/5 1/6 1/3 1/4 1/5 1/6 1/7 1/4 1/5 1/6 1/7 1/8 1/5 1/6 1/7 1/8 1/9 P=pascal(5) P = 1 1 1 1 1 1 2 3 4 5 1 3 6 10 15 1 4 10 20 35 1 5 15 35 70 Hh=det(H) Hh = 1/266716800000 Hp=det(P) Hp = 1 Th=cond(H) Th = 476607 Tp=cond(P) Tp = 178868/21 P矩阵性能更好,因为Tp更接近1. 5.已知A,求A的特征值及特征向量,并分析其数学意义。 A=[-29,6,18;20,5,12;-8,8,5] A = -29 6 18 20 5 12 -8 8 5 [V,D]=eig(A,'nobalance') V = 1 361/1013 493/1574 -1227/1438 -1 1 290/593 551/788 331/713 D = -3595/142 0 0 0 -3755/357 0 0 0 4697/279 第三章 1. 从键盘输入一个3位整数,将它反向输出。如输入639,输出为936. clear m=input('请输入一个三位数:'); m1=fix(m/100); m2=rem(fix(m/10),10); m3=rem(m,10); m=m1+m2*10+m3*100; disp(m); 请输入一个三位数:453 354 2.输入一个百分制成绩,要求输出成绩等级A、B、C、D、E。其中90~100分为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。要求: (1)分别用if语句和switch语句实现。 (2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。 c=input('请输入一个百分制分数:'); if c>=90&c<=100 %用if语句实现 disp('A'); elseif c>=80&c<90 disp('B'); elseif c>=70&c<80 disp('C'); elseif c>=60&c<70 disp('D'); elseif c>=0&c<60 disp('E'); else disp('输入出错'); end 请输入一个百分制分数:88 B c=input('请输入一个百分制分数:'); switch fix(c/10) %用switch语句实现 case{9,10} m='A'; case{8} m='B'; case{7} m='C'; case{6} m='D'; casenum2cell(0:5) m='E'; otherwise m='输入出错'; end disp(m); 请输入一个百分制分数:98 A 3.输入20个数,求其中最大数和最小数。要求分别用循环结构和调用MATLAB的max函数、min函数来实现。 a=input('请输入二十个数'); %用循环结构实现 max=a(1); min=a(1); for i=1:20; if max<a(i); max=a(i); end if min>a(i); min=a(i); end end max min 请输入二十个数[ 3 4 6 5 3 44 5 5 5 6 6 5 5 4 3 32 2 2 2 6] max = 44 min = 2 4.,当a取-3.0、-2.9、-2.8、…、2.8、2.9、3.0时,求各点的函数值。要求分别用顺序结构和循环结构实现。 clear for a=-3.0:0.1:3.0 %用循环结构实现 y=((exp(0.3*a)-exp(-0.3*a))/2)*sin(a+0.3)+log((0.3+a)/2) end y = 0.7388 + 3.1416i y = 0.7696 + 3.1416i y = 0.7871 + 3.1416i y = 0.7913 + 3.1416i y = 0.7822 + 3.1416i y = 0.7602 + 3.1416i y = 0.7254 + 3.1416i y = 0.6784 + 3.1416i y = 0.6196 + 3.1416i y = 0.5496 + 3.1416i y = 0.4688 + 3.1416i y = 0.3780 + 3.1416i y = 0.2775 + 3.1416i y = 0.1680 + 3.1416i y = 0.0497 + 3.1416i y = -0.0771 + 3.1416i y = -0.2124 + 3.1416i y = -0.3566 + 3.1416i y = -0.5104 + 3.1416i y = -0.6752 + 3.1416i y = -0.8536 + 3.1416i y = -1.0497 + 3.1416i y = -1.2701 + 3.1416i y = -1.5271 + 3.1416i y = -1.8436 + 3.1416i y = -2.2727 + 3.1416i y = -2.9837 + 3.1416i y = -37.0245 y = -3.0017 y = -2.3085 y = -1.8971 y = -1.5978 y = -1.3575 y = -1.1531 y = -0.9723 y = -0.8083 y = -0.6567 y = -0.5151 y = -0.3819 y = -0.2561 y = -0.1374 y = -0.0255 y = 0.0792 y = 0.1766 y = 0.2663 y = 0.3478 y = 0.4206 y = 0.4841 y = 0.5379 y = 0.5815 y = 0.6145 y = 0.6366 y = 0.6474 y = 0.6470 y = 0.6351 y = 0.6119 y = 0.5777 y = 0.5327 y = 0.4774 y = 0.4126 y = 0.3388 5.当n分别取100、1000、10000时,求下列各式的值: (1) clear n=input('输入一个数:'); %用循环结构实现 a=0; for i=1:n a=a+1/(i^2); end disp(a); j=1:n; %用sum函数实现 b=sum(1./(j.^2)); 输入一个数:34 b = 1.6160 (2)()()()()(=) clear n=input('输入一个数:'); %用循环结构实现 a=1; for i=1:n a=((2*i*i*2)/((2*i-1)*(2*i+1)))*a; end disp(a); 输入一个数:8 1.5253 6.建立65´矩阵,要求输出矩阵第n行元素。当n值超过矩阵的行数时,自动转为输出矩阵最后一行元素,并给出出错信息。 clear  a=rand(5,6); n=input('请输入一个数:'); if  n>5     n=5      a(n,:)  disp('输入超出范围'); else      a(n,:)  end  请输入一个数:4 ans = 0.7792 0.0119 0.5285 0.6892 0.9133 0.0782 请输入一个数:7 n = 5 ans = 0.4909 0.1112 0.0965 0.0598 0.0430 0.4509 输入超出范围 7.已知 (1)当f(n)=n+10ln(n^2+5)时,y的值是多少。 function a=n2a(n)  a=n+10*log(n*n+5)  y=n2a(40)/(n2a(30)+n2a(20))  a =    113.8088   a =     98.0793 a =      80.0389 y =      0.6390 (2)当f(n)=1*2+2*3+3*4++n*(n+1)时,y的值是多少。 function b=n1b(n)  b=0; for i=1:n  b=b+i*(i+1);  end   y=n1b(40)/(n1b(30)+n1b(20))  y =      1.7662 第四章 1.绘制下列曲线。 (1)y=x- x=-10:0.05:10; y=x-x.^3/6; plot(x,y) (2) x=-10:0.5:10; ezplot('x^2+2*y^2-64',[-8,8]); grid on; 2,设 , -π≤t≤π, 在同一图形窗口采用子图的形式绘制条形图,阶梯图,杆图和对数坐标图等不同图形,并对不同图形加标注说明。 t=-pi:pi/10:pi; y=1./(1+exp(-t)); subplot(2,2,1); bar(t,y); title('条形图(t,y)'); axis([-pi,pi,0,1]); subplot(2,2,2); stairs(t,y,'b'); title('阶梯图(t,y)'); axis([-pi,pi,0,1]); subplot(2,2,3); stem(t,y,'k'); title('杆图(t,y)'); axis([-pi,pi,0,1]); subplot(2,2,4); loglog(t,y,'y'); title('对数坐标图(t,y)'); Warning: Negative data ignored > In title at 42 In title at 23 3.绘制下列极坐标图。 (1) t=0:pi/50:2*pi; r=5.*cos(t)+4; polar(t,r); title('\rho=5*cos\theta+4'); (2), - t=-pi/3:pi/50:pi/3; r=5.*((sin(t)).^2)./cos(t); polar(t,r); 4.绘制下列三维图形。 (1), 0. t=0:pi/50:2*pi; x=exp(-t./20).*cos(t); y=exp(-t./20).*sin(t); z=t; plot3(x,y,z); grid on; (2)z=5,|x|5,|y|5.要求应用插值着色处理。 [x,y]=meshgrid(-5:5); z=zeros(11)+5; mesh(x,y,z); shading interp; 5.播放一个直径不断变化的球体。 [x,y,z]=sphere(20); surf(x,y,z); axis off; shading interp; m=moviein(20); for i=1:20 axis([-i,i,-i,i,-i,i]) m(:,i)=getframe; end movie(m,4); 第五章 1, 利用matlab提供的randn函数生成符合正态分布的10*5随机矩阵A,进行以下操作: (1) A各列元素的均值和标准方差。 (2) A的最大元素和最小元素。 (3) 求A每行元素的和以及全部元素的和。 (4) 分别对A的每列元素按升序,每行元素按降序排列。 A=randn(10,5) x=mean(A) y=std(A) Max=max(max(A)) Min=min(min(A)) Sumhang=sum(A,2) SumA=sum(Sumhang) B=sort(A); C=sort(B,2,'descend'); C A = -0.8637 -1.0891 -0.6156 1.4193 -1.1480 0.0774 0.0326 0.7481 0.2916 0.1049 -1.2141 0.5525 -0.1924 0.1978 0.7223 -1.1135 1.1006 0.8886 1.5877 2.5855 -0.0068 1.5442 -0.7648 -0.8045 -0.6669 1.5326 0.0859 -1.4023 0.6966 0.1873 -0.7697 -1.4916 -1.4224 0.8351 -0.0825 0.3714 -0.7423 0.4882 -0.2437 -1.9330 -0.2256 -1.0616 -0.1774 0.2157 -0.4390 1.1174 2.3505 -0.1961 -1.1658 -1.7947 x = -0.1095 0.1282 -0.2646 0.3030 -0.2464 y = 0.9264 1.2631 0.8129 0.8842 1.3151 Max = 2.5855 Min = -1.9330 Sumhang = -2.2970 1.2545 0.0661 5.0489 -0.6988 1.1002 -2.9310 -2.0595 -1.6878 0.3112 SumA = -1.8932 C = -1.1658 -1.2141 -1.4224 -1.4916 -1.9330 -0.8045 -1.0891 -1.1135 -1.4023 -1.7947 -0.2437 -0.7648 -0.8637 -1.0616 -1.1480 0.1978 -0.6156 -0.6669 -0.7423 -0.7697 0.2157 0.0326 -0.1961 -0.2256 -0.4390 0.2916 0.0859 -0.0068 -0.0825 -0.1924 0.6966 0.5525 0.1049 0.0774 -0.1774 1.1006 0.8351 0.4882 0.3714 0.1873 1.5442 1.4193 1.1174 0.7481 0.7223 2.5855 2.3505 1.5877 1.5326 0.8886 2,按要求对指定函数进行插值和拟合。 (1) 按表一所示用三次样条方法插值计算0~90°内整数点的正弦值和0~75°内整数点的正切值,然后用5次多项式拟合方法计算相同的函数值,并将两种计算结果进行比较。 (2) 按表二所示用3次多项式方法插值计算1~100之间整数的平方根。 表一 特殊角的正弦与正切值表 α(度) 0 15 30 45 60 75 90 sinα 0 0.2588 0.5000 07071 0.8660 0.9659 1.0000 tanα 0 0.2679 0.5774 1.0000 1.7320 3.7320 表二 1~100内特殊值的平方根表 N 1 4 9 16 25 36 49 64 81 100 √N 1 2 3 4 5 6 7 8 9 10 a=0:15:90; b=a./180.*pi; s=sin(b) c=0:15:75; d=c./180.*pi; t=tan(d) e=input('请输入想计算的值:'); S=sin(e/180*pi) T=tan(e/180*pi) S1=interp1(a,s,e,'spline') T1=interp1(c,t,e,'spline') P1=polyfit(a,s,5); P2=polyfit(c,t,5); S2=polyval(P1,e) T2=polyval(P2,e) s = 0 0.2588 0.5000 0.7071 0.8660 0.9659 1.0000 t = 0 0.2679 0.5774 1.0000 1.7321 3.7321 请输入想计算的值:S = 0.8660 T = 1.7321 S1 = 0.8660 T1 = 1.7321 S2 = 0.8660 T2 = 1.7321 (2) n=[1,9,16,25,36,49,64,81,100]; N=sqrt(n); x=input('计算值 : '); interp1(n,N,x,'cubic') 计算值 : ans = 5 3,已知h(t)=e^-t,t≥0,取N=64,对t从0~5秒采样,用FFT作快速傅里叶变换,并绘制相应的振幅——频率图。 N=64; T=5; t=linspace(0,T,N); h=exp(-t); dt=t(2)-t(1); f=1/dt; X=fft(t); F=X(1:N/2+1); f=f*(0:N/2)/N; plot(f,abs(F),'-*') 4,有两个多项式P(x)=2x^4-3x^3+5x+13,Q(x)=x^2+5x+8,试求P(x),P(x)Q(x)以及P(x)/Q(x)的导数。 P=[2,-3,0,5,13]; Q=[1,5,8]; p=polyder(P) q=polyder(P,Q) [a,b]=polyder(P,Q) p = 8 -9 0 5 q = 12 35 4 -57 76 105 a = 4 27 34 -77 -26 -25 b = 1 10 41 80 64 5,有3个多项式P1(x)=x^4+2x^3+4x^2+5,P2(x)=x+2,P3(x)=x^2+2x+3,试进行下列操作: (1) 求P(x)=P1(x)+P2(x)P3(x)。 (2) 求P(x)的根。 (3) 当x取矩阵A的每一元素时,求P(x)的值。其中 A=-1 1.2 -1.4 0.75 2 3.5 0 5 2.5 (4) 当以矩阵A为自变量时,求P(x)的值。其中A的值与(3)相同。 P1=[1,2,4,0,5]; P2=[0,1,2]; P3=[1,2,3]; P=P1+conv(P2,P3) X=roots(P) A=[-1,1.2,-1.4;0.75,2,3.5;0,5,2.5]; p=polyval(P,A) ??? Undefined function or variable 'x'. 第六章 1,下面是一个线性病态方程组: *= (1) 求方程的解。 (2) 将方程右边向量元素b3改为0.53,再求解,并比较b3的变化和解的相对变化。 (3) 计算系数矩阵A的条件数并分析结论。 A=[1/2,1/3,1/4;1/3,1/4,1/5;1/4,1/5,1/6]; p=[0.95,0.67,0.52]'; x=A\p A=[1/2,1/3,1/4;1/3,1/4,1/5;1/4,1/5,1/6]; p=[0.95,0.67,0.53]'; x=A\p cond(A) x = 1.2000 0.6000 0.6000 x = 3.0000 -6.6000 6.6000 ans = 1.3533e+003 2,求下列方程的解。 (1) function fx=fun(x) fx=x.^41+x.^3+1; x0=fzero('fun',-1) x0 = -0.9525 (2) x-=0,x0=0.5 function fx=fun(x) fx=x-sin(x)/x; x0=fzero('fun',-1) x0 = 0.8767 (3) ,初值x0=1,y0=1,z0=1. function q=myfun(d) x=d(1) y=d(2) z=d(3) q(1)=sin(x)+y^2+log(z)-7; q(2)=3*x+2^y-z^3+1; q(3)=x+y+z-5 options=optimset('Display','off'); x=fsolve(@myfun,[1,1,1]',options) 4,求函数在指定区间的最大值。 ,x∈(0,2) function [x y]=qiujizhi() h=0.00001; %%解的精度 x=0.6; y=(1+x^2)/(1+x^4); while (1+(x+h)^2)/(1+(x+h)^4) > y x=x+h; y=(1+x^2)/(1+x^4); end fprintf('极大值时x取值%5.20d,极大值时y=,%5.20d',x,y); 极大值时x取值6.43589999999801600000e-001,极大值时y=,1.20710678115567080000e+000ans = 0.6436 5,设有400万元资金,要求4年内使用完,若在一年内使用资金x万元,则可得效益√x万元(效益不能再使用),当年不用的资金可存入银行,年利率为10%。试制定出资金的使用计划,以使4年效益之和最大。 (1) 先建立M文件 fun4.m,定义目标函数:  function f=fun4(x)  f=-(sqrt(x(1))+sqrt(x(2))+sqrt(x(3))+sqrt(x(4)));  (2) 再建立M文件mycon.m定义非线性约束:        function [g,ceq]=mycon(x)        g(1)=x(1)-400;  g(2)=1.1*x(1)+x(2)-440;  g(3)=1.21*x(1)+1.1*x(2)+x(3)-484;  g(4)=1.331*x(1)+1.21*x(2)+1.1*x(3)+x(4)-532.4; ceq=0  (3) 主程序youh4.m为:  x0=[1;1;1;1]; vlb=[0;0;0;0]; vub=[]; A=[]; b=[]; Aeq=[]; beq=[];  [x,fval]=fmincon('fun4',x0,A,b,Aeq,beq,vlb,vub,'mycon') x = 86.2973 103.7455 127.0954 152.2013 fval = -43.0858 第七章 1,求定积分。 (1) I= (2) I= (1) format long fx=inline('sin(x)./x'); [I,n]=quadl(fx,0,2,1e-10) I = 1.605412976793583 n = 19 (2)format long fx=inline('1./((x-0.3).^2+0.01)-1./((x-0.9).^2+0.04)-6'); [I,n]=quad(fx,0,1,1e-10) I = 11.700575496289522 n = 985 2,求二重定积分。 (1) global ki; ki=0; I=dblquad(@fxy,0,1,0,1) k
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服