Matlab上机实验答案.docx

上传人:牧羊曲112 文档编号:4886368 上传时间:2023-05-21 格式:DOCX 页数:38 大小:319.60KB
返回 下载 相关 举报
Matlab上机实验答案.docx_第1页
第1页 / 共38页
Matlab上机实验答案.docx_第2页
第2页 / 共38页
Matlab上机实验答案.docx_第3页
第3页 / 共38页
Matlab上机实验答案.docx_第4页
第4页 / 共38页
Matlab上机实验答案.docx_第5页
第5页 / 共38页
亲,该文档总共38页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《Matlab上机实验答案.docx》由会员分享,可在线阅读,更多相关《Matlab上机实验答案.docx(38页珍藏版)》请在三一办公上搜索。

1、Matlab上机实验答案实验一MATLAB运算基础1. 先求下列表达式的值,然后显示MATLAB工作空间的使用情 况并保存全部变量。2sin850 十 z1=2*sin(85*pi/180)/(1+exp(2)z1 =0.2375=2岫+z),其中xf二 x=2 1+2i;-0.45 5; z2=1/2*log(x+sqrt(1+xA2)z2 =0.7114 - 0.0253i0.8968 + 0.3658i0.2139 + 0.9343i1.1541 - 0.0044ie0.3a e0.3a . 一、0.3+a(3) % =2sin(a + 0.3)+ln2 , a = 3.0,2.9,.,

2、2.9,3.0 a=-3.0:0.1:3.0; z3=(exp(0.3.*a)-exp(-0.3.*a)./2.*sin(a+0.3)+log(0.3+a).( z33=(exp(0.3*a)-exp(-0.3*a)/2.*sin(a+0.3)+log(0.3+a) /2)可以验证z3=z33,是否都为1)z3 =Columns 1 through 50.7871 + 3.1416i0.6784 + 3.1416i0.7388 + 3.1416i0.7696 + 3.1416i0.7913 + 3.1416i0.7822 + 3.1416iColumns 6 through 100.7602

3、+ 3.1416i0.7254 + 3.1416i0.6196 + 3.1416i0.5496 + 3.1416iColumns 11 through 150.4688 + 3.1416i0.3780 + 3.1416i0.2775 + 3.1416i0.1680 + 3.1416i0.0497 + 3.1416iColumns 16 through 20-0.0771 + 3.1416i -0.2124 + 3.1416i -0.3566 + 3.1416i - 0.5104 + 3.1416i -0.6752 + 3.1416iColumns 21 through 25-0.8536 +

4、3.1416i -1.0497 + 3.1416i -1.2701 + 3.1416i - 1.5271 + 3.1416i -1.8436 + 3.1416iColumns 26 through 30-2.2727 + 3.1416i -2.9837 + 3.1416i -37.0245 + 0.0000i - 3.0017 + 0.0000i -2.3085 + 0.0000iColumns 31 through 35-1.8971 + 0.0000i -1.5978 + 0.0000i -1.3575 + 0.0000i - 1.1531 + 0.0000i -0.9723 + 0.00

5、00iColumns 36 through 40-0.8083 + 0.0000i -0.6567 + 0.0000i0.3819 + 0.0000i -0.2561 + 0.0000iColumns 41 through 45-0.1374 + 0.0000i -0.0255 + 0.0000i0.1766 + 0.0000i0.2663 + 0.0000iColumns 46 through 500.3478 + 0.0000i0.4206 + 0.0000i0.5379 + 0.0000i0.5815 + 0.0000iColumns 51 through 550.6145 + 0.00

6、00i0.6366 + 0.0000i0.6470 + 0.0000i0.6351 + 0.0000iColumns 56 through 600.6119 + 0.0000i0.5777 + 0.0000i0.5151 + 0.0000i -0.0792 + 0.0000i0.4841 + 0.0000i0.6474 + 0.0000i0.5327 + 0.0000i0.4774 + 0.0000i0.4126 + 0.0000iColumn 610.3388 + 0.0000it20 t 1(4)七=卜11 t2,其中 t=0:0.5:2.54 12 - 2t +1 2 t t=0:0.5

7、:2.5;z4=(t=0&t=1&t=2&t A=12 34 -4;34 7 87;3 65 7; B=1 3 -1; 2 0 3;3 -2 7; A+6*Bans =1852-10467105215349 I=eye(3); A-B+Ians =1231-3328840671 A*Bans =684462309-72596154-5241 A.*Bans =1210246802619 -13049 AA3ans =486046007661188203722623382424737014918878688454142 A.A3ans =172839304-6439304343658503272

8、74625343(4) A/Bans =16.4000 -13.60007.600035.8000 -76.200050.200067.0000 -134.000068.0000 BAans =109.4000 -131.2000 322.8000-53.000085.0000 -171.0000-61.600089.8000 -186.2000(5) A,Bans =1234-413-13478720336573-27 A(1,3,:);BA2ans =1234-436574511101920-5403.设有矩阵A和B12 34 5 一3 0166 7891017 -6 9A =11 12

9、13 14 15,B =0 23 -416 17 18 19 209 7021 22 23 24 254 13 11求它们的乘积C。 将矩阵C的右下角3X2子矩阵赋给D。 查看MATLAB工作空间的使用情况。 A=(reshape(1:25,5,5); B=3 0 16;17 -6 9;0 23 -4;9 7 0;4 13 11; C=A*BC =9315077258335237423520397588705557753890717 D=C(3:5,2:3)520397705557890717 whosBytes Class Attributes200 double120 double120

10、double48 doubleName SizeA5x5B5x3C5x3D3x24.完成下列操作:(1) 求100, 999之间能被21整除的数的个数。(2) 建立一个字符串向量,删除其中的大写字母。 n=100:999; l=find(rem(n,21)=0); length(l)ans =43 ch=aegbBOIEG0je23RGnc; wz=find(ch=A&ch ch(wz)= ch =aegb0je23nc实验二MATLAB矩阵分析与处理 E R 1 .1.设有分块矩阵A = 3x33x2,其中E、R、O、S分别为单位矩阵、随机矩阵、零矩O S1- 2x32x2一 E R + R

11、S 一阵和对角阵,试通过数值计算验证A2 =八 c 。LO S 2 E=eye(3); R=rand(3,2); O=zeros(2,3); S=diag(1:2); A=E,R;O,SA =1.0000000.81470.913401.000000.90580.6324001.00000.12700.09750001.0000000002.0000ans =1.0000001.62942.740101.000001.81161.8971001.00000.25400.29260001.0000000004.0000 E,R+R*S;O,SA2ans =1.0000001.62942.7401

12、01.000001.81161.8971001.00000.25400.29260001.0000000004.0000 AA2=E,R+R*S;O,SA2ans =1111111111111111111111111, E R + RS通过验证,矩阵山=os2 成立。2.产生5阶希尔伯特矩阵H和5阶帕斯卡矩阵P,且求其行列式的值Hh和Hp以及它们的条件数Th和Tp,判断哪个矩阵性能更好。为什么? H=hilb(5)H =1.00000.50000.33330.25000.20000.50000.33330.25000.20000.16670.33330.25000.20000.16670.14

13、290.25000.20000.16670.14290.12500.20000.16670.14290.12500.1111 P=pascal(5)P =111111234513610151410203515153570 Hh=det(H)Hh =3.7493e-12 Hp=det(P)Hp =1 Th=cond(H)4.7661e+05 Tp=cond(P)Tp =8.5175e+03答:5阶帕斯卡矩阵P的性能好。矩阵的性能是由条件数决定的,条件数越接近于1其性 能就越好。由上机操作求得Th=4.7661e+005,Tp=8.5175e+003。Tp的值更接近于1则其性 能要好。所以5阶帕斯

14、卡矩阵P的性能好。3.建立一个5X5矩阵,求它的行列式值、迹、秩和范数。 A=rand(5)0.27850.97060.42180.03570.74310.54690.95720.91570.84910.39220.95750.48540.79220.93400.65550.96490.80030.95950.67870.17120.15760.14190.65570.75770.7060 det(A)ans =-0.1322 trace(A) ans =3.4127 rank(A)ans =5 norm(A)ans =3.27594.已知一-29 6 18一A = 20 5 12-8 85求

15、A的特征值及特征向量,并分析其数学意义。 A=-29,6,18;20,5,12;-8,8,5-2961820512-885 V,D=eig(A)V =0.27330.87250.40500.71300.2803-0.6084-0.78670.34870.5501D =-25.3169000-10.518200016.8351在数学上,特别是线性代数中,对于一个给定的线性变换,它的特征向量(本征向 量或称正规正交向最)是这样一个非零的向量机当v经过这个线性变换的作用之后, 得到的新向量(长度也许改变)仍然与原来的v保持在同一条线上。一个特征向量的长 度在该线性变换下缩放的比例称为其特征值(本征值

16、)。如果特征值为正,则表示v在 经过线性变换的作用后方向也不变;如果特征值为负,说明方向会反转;如果特征值为 0,则是表示缩回零点。但无论怎样,仍在同一条直线上。5.下面是一个线性方程组:一 111一234尤0.95一1111X=0.673452X0.52111L 3L 456(1) 求方程的解。(2) 将方程右边向量元素b3改为0.53再求解,并比较b3的变化和解的相对变化。(3) 计算系数矩阵A的条件数并分析结论。 format rat%用分数格式显示 A=1/2,1/3,1/4;1/3,1/4,1/5;1/4,1/5,1/6A =1/21/31/41/31/41/51/41/51/6 f

17、ormat%恢复默认格式 b=0.95;0.67;0.52b =0.95000.67000.5200 X=AbX =1.20000.60000.6000 b2=0.95;0.67;0.53b2 =0.95000.67000.5300 X2=Ab2X2 =3.0000-6.60006.6000 D=cond(A)D =1.3533e+03矩阵的条件数决定矩阵的性能,条件数越接近于1其性能越好,系数矩阵A的条件数为 1.3533e+003,和1相差很大,则其性能不好。因此b矩阵个别元素的微小变动,对方程的 解(X值)影响很大。6.建立A矩阵,试比较sqrtm(A)和sqrt(A),分析它们的区别。

18、实验三选择结构程序设计1.求分段函数的值。X 2 + x 一 6x 0且x。-3y - x 2 一 5 x + 60 x 5 且x。2 及x。3X 2 一 X - 1其他用if语句实现,分别输出x=-5.0,-3.0,1.0,2.0,2.5,3.0,5.0时的y值。程序设计:clear;x=-5.0 -3.0 1.0 2.0 2.5 3.0 5.0; if x=0&x=90&score=80&score=70&score=60&score=0&score=100判断成绩合理性switch fix(score/10)case 9,10gradA;case 8gradB;case 7gradC;c

19、ase 6gradD;otherwisegradE;endgradeelsedisp error)成绩不合理时输出出错信息end3. 硅谷公司员工的工资计算方法如下:(1) 工作时数超过120小时者,超过部分加发15%。(2) 工作时数低于60小时者,扣发700元。(3) 其余按每小时84元计发。试编程按输入的工号和该号员工的工时数,计算应发工资。程序设计:clear;num=input(请输入员工工号:);time=input(请输入员工工时数:);if time120wages=84*120+(time-120)*84*(1+0.15);elsewages=time*84;enddisp=

20、(员工工号: num2str(num) 应发工资: num2str(wages)运行结果:请输入员工工号:4请输入员工工时数:35disp =员工工号:4应发工资:22404. 设计程序,完成两位数的加、减、乘、除四则运算,即产生两个两位随机整数,再输入一 个运算符号,做相应的运算,并显示相应的结果。解:程序设计:clear;a=floor(rand(1)*90+10)b=floor(rand(1)*90+10)c=input(请输入运算符号:,s);if c=+s=a+belseif c=-s=a-belseif c=*s=a*belseif c=s=abelsedisp error)end

21、运行结果:a =b =77请输入运算符号s =-475. 建立5X6矩阵,要求输出矩阵第n行元素。当n值超过矩阵的行数时,自动转为输出矩 阵最后一行元素,并给出出错信息。程序设计:clear;A=rand(5,6)n=input(n=?)if n=1&n=5B=A(n,1:6);elsedisp erro!)B=A(5,1:6);endB运行结果:A =0.77920.01190.52850.68920.91330.07820.93400.33710.16560.74820.15240.44270.12990.16220.60200.45050.82580.10670.56880.79430.

22、26300.08380.53830.96190.46940.31120.65410.22900.99610.0046n=?3n =30.12990.16220.60200.45050.82580.1067实验四循环结构程序设计1-根据? = 1 + 2 + 32 + ,求”的近似值。当n分别取100、1000、10000时,结果是多少?要求:分别用循环结构和向量运算(使用sum函数)来实现。程序设计(一):clear;for n=100,1000,10000 sum=0;for x=1:nsum=sum+1/(x.八2);endresult=sqrt(6火sum)end运行结果:result

23、=3.1321result =3.1406result =3.1415程序设计(二):clear;for n=100,1000,10000x=1:n;result=sqrt(6*sum(1./x./x) end运行结果:result =3.1321 result =3.1406 result =3.14152. 根据 y = 1 + - + - + .+,求:3 52n -1(1) y3时的最大n值。(2) 与(1)的n值对应的y值。程序设计:y=0;n=1;while y10八(-5)&n0)negtivenum=length(find(f fushu2请输入任意一个复数A: 4ia =-0

24、.6536 - 0.7568ib =1.3863 + 1.5708ic =0.0000 +27.2899i27.30822. 一物理系统可用下列方程组来表示:m cos0 一m- sin 0 0m sin 00 cos 0010m - sin 0 0_002- cos 0 1 _。1N1L 2 _0 1mg10L m2g从键盘输入m1、m2和。的值,求a1、a2、N1和N2的值。其中g取9.8,输入。时以角度 为单位。要求:定义一个求解线性方程组AX=B的函数文件,然后在命令文件中调用该函数文 件。建立函数文件xxfcz.mfunction a1,a2,N1,N2=xxfcz(m1,m2,t)

25、t=t*pi/180;A=m1*cos(t) -m1 -sin(t) 0; m1*sin(t) 0 cos(t) 0; 0 m2 -sin(t) 0; 0 0 -cos(t) 1;g=9.8;B=0;m1*g;0;m2*g;X=inv(A)*B;a1=X(1);a2=X(2);N1=X(3);N2=X(4);建立命令文件xxfcz2.mclearm1=input(请输Am1:);m2=input(请输入以2 :);t=input(请输入角度t:);a1,a2,N1,N2=xxfcz(m1,m2,t);a1a2N1N2运行结果: xxfcz2请输入ml: 5请输入m2: 3请输入角度t: 90a

26、l =9.8000 a2 =3.7505e-16N1 =1.1251e-15N2 =29.40003. 一个自然数是素数,且它的数字位置经过任意对换后仍为素数。例如13是绝对素数。试 求所有两位绝对素数。要求:定义一个判断素数的函数文件。建立判断素数的函数文件sushu.mfunction x=sushu(m)%判断数以是否为素数for M=2:(m/2)if rem(m,M)=0b=0;breakelseb=1;endendif b=1x=m; %判断数m为素数,并返回elsex=; %数以不为素数endend建立命令文件sushu2.mclear;js=; %初始绝对素数for m=10:

27、99x=sushu(m);if xx=fix(x/10)+rem(x,10)*10;y=sushu(x);js=js,y; %绝对素数elsecontinueendendjs执行命令文件sushu2.m sushu2js =113171137317379779法二:建立函数文件sushu3.mfunction p=sushu3(m) b=m(end); p=m;for i=2:sqrt(b)n=find(rem(p,i)=0&p=i);%将m中能被i整除,且不等于i的元素的下标找出,即np(n) = ;%将下标为n的元素剔除,其余的即为素数end建立命令文件sushu4.mclear;m=10

28、:99;p=sushu3(m);%找出10到99内所有素数p=10*rem(p,10) + (p-rem(p,10)/10;%将?素数矩阵每个元素个位十位调换顺序p=sushu3(p)%再对调换顺序后的素数矩阵找出其中的素数执行命令文件sushu4.m sushu4p =113171137317379779114.设/= +,编与一个MATLAB函数文件fx.m,使得(x - 2)2 + 0.1 (x - 3)4 + 0.01调用f(x)时,x可用矩阵代入,得出的f(x)为同阶矩阵。建立函数文件fx.mfunction f=fx(x) f=1./(x-2).八2 + 0.1)+1./(x-3)

29、.八4 + 0.01);end5.已知y =f (40)f (30) + f (20)(1)当 f(n)=n+10ln(n2+5)时,求 y 的值。 当 f(n)=1 X2+2X3+3X4+.+nX(n+1)时,求y 的值。建立函数文件fn1.mfunction fn=fn1(n) fn=n+10*log(n.八2+5); end建立函数文件fn2.mfunction fn=fn2(n)fn=0;for x=1:nfn=fn+x*(x+1);end求(1) (2)中y的值:y1=fn1(40)/(fn1(30)+fn1(20);y2 = fn2(40)/(fn2(30)+fn2(20);运行结

30、果: yfnyi =0.6390y2 =1.7662实验六高层绘图操作1.设y = 0.5 + 3sin cos x,在x=02n区间取101点,绘制函数的曲线。 _1 + X 2 _ x=linspace(0,2*pi,101); y=(0.5+3.*sin(x)./(1+x.A2).*cos(x); plot(x,y);2.已知y1=x2, y2=cos(2x), y3=y1 Xy2,完成下列操作:(1)在同一坐标系下用不同的颜色和线型绘制三条曲线。 x=linspace(0,2*pi,101); y1=x.A2; y2=cos(2*x); y3=y1.*y2; plot(x,y1,k:,x,y2,b-,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号