MATLAB程序设计与应用.doc

上传人:李司机 文档编号:1087578 上传时间:2022-06-20 格式:DOC 页数:53 大小:363KB
返回 下载 相关 举报
MATLAB程序设计与应用.doc_第1页
第1页 / 共53页
MATLAB程序设计与应用.doc_第2页
第2页 / 共53页
MATLAB程序设计与应用.doc_第3页
第3页 / 共53页
MATLAB程序设计与应用.doc_第4页
第4页 / 共53页
MATLAB程序设计与应用.doc_第5页
第5页 / 共53页
点击查看更多>>
资源描述

《MATLAB程序设计与应用.doc》由会员分享,可在线阅读,更多相关《MATLAB程序设计与应用.doc(53页珍藏版)》请在三一办公上搜索。

1、word实验一 MATLAB运算根底第二题:A= B=求如下问题:1) A+6*B和A-B+I2) A*B和A.*B3) A3 A.34) A/B BA5) A,B A(1,3),:B.2解: A=12 34 -4;34 7 87;3 65 7; B=1 3 -1;2 0 3;3 -2 7; I=1 0 0;0 1 0;0 0 1; 1 A+6*Bans = 18 52 -10 46 7 105 21 53 49 A-B+Ians = 12 31 -3 32 8 84 0 67 12 A*Bans = 68 44 62 309 -72 596 154 -5 241 A.*Bans = 12 1

2、02 4 68 0 261 9 -130 493 A3ans = 37226 233824 48604 247370 149188 600766 78688 454142 118820 A.3ans = 1728 39304 -64 39304 343 658503 27 274625 3434 A/Bans = BAans =5 A,Bans = 12 34 -4 1 3 -1 34 7 87 2 0 3 3 65 7 3 -2 7 A(1,3,:);B2ans = 12 34 -4 3 65 7 4 5 1 11 0 19 20 -5 40第三题:设有矩阵A和B A= B=1) 求他们的乘

3、积C2) 将矩阵C的右下角3*2子矩阵赋给D3) 查看matlab工作空间的使用情况解: A=1 2 3 4 5;6 7 8 9 10;11 12 13 14 15;16 17 18 19 20;21 22 23 24 25; B=3 0 16;17 -6 9;0 23 -4;9 7 0;4 13 11;1 C=A*BC = 93 150 77 258 335 237 423 520 397 588 705 557 753 890 7172 D=C(3:5,2:3)D = 520 397 705 557 890 717第四题: 完成如下操作:1) 求【100,999】之间能被21的数的个数 2

4、建立一个字符串向量,删除其中的大写字母解:(1) A=100:999; B=rem(A,21); C=length(find(B=0)C =43(2) A=lsdhKSDLKklsdkl; k=find(A=A&A A(k)=A =Lsdhklsdkl 实验二 MATLAB矩阵分析与处理第三题: 建立一个55矩阵,求它的行列式的值,迹,秩,和X数。解: A=1 8 9 4 7;45 89 26 17 0;95 85 23 13 6;75 65 70 54 63;57 26 19 11 2; H=det(A)H =13739916 Trace=trace(A)Trace = 169 Rank=r

5、ank(A)Rank = 5 Norm=norm(A)Norm =第四题: A=求A的特征值与特征向量,并分析其数学意义。解: A=-29 6 18;20 5 12;-8 8 5; V,D=eig(A)V =D = -25.3169 0 0 0 -10.5182 0第五题:下面是一个线性方程组:(1) 求方程的解。(2) 将方程右边向量元素改为0.53,再求解,并比拟的变化和解的相对变化。(3) 计算系数矩阵A的条件数并分析结论。解:1 A=1/2 1/3 1/4;1/3 1/4 1/5;1/4 1/5 1/6; b=0.95,0.67,0.52; x=inv(A)*bx =0.6000 2

6、B=0.95,0.67,0.53; x=inv(A)*B x =6.6000 (3) cond(A)ans = 1.3533e+003 实验三 选择程序结构设计第一题:求分段函数的值Y=解: x=-5.0,-3.0,1.0,2.0,2.5,3.0,5.0; y=; for x0=x if x0=0&x0 xx = yy =第二题: 输入一个百分制的成绩,要求输出成绩等级A B C D E。其中9080为A,8089为B,7079为C,6069为D 60以下为E要求1) 分别写入if语句和switch语句实现2) 输入百分制成绩要判断该成绩的合理性,对不合理的成绩应输出出错的信息 解: x=in

