资源描述:
《matlab实验(西北农林科技大学)》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、matlab实验(西北农林科技大学)课程实验报告学年学期20115--62021学年第22学期课程名称MATLAB与科学计算实验名称实验一MATLAB环境与数值计算实验室测量测绘实验中心计算机室专业年级土木313级级学生姓名学生学号220130提交时间220166-066--02成绩任课教师王增红水利与建筑工程学院实验一MATLAAB环境与数值计算1、目得与要求(1)熟练掌握MATLAB得启动与退出、MATLAB得命令窗口;常用选单与工具栏,通过实例初步认识对MATLAB得命令与程序运行等。(2)
2、熟练掌握MATLAB变量得使用;(3)熟练掌握矩阵得创建、掌握MATLAB得矩阵与数组得运算;(4)熟悉MATLAB多项式得运用,掌握MATLAB得拟合与插值方法、积分运算与统计运算。2、内容与步骤参见教材实验一、二。3、实验报告提交要求(1)用MALTAB命令与M程序两种方式求解三元一次方程组。答:以求解三元一次方程组{2+33a+b5c=54ab+c=9为例:MALTAB命令a=[2-13;31-5;4-11];b=[5;5;9];x=abx=2-10M程序a=[2-13;31-5;4-11
3、];b=[5;5;9];x=ab运行结果:x=2-10(2)用MALTAB命令与M程序两种方式求解33复数矩阵得模与相角。答:MALTAB命令a=fix(20*rand(3,3))a=161851812102119>b=magic(3);A=a+bI;r=abs(A)r=17、888518、02787、810218、248313、000012、20664、47219、055419、1050theta=angle(A)180/pitheta=26、56513、179850、19449、462322
4、、619934、992063、434983、65986、0090MM程序a=fix(20rand(3,3))b=magic(3);A=a+bi;r=abs(A)theta=angle(A)180/pi运行结果:a=15013191615131814r=17、00001、000014、317819、235416、763116、552913、601520、124614、1421theta=28、072590、000024、77518、972617、354025、016917、102726、56518、
5、1301(3)创建一个4╳4矩阵,求逆矩阵、产生对角矩阵、求矩阵得秩等。>a=fix(20*rand(4,4))a=12610101133159151218065>ni=inv(a)ni=-0、00540、0251-0、02940、0664-0、00790、08630、0074-0、0536-0、1375-0、11740、1740-0、07220、18460、0507-0、10290、0474>duijiao=diag(a)duijiao=111155zhi=rank(a)zhi=4(4)创建两个
6、4╳4矩阵进行加、减、乘法与左除运算。>>a=fix(10rand(4,4)+1)a=372389293103366910>b=fix(10rand(4,4)+1)b=45682410439367681>a-bans=a+bans=712811101312136196913121711a*bans=5379118671191482161216210015185133195203136>>a\bans=14、0000-5、000020、000028、0000-2、13701、6438-3、0822-
7、3、73975、4110-0、93156、2466-12-4-565-85010-3-10199、2192-11、28773、4521-14、9726-22、7534(5)创建一个一元四次多项式,进行多项式求值,求根计算。解:以函数y=5x4+4x3+3x2+2x+1为例:p=[5,4,3,2,1]p=54321>p=[5,4,3,2,1];polyval(p,3)%计算x=3时多项式得值ans=547roots(p)%计算多项式得根ans=0、1378+0、6782i0、1378-0、6782i
8、-0、5378+0、3583i-0、5378-0、3583i(6)创建一个一元三次多项式,取十个不同自变量值,计算多项式得值,并分别进行一阶、二阶拟合,图示原始数据与拟合结果解:>p=fix(10*rand(1,4)+1)p=7785>x=1:2:20;y=polyval(p,x);p1=polyfit(x,y,1);p2=polyfit(x,y,2);y1=polyval(p1,x);y2=polyval(p2,x);plot(x,y1,"r")holdon>>plot(x,y2