欢迎来到天天文库
浏览记录
ID:39550243
大小:74.00 KB
页数:5页
时间:2019-07-06
《MATLAB作业 (2)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、MATLAB作业1.下段程序执行时,会发生错误,MATLAB的错误提示为:“Errorusing==>mtimes,Innermatrixdimensionsmustagree.”。请指出错误所在,并修改之。clearallvector=1:100;total=0;forii=vector,total=total+vector*vector;endtotal解:因为vector是数组。所以vector*vector是错误的。应用”.*”。程序改为:clearallvector=1:100;total=0;forii=vector,total=total+ve
2、ctor.*vector;endtotal2.在同一个窗口中使用不同的线型同时绘制曲线:sin(2x)、sin(x2)、sin2x和cos(x),并给出清晰的标注和图例。解:clcclearx=linspace(0,3*pi)y1=sin(2*x)%所画函数y1y2=sin(x.*x)%所画函数y2y3=(sin(x)).^2%所画函数y3y4=cos(x)%所画函数y4plot(x,y1,'y')%用黄线画出函数y1holdon%打开holdon在一个窗口绘制多个函数图plot(x,y2,'g')%用绿线画出函数y2plot(x,y3,'b')%用蓝线画出
3、函数y3plot(x,y4,'k')%用黑线画出函数y4legend('y1=sin(2*x)','y2=sin(x.^2)','y3=(sin(x)).^2','y4=cos(x)',0)3.设计一个九九乘法表,并用MATLAB进行实现,写出相应的实现M文件。解:clcclearfori=1:9line=[];forj=1:iterm=([num2str(j),'*',num2str(i),'=',num2str(i*j,'%2d')]);%口诀表的一项ifi*j<10term=[term,''];%小于10补两个空格elseterm=[term,''];
4、%大于10占一个空格endline=[line,term];%口诀表的一行enddisp(line)%输出一行endend4.编写计算小于自然数N的Fibonacci级数的MATLAB函数。解:clcclearN=input('pleaseinputN:');%在键盘上上输入一个数字使其等于NifN<=0N=input('error.pleaseinputN:')%当输入的数字小于等于0时重新输入endFib=[1,1];%建立一个数组存放斐波那契数列if(N==1)Fib=[1];%当N等于1时Fib为1elseifN==2Fib=[11];%当N为2时F
5、ib为数组11elsefori=3:NFib(i)=Fib(i-2)+Fib(i-1);%当N大于等于3时用递归法输出FibendendendFib5.阐述对MATLAB程序优化的方法的理解。MATLAB功能强大但是执行速度较其他编程软件来说较慢。所以在编写较为复杂的程序时要注意对程序执行效率的优化。首先MATLAB是为运算矩阵设计的所以对矩阵或数组的运算速度最快,所以在编程时尽量用矩阵运算解决问题。最好不用循环或少用循环。在必须使用循环时,尽量外循环次数少,内循环次数多。
此文档下载收益归作者所有