欢迎来到课桌文档! | 帮助中心 课桌文档-建筑工程资料库
课桌文档
全部分类
  • 党建之窗>
  • 感悟体会>
  • 百家争鸣>
  • 教育整顿>
  • 文笔提升>
  • 热门分类>
  • 计划总结>
  • 致辞演讲>
  • 在线阅读>
  • ImageVerifierCode 换一换
    首页 课桌文档 > 资源分类 > DOC文档下载  

    MATLAB程序设计与应用.doc

    • 资源ID:6394       资源大小:363KB        全文页数:53页
    • 资源格式: DOC        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    MATLAB程序设计与应用.doc

    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 102 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) 求他们的乘积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建立一个字符串向量,删除其中的大写字母解:(1) >> A=100:999;>> B=rem(A,21);>> C=length(find(B=0)C =43(2)>> A='lsdhKSDLKklsdkl'>> k=find(A>='A'&A<='Z');>> 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=rank(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>> 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=-3 y=y,x0*x0+x0-6; elseif x0>=0&x0<5&x0=2&x0=3 y=y,x0*x0-5*x0+6; else y=y,x0*x0-x0-1; end end>> xx =>> yy =第二题: 输入一个百分制的成绩,要求输出成绩等级A B C D E。其中9080为A,8089为B,7079为C,6069为D 60以下为E要求1) 分别写入if语句和switch语句实现2) 输入百分制成绩要判断该成绩的合理性,对不合理的成绩应输出出错的信息 解: >> x=input('请输入一个百分制成绩:'); 请输入一个百分制成绩:>> if x>100|x<0 disp('您输入的成绩不是百分制成绩,请重新输入。'); else if x<=100&x>=90 disp('A'); elseif x<=89&x>=80 disp('B'); elseif x<=79&x>=70 disp('C'); elseif x<=69&x>60 disp('D'); else disp('E'); end end 第三题: 硅谷公司员工的工资计算方法为1) 工作时间超过120小时者,超过的局部加15%2) 工作时数低于60小时的,扣发700元3) 其余按每小时84元 解:>> n=input('请输入员工工号:');请输入员工工号:>> h=input('该员工工作时数是:');该员工工作时数是:>> if h>120 x=(h-120)*84*(1+0.15)+120*84; elseif h<60 x=h*84-700; else x=h*84; end disp(num2str(n),'号员工','的应发工资为',num2str(x);号员工的应发工资为第四题:设计程序,完成两位数的加减乘除四如此运算,即产生两位随机整数,再输入一个运算符号,作相应的运算,并显示相应的结果。解:>> 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超过矩阵的行数时,自动转入输出矩阵最后一行的元素,并给出出错信息。解:>> a=rand(5,6);>> n=input('请输入您要输出矩阵的第几行:');请输入您要输出矩阵的第几行:>> if n>5 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 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<3时的最大n值。(2) 与1的n值对应的y值。解:>> y=0; >> n=1;>> while(y<3) y=y+1/(2*n-1); n=n+1; end y=y-1/(2*(n-1)-1) n=n-2 y =n =56第三题:考虑以下迭代公式:其中a,b为正的常数。(1) 编写程序求迭代的结果,迭代的终止条件为,迭代初值=1.0,迭代次数不超过500次。(2) 如果迭代过程收敛于r,那么r的准确值是,当a,b的值取1,1,8,3,10,0.1时,分别对迭代结果和准确值进展比拟。解:>> 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; 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+011(2)>> length(find(f>0) ans = 49>> length(find(f=0)ans = 2>> length(find(f<0)ans = 49第五题:假如两个连续自然数的乘积减1是素数,如此称这两个连续自然数是亲密数对,该素数是亲密素数。例如,23-1=5,由于5是素数,所以2和3 是亲密数对,5是亲密对数。求2,50区间内:(1) 亲密数对的对数。(2) 与上述亲密数对对应的所有亲密素数之和。解:>> 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分别用条形图,阶梯图,杆图和填充图绘制三条曲线解: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,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(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,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<=0 y=y,(x0+sqrt(pi)/exp(2); else y=y,0.5*log(x0+sqrt(1+x02); end end plot(x,y) >> 第五题: 绘制函数的曲面图形和等高线。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); 实验七 低层绘图操作第一题: 建立一个图形窗口,使之背景颜色为红色,并在窗口上保存原有的菜单项,而且按如下鼠标器的左键之后显示出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',':','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 =第二题: 将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=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 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(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第二题:用数值方法求定积分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 -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(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

    注意事项

    本文(MATLAB程序设计与应用.doc)为本站会员(夺命阿水)主动上传,课桌文档仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知课桌文档(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-1

    经营许可证:宁B2-20210002

    宁公网安备 64010402000986号

    课桌文档
    收起
    展开