中南大学matlab课后习题11.docx
- 文档编号:8824890
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:75
- 大小:1.55MB
中南大学matlab课后习题11.docx
《中南大学matlab课后习题11.docx》由会员分享,可在线阅读,更多相关《中南大学matlab课后习题11.docx(75页珍藏版)》请在冰豆网上搜索。
中南大学matlab课后习题11
MATLAB程序设计
上机练习课后题
电科1202班行晓慧学号1404120229
电科1202班羊月妹学号1404120304
电科1202班周悦学号1404120316
第一章
一实验内容
1.打开软件,按照步骤:
File - Set Path - Add Folder - save 在盘中建立一个名为matlab的工作目录,然后在命令窗口运行>>help命令查询所设置的工作目录,观察结果。
2.源代码
例1-1
x=[0:
0.5:
360]*pi/180;
plot(x,sin(x),x,cos(x));
例1-2
p=[3,7,9,0,-23];
x=roots(p)
例1-3
①quad('x.*log(1+x)',0,1)
②symsx
int(x*log(1+x),0,1)
例1-4
1a=[2,-3,1;8,3,2;45,1,-9];
b=[4;2;17];
x=inv(a)*b
2symsxyz
[x,y,z]=solve(2*x-3*y+z-4,8*x+3*y+2*z-2,45*x+y-9*z-17)
MATLAB的主要优点:
编程效率高;用户使用方便;扩展能力强,交互性好;移植性和开发性好;语句简单,内涵丰富;高效方便的矩阵和数组运算;方便的绘图功能。
3.利用MATLAB的帮助功能,查询了解到inv 、plot、 max 、round等函数的功能与用法如下:
Inv取矩阵的逆。
Plot绘制平面图
INV Matrix inverse.PLOTLinear plot. Max 求最大值 help round 四舍五入
MAXLargest component.ROUND Round towards nearest integer.
4.x=0:
pi/10:
2*pi;
y=sin(x);
y的图形如图:
纵轴是y的值,x是将【0:
2pi】分为20等分
思考练习:
1.①启动MATLAB系统有3种常见方法:
(1)使用Windows“开始”菜单。
(2)运行MATLAB系统启动程序matlab.exe。
(3)利用快捷方式。
2要退出MATLAB系统,也有3种常见方法:
(1)在MATLAB主窗口File菜单中选中ExitMATLAB命令。
(2)在MATLAB命令窗口输入Exit或Quit命令。
(3)单击MATLAB主窗口的“关闭”按钮。
2.matlab的主要功能
数值计算、符号计算、优化工具、数据分析和可视化功能、工具箱和非线性动态系统建模和仿真
3.如果一个MATLAB命令包含的字符很多,需要分成多行输入,只要同时按下shift和Enter键即可。
4.Lookfor与help的区别:
在所有M文件中找“关键词”,比如:
lookfor max, 而help是显示matlab内置的帮助信息,比如 help inv。
5.在Matlab环境下,同名变量与M文件的执行问题:
% 可以调用,为了避开当前工作间(Worrkspace),采用函数调用方式 function runfac(fname)
run fname % 保存为 runfac.m
.........
>>runfac(fac)
第二章
实验指导
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+(b+c)/(pi+a*b*c)-exp
(2))/(tan(b+c)+a)
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=-128.4271
(4)t=[2,1-3i;5,-0.65];
z=0.5*exp(2*t)*log(t+sqrt(1+t*t))
z=
1.0e+004*
0.0048+0.0002i0.0048-0.0034i
1.58992.0090-1.3580i
2.
(1)
(2)(3)
>>A=[-1,5,-4;0,7,8;3,61,7];
B=[8,3,-1;2,5,3,;-3,2,0];
>>Y1=A+6*B
Y1=
4723-10
123726
-15737
>>Y2=A*A-B+1
Y2=
-18-21618
23533110
22868526
>>Y3=A*B
Y3=
141416
-105121
125328180
>>Y4=A.*B
Y4=
-8154
03524
-91220
>>Y5=A/B
Y5=
1.2234-0.92552.9787
-0.94682.3511-0.9574
4.61703.872313.8936
>>Y6=B\A
Y6=
-0.5106-8.6170-1.1277
0.734017.57451.8085
-0.8830-21.21280.4043
>>Y7=[A,B]
Y7=
-15-483-1
078253
3617-320
>>Y8=[A([1,3],:
);B^2]
Y8=
-15-4
3617
73371
173713
-2019
>>
3.A=[23,10,-0.778,0;41,-45,65,5;32,5,0,32;6,-9.54,54,3.14];
k=find(A>=10&A<=25)
A(k)
B=A(1:
3,:
)
C=A(:
1:
2)
D=A(2:
4,3:
4)
E=B*C
E E&D E|D ~E|~D k= 1 5 ans= 23 10 B= 23.000010.0000-0.77800 41.0000-45.000065.00005.0000 32.00005.0000032.0000 C= 23.000010.0000 41.0000-45.0000 32.00005.0000 6.0000-9.5400 D= 65.00005.0000 032.0000 54.00003.1400 E= 1.0e+003* 0.9141-0.2239 1.20802.7123 1.1330-0.2103 ans= 01 00 01 ans= 11 01 11 ans= 11 11 11 ans= 00 10 00 >> 4.H=hilb(5); P=pascal(5); Hh=det(H) Hh=3.7493e-012 Hp=det(P) Hp=1 Th=cond(H) Th=4.7661e+005 Tp=cond(P) Tp=8.5175e+003 条件数越趋近于1,矩阵的性能越好,所以帕斯卡矩阵性能更好。 5.A=[-29,6,18;20,5,12;-8,8,5] A= -29618 20512 -885 [V,D]=eig(A) V= 0.71300.28030.2733 -0.6084-0.78670.8725 0.34870.55010.4050 D= -25.316900 0-10.51820 0016.8351 V为A的特征向量,D为A的特征值。 它们之间满足A*V=V*D 思考练习 1.在MATLAB中6+7i是一个复数常量,6+7*i则是一个表达式。 i是虚数单位,而I是单位向量。 2.A.*B表示A和B单个元素之间对应相乘,A*B是按矩阵乘法的规则乘。 A./B表示A矩阵除以B矩阵的对应元素,B.\A等价于A./B。 A/B表示A*inv(B)而B\A表示inv(B)*A,对于矩阵运算一般两式不等。 3. (1)A(7)=[] (2)abs(x) (3)reshape(x,3,4) (4)k=find(t==0);t(k)=0 (5)ones(size(A)) (6)diag(A) B=diag(diag(A)) 4.3+randn(25,20) 5. (1)A=[1,-1,2,3;5,1,-4,2;3,0,5,2;11,15,0,9]; D=diag(A) B=triu(A) C=tril(A) E=inv(A) F=det(A) r=rank(A) a1=norm(A,1) a2=norm(A) ainf=norm(A,inf) C1=cond(A) trace(A) D= 1 1 5 9 B= 1-123 01-42 0052 0009 C= 1000 5100 3050 111509 E= -0.17580.16410.2016-0.0227 -0.1055-0.1016-0.03910.0664 -0.0508-0.08590.15160.0023 0.3906-0.0313-0.18130.0281 F= 1280 r= 4 a1= 20 a2= 21.3005 ainf= 35 C1= 11.1739 ans= 16 (2)A=[0.43,43,2;-8.9,4,21]; D=diag(A) B=triu(A) C=tril(A) r=rank(A) a1=norm(A,1) a2=norm(A) ainf=norm(A,inf) C1=cond(A) trace(A) D= 1 1 5 9 B= 1-123 01-42 0052 0009 C= 1000 5100 3050 111509 r= 4 a1= 20 a2= 21.3005 ainf= 35 C1= 11.1739 ans= 16 6.A=[34,NaN,Inf,-Inf,-pi,eps,0]; all(A) ans=0 any(A) ans=1 isnan(A) ans=0100000 isinf(A) ans=0011000 isfinite(A) ans=1000111 7.结构矩阵建立P46 结构矩阵名.成员名=表达式 单元矩阵建立P47 矩阵元素用大括号括起来。 8.用稀疏存储方式可以可以节省内存空间;运算规则上,稀疏矩阵与普通矩阵一样,只是矩阵的存储方式不同。 在运算过程中,稀疏存储矩阵可以直接参与运算。 当参与运算的对象不全是稀疏存储矩阵时,所得结果一般是完全存储形式。 第三章; 实验指导; 1、n=input('请输入一个三位数: '); a=fix(n/100); b=fix((n-a*100)/10); c=n-a*100-b*10; d=c*100+b*10+a 2 (1) n=input('请输入成绩'); switchn casenum2cell(90: 100) p='A'; casenum2cell(80: 89) p='B'; casenum2cell(70: 79) p='C'; casenum2cell(60: 69) p='D'; otherwise p='E'; end price=p (2)n=input('请输入成绩'); ifn>=90&n<=100 p='A'; elseifn>=80&n<=89 p='B'; elseifn>=70&n<=79 p='C'; elseifn>=60&n<=69 p='D'; else p='E'; end price=p (3)try n; catch price='erroe' end 3 n=[1,5,56,4,3,476,45,6,3,76,45,6,4,3,6,4,23,76,908,6]; a=n (1); b=n (1); form=2: 20 ifn(m)>a a=n(m); elseifn(m) b=n(m); end end max=a min=b 法2 n=[1,5,56,4,3,476,45,6,3,76,45,6,4,3,6,4,23,76,908,6]; min=min(n) max=max(n) 4 b=[-3.0: 0.1: 3.0]; forn=1: 61 a=b(n); y(n)=(exp(0.3*a)-exp(-0.3*a))/2*sin(a+0.3)+log((0.3+a)/2); end y 5 y1=0; y2=1; n=input('请输入n的值: '); fori=1: n y1=y1+1/i^2; y2=y2*((4*i*i)/((2*i-1)*(2*i+1))); end y1 y2 6 A=[1,1,1,1,1,1;2,2,2,2,2,2;3,3,3,3,3,3;4,4,4,4,4,4;5,5,5,5,5,5;6,6,6,6,6,6]; n=input('请输入n的值: '); ifn<=5&n>=0 disp(A([n],: )); elseifn<0 disp(lasterr); elsedisp(A([6],: )); disp(lasterr); end 7 (1) f=[]; forn=1: 40 f(n)=n+10*log(n^2+5); end y=f(40)/(f(30)+f(20)) (2) f=[];a=0; forn=1: 40 f(n)=a+n*(n+1); a=f(n); end y=f(40)/(f(30)+f(20)) 8 y=0; m=input('输入m的值: '); n=input('输入n值: '); fori=1: n y=y+i^m; end y ************************************************************ functions=shi8_1(n,m) s=0; fori=1: n s=s+i^m; end ************************************************************ shi8_1(100,1)+shi8_1(50,2)+shi8_1(10,1/2) 思考练习 1 用MATLAB语言编写的程序,称为M文件。 为建立新的M文件,启动MATLAB文本编辑器有3种方法: (1)菜单操作。 从MATLAB主窗口的File菜单中选择New菜单项,再选择M-file命令,屏幕上将出现MATLAB文本编辑器窗口。 (2)命令操作。 在MATLAB命令窗口输入命令edit,启动MATLAB文本编辑器后,输入M文件的内容并存盘。 (3)命令按钮操作。 单击MATLAB主窗口工具栏上的NewM-File命令按钮,启动MATLAB文本编辑器后,输入M文件的内容并存盘。 打开已有的M文件,也有3种方法: (1)菜单操作。 从MATLAB主窗口的File菜单中选择Open命令,则屏幕出现Open对话框,在Open对话框中选中所需打开的M文件。 在文档窗口可以对打开的M文件进行编辑修改,编辑完成后,将M文件存盘。 (2)命令操作。 在MATLAB命令窗口输入命令: edit文件名,则打开指定的M文件。 (3)命令按钮操作。 单击MATLAB主窗口工具栏上的OpenFile命令按钮,再从弹出的对话框中选择所需打开的M文件。 2 N=[1,2,3,4,5]; 2.*N N./2 1./N 1./N.^2 3 s=fix(100*rand(1,20)*9/10+10) y=sum(s)/20 j=0; fori=1: 20 ifs(i) j=j+1; A(j)=s(i); elsecontinue; end end A 4 y1=0;y2=0; n=input('请输入n的值: '); fori=1: n y1=y1+-(-1)^i/(2*i-1); y2=y2+1/4^i; end y1 y2 5、function[m,n]=chengji(A,B) m=a.*b; n=a*b; a=[123;456;789] b=[-101;1-10;011] [m,n]=chengji(a,b); disp('a.*b='); disp(m); disp('a*b='); disp(n); 6. >>function[f]=BaiduZd(shu,Z,n) %UNTITLED2Summaryofthisfunctiongoeshere %Detailedexplanationgoeshere switchZ case'sin' f=sin(shu); case'cos' f=cos(shu); case'log' f=log(shu); case'zhishu' f=shu^n otherwise disp('error') end end 第四章 实验指导 1 (1) 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]); gridon; 2、 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)'); 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) t=0: pi/50: 2*pi; x=exp(-t./20).*cos(t); y=exp(-t./20).*sin(t); z=t; plot3(x,y,z); gridon; (2) [x,y]=meshgrid(-5: 5); z=zeros(11)+5; mesh(x,y,z); shadinginterp; 5、 [x,y,z]=sphere(20); surf(x,y,z); axisoff; shadinginterp; m=moviein(20); fori=1: 20 axis([-i,i,-i,i,-i,i]) m(: i)=getframe; end movie(m,4); 思考练习: 1、在同一坐标轴绘制多条二维曲线的方法: (1)利用plot函数,输入参数是矩阵形式; (2)利用plot函数,其里面的参数是多组向量对。 2、 (1) x=-5: 0.1: 5; y=(1./(2*pi)).*exp((-(x.^2))/2); plot(x,y); (2) t=-2*pi: 0.1: 2*pi; x=t.*sin(t); y=t.*cos(t); plot(x,y); gridon; 3、t=0: pi/1000: pi;x=sin(3.*t).*cos(t); y1=sin(3.*t).*sin(t); y2=2.*x-0.5; plot(x,y1,'k',x,y2); holdon; k=find(abs(y1-y2)<1e-2); x1=x(k); y3=2.*x1-0.5; plot(x1,y3,'rp'); 4、x=-2: 0.01: 2; y=sin(1./x); subplot(2,1,1); plot(x,y); subplot(2,1,2); fplot('sin(1./x)',[-2,2],1e-4); 两曲线的不同: 利用fplot绘制的曲线靠近坐标轴中心处比plot绘制的密集。 5、 (1) i=-4*pi: 0.1: 10; j=12./sqrt(i); polar(i,j); title('{\rho}=12/sqrt(\theta)') (2) a=-pi/6: 0.01: pi/6; b=3.*asin(a).*cos(a)./((sin(a)).^3+(cos(a)).^3); polar(a,b); 6、 (1) [u,v]=meshgrid(-4: 0.1: 4); x=3.*u.*sin(v); y=2.*u.*cos(v); z=4.*u.^2; subplot(2,1,1); mesh(x,y,z); subplot(2,1,2); surf(x,y,z); (2) [u,v]=meshgrid(-4: 0.1: 4); x=3.*u.*sin(v); y=2.*u.*cos(v); z=4.*u.^2; subplot(2,1,1); mesh(x,y,z); subplot(2,1,2); surf(x,y,z); 第五章 一、实验内容 1.A=randn(10,5) x=mean(A) y=std(A) Max=max(max(A)) Min=min(min(A)) Sumhang=sum(A,2) SumA=s
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 中南 大学 matlab 课后 习题 11
![提示](https://static.bdocx.com/images/bang_tan.gif)