7、put(请输入一个百分制成绩:); 请输入一个百分制成绩: if x100|x0 disp(您输入的成绩不是百分制成绩,请重新输入。); else if x=90 disp(A); elseif x=80 disp(B); elseif x=70 disp(C); elseif x60 disp(D); else disp(E); end end 第三题: 硅谷公司员工的工资计算方法为1) 工作时间超过120小时者,超过的局部加15%2) 工作时数低于60小时的,扣发700元3) 其余按每小时84元 解: n=input(请输入员工工号:);请输入员工工号: h=input(该员工工作时数是:

8、);该员工工作时数是: if h120 x=(h-120)*84*(1+0.15)+120*84; elseif h a=fix(10+(99-10)*rand(1,2) x=a(1); y=a(2); t=input(请输入运算符号:,s); if t=+ z=x+y; elseif t=- z=x-y; elseif t=* z=x*y; elseif t=/ z=x/y; end disp(num2str(x),t,num2str(y),=,num2str(z)a = 81 22请输入运算符号:第五题:建立5*6矩阵,要求输出第n行元素。当n超过矩阵的行数时,自动转入输出矩阵最后一行的元

9、素,并给出出错信息。解: a=rand(5,6); n=input(请输入您要输出矩阵的第几行:);请输入您要输出矩阵的第几行: if n5 disp(超出了矩阵的行数,矩阵的最后一行为:) a(5,:) else disp(矩阵的第,num2str(n),行为:) a(n,:) end 矩阵的第行为:ans = Empty matrix: 0-by-6 实验四 循环结构程序设计第一题: 根据公式,求的近似值。当n分别取100,1000,10000时,结果是多少?要求是:分别用循环结构和向量运算使用sum函数来实现。解: s=0; n=100; for i=1:n s=s+1/i/i; end

10、 PI=sqrt(6*s) pi PI = s=0; n=1000; for i=1:n s=s+1/i/i; end PI=sqrt(6*s) pi PI = s=0; n=10000; for i=1:n s=s+1/i/i; end PI=sqrt(6*s) pi PI =第二题:根据,求:(1) y y=0; n=1; while(y a=input(a=?);a=? b=input(b=?); b=? Xn=1; Xn1=a/(b+Xn); n=0; while abs(Xn1-Xn)1e-5 Xn=Xn1; Xn1=a/(b+Xn); n=n+1; if n=500 break;

11、end end n Xn1 r1=(-b+sqrt(b*b+4*a)/2 r2=(-b-sqrt(b*b+4*a)/2n = 0Xn1 = r1 = r2 = 第四题:求-中:(1) 最大值,最小值,各数之和。(2) 正数,零,负数的个数。解:(1) for i=1:100if i=1f(i)=1;elseif i=2 f(i)=0; elseif i=3 f(i)=1; else f(i)=f(i-1)-2*f(i-2)+f(i-3); end end max(f)ans = 4.3776e+011 min(f)ans = -8.9941e+011 sum(f)ans = -7.4275e+

12、011(2) length(find(f0) ans = 49 length(find(f=0)ans = 2 length(find(f s=0; n=0; for i=2:49b=i*(i+1)-1;m=fix(sqrt(b);for j=2:mif rem(b,j)=0 break end end if j=m n=n+1; s=s+b; end end n s n = 28s = 21066 实验六 高层绘图操作第二题: y1=x2,y2=cos(2x),y3=y1*y2,完成如下操作1) 在同一坐标系中的不同颜色和线型绘制三条曲线2) 以子图像绘制三条曲线 3分别用条形图,阶梯图,杆

13、图和填充图绘制三条曲线解:1 x=linspace(-2*pi,2*pi,100); y1=x.2; y2=cos(2*x); y3=y1.*y2; plot(x,y1,b-,x,y2,r:,x,y3,y-); text(4,16,leftarrow y1=x2); text(6*pi/4,-1,downarrow y2=cos(2*x); text(-1.5*pi,-2.25*pi*pi,uparrow y3=y1*y2);2: x=linspace(-2*pi,2*pi,100); y1=x.2; y2=cos(2*x); y3=y1.*y2; subplot(1,3,1); plot(x

14、,y1); title(y1=x2); subplot(1,3,2); plot(x,y2); title(y2=cos(2*x); subplot(1,3,3); plot(x,y3); title(y3=x2*cos(2*x); 3 x=linspace(-2*pi,2*pi,20); y1=x.2; subplot(2,2,1); bar(x,y1); title(y1=x2的条形图); subplot(2,2,2); stairs(x,y1); title(y1=x2的阶梯图); subplot(2,2,3); stem(x,y1); title(y1=x2的杆图); subplot(

15、2,2,4); fill(x,y1,r); title(y1=x2的填充图);2 x=linspace(-2*pi,2*pi,20);y2=cos(2*x);subplot(2,2,1);bar(x,y2);title(y2=cos(2*x)的条形图);subplot(2,2,2);stairs(x,y2);title(y2=cos(2*x)的阶梯图);subplot(2,2,3);stem(x,y2);title(y2=cos(2*x)的杆图);subplot(2,2,4);fill(x,y2,r);title(y2=cos(2*x)的填充图);3 x=linspace(-2*pi,2*pi

16、,20);y1=x.2;y2=cos(2*x);y3=y1.*y2;subplot(2,2,1);%分区bar(x,y3);title(y3=y1.*y2;的条形图);%设置标题subplot(2,2,2);stairs(x,y3);title(y3=y1.*y2;的阶梯图);subplot(2,2,3);stem(x,y3);title(y3=y1.*y2;的杆图);subplot(2,2,4);fill(x,y3,r);%如果少了r如此会出错title(y3=y1.*y2;的填充图);第三题:Y=在-5x5区间绘制曲线。解: x=-5:0.01:5; y=; for x0=x if x0

17、第五题: 绘制函数的曲面图形和等高线。Z=cosxcosy其中x的21个值均匀分布在【-5,5】X围,y的31的值巨晕分布在【0,10】,要求用subplot2,1,1和subpolt2,1,1将曲面图画在一个窗口上。解: x=linspace(-5,5,21); y=linspace(0,10,31); x,y=meshgrid(x,y); z=cos(x).*cos(y).*exp(-sqrt(x.2+y.2)/4); subplot(2,1,1); surf(x,y,z); subplot(2,1,2); contour3(x,y,z,50); 实验七 低层绘图操作第一题: 建立一个图形

18、窗口,使之背景颜色为红色,并在窗口上保存原有的菜单项,而且按如下鼠标器的左键之后显示出left botton pressed 字样解: h=figure(MenuBar,figure,color,r,WindowButtonDownF,disp(Left Button Pressed)h = 1Left Button Pressed第二题:先利用默认属性绘制曲线y=x2 *e2x,然后通过图形句柄操作改变曲线的颜色,线性和线宽,并利用文字对象添加文字标注。解: x=-2:0.01:2; y=x.2.*exp(2*x); h=line(x,y); set(h,color,r,linestyle,

19、:,linewidth,2) text(1,exp(2),y=x2*exp(2*x) 实验八 数据处理与多项式运算第一题: 利用MATLAB提供的rand函数生成30000个符合均匀分布的随机数,然后检验随机数的性质:(1) 均值和标准方差。(2) 最大元素和最小元素。(3) 大于0.5的随机数个数占总数的百分比。解:(1) A=rand(1,30000); b=mean(A)b = std(A,0,2)ans =(2) max(A)ans = min(A)ans =(3) n=0; for i=1:30000if A(i)0.5 n=n+1; end end p=n/30000p =第二题:

20、 将100个学生的5门功课的成绩存入矩阵P中,进展如下处理:(1) 分别求每门课的最高分,最低分,以与相应学生序号。(2) 分别求每门课的平均分和标准方差。(3) 5门课总分的最高分,最低分,以与相应的学生序号。(4) 将5门课总分按照从大到小的顺序存入zcj中,相应的学生序号存入xsxh。提示:上机调试时,为防止学生输入成绩的麻烦,可用取值X围在45,95之间的随机矩阵来表示学生成绩。解:(1) A=45+51*rand(100,5); Y,U=max(A) Y =U = 29 66 55 47 69 a,b=min(A)a =b =36 85 2 67 48(2) m=mean(A) s=

21、std(A) m =s = 15.1378 14.1296 15.0116 15.1622 14.8254 (3) sum(A,2) Y,U=max(ans) a,b=min(ans)ans =Y =U = 55a =b =49(4) zcj,xsxh=sort(ans)zcj =xsxh = 49 90 65 85 97 23 87 2 8 1 96 99 34 28 100 22 14 86 93 64 24 11 21 18 60 37 19 48 36 62 53 16 59 72 27 54 56 46 50 13 35 7 41 92 52 32 63 45 12 98 88 6

22、73 17 74 68 94 61 5 44 76 43 83 31 82 67 81 58 78 80 3 66 20 69 33 47 40 26 70 57 95 77 51 38 75 79 42 4 9 89 39 71 91 84 15 25 30 29 1055第五题 :有三个多项式试进展如下操作:(1) 求px=p1x+p2x+p3x;(2) 求p(x)的根。(3) 当x取矩阵A的每一元素时,求px的值。其中: A=(4) 当以矩阵A为自变量时,求Px的值。其中A的值与第3题一样。解:(1) p1=1,2,4,0,5; p2=1,2; p3=1,2,3; p=p1+0,conv

23、(p2,p3)p = 1 3 8 7 11(2) A=roots(p)A =(3) A=-1 1.2 -1.4;0.75 2 3.5;0 5 2.5; polyval(p,A)ans = 1.0e+003 *(4) polyvalm(p,A)ans = 1.0e+003 *实验九 数值微积分与方程数值求解第一题:求函数在指定点的数值导数。 f(x)=, x=1,2,3.解: a=x x.2 x.3;1 2*x 3*x.2;0 2 6*x; f=det(a)f =2*x3 g=diff(f,x)g =6*x2 for i=1:3 g=6*i2 endg = 6g = 24g =54第二题:用数值

24、方法求定积分1的近似值。2。解:1 g=inline(sqrt(cos(t.2)+4*sin(4*t.2)+1); I=quadl(g,0,2*pi)I =2 f=inline(log(1.+x)./(1.+x.*x) f = Inline function: f(x) = (log(1.+x)./(1.+x.*x) I=quadl(f,0,1)I =第三题:分别用三种方法解线性方程组解:方法一:直接法 A=6 5 -2 5;9 -1 4 -1;3 4 2 -2;3 -9 0 2; b=-4 13 1 11; x=Abx =方法二:LU分解 A=6 5 -2 5;9 -1 4 -1;3 4 2

25、 -2;3 -9 0 2; b=-4 13 1 11; L,U=lu(A); x=U(Lb)x =第五题:求代数方程的数值解13x+sinx-ex=0在x0=1.5附近的根。2在给定的初值x0=1,y0=1,z0=1下,求方程组的数值解解:1function G=myfun2(Y) y=Y(1) G(1)=3*y+sin(y)-exp(y);接着计算: Y=fsolve(myfun2,1.5,optimset(Display,off)y =y =y =y =y =y =y =y =y =y =y =y =y =Y =2function F=myfun(X) x=X(1) y=X(2) z=X(

26、3) F(1)=sin(x)+y2+log(z)-7; F(2)=3*x+2y-z3+1; F(3)=x+y+z-5;接着 X=fsolve(myfun,1,1,1,optimset(Display,off)x = 1y = 1z = 1x =y = 1z = 1x = 1y =z = 1x = 1y = 1z =x =y =z =x =y =z =x =y =z =x =y =z =x =y =z =x =y =z =x =y =z =x =y =z =x =y =z =x =y =z =x =y =z =x =y =z =x =y =z =x =y =z =x =y =z =x =y =z =x =y =z =x =y =z =x =y =z =x =y =z =x =y =z =x =y =z =x =y =z =x =y =z =x =y =z =X = q=myfun(X)x =y =z =q = 1.0e-010 *53 / 53

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

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


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号