您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 企业财务 > matlab实验(西北农林科技大学)
课程实验报告学年学期2015-2016学年第2学期课程名称MATLAB与科学计算实验名称实验一MATLAB环境与数值计算实验室测量测绘实验中心计算机室专业年级土木13级学生姓名学生学号20130提交时间2016-06-02成绩任课教师王增红水利与建筑工程学院1实验一MATLAB环境与数值计算1、目的和要求(1)熟练掌握MATLAB的启动和退出、MATLAB的命令窗口;常用选单和工具栏,通过实例初步认识对MATLAB的命令和程序运行等。(2)熟练掌握MATLAB变量的使用;(3)熟练掌握矩阵的创建、掌握MATLAB的矩阵和数组的运算;(4)熟悉MATLAB多项式的运用,掌握MATLAB的拟合和插值方法、积分运算和统计运算。2、内容和步骤参见教材实验一、二。3、实验报告提交要求(1)用MALTAB命令和M程序两种方式求解三元一次方程组。答:以求解三元一次方程组{2a−b+3c=53a+b−5c=54a−b+c=9为例:MALTAB命令a=[2-13;31-5;4-11];b=[5;5;9];x=a\bx=2-10M程序a=[2-13;31-5;4-11];b=[5;5;9];x=a\b运行结果:x=2-10(2)用MALTAB命令和M程序两种方式求解3×3复数矩阵的模和相角。答:MALTAB命令a=fix(20*rand(3,3))a=161851812102119b=magic(3);A=a+b*I;r=abs(A)r=17.888518.02787.810218.248313.000012.20664.47219.055419.1050theta=angle(A)*180/pitheta=26.56513.179850.19449.462322.619934.992063.434983.65986.0090M程序a=fix(20*rand(3,3))b=magic(3);A=a+b*i;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.13012(3)创建一个4╳4矩阵,求逆矩阵、产生对角矩阵、求矩阵的秩等。a=fix(20*rand(4,4))a=12610101133159151218065ni=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.0474duijiao=diag(a)duijiao=111155zhi=rank(a)zhi=4(4)创建两个4╳4矩阵进行加、减、乘法和左除运算。a=fix(10*rand(4,4)+1)a=372389293103366910b=fix(10*rand(4,4)+1)b=45682410439367681a-bans=-12-4-565-85010-3-1019a+bans=712811101312136196913121711a*bans=5379118671191482161216210015185133195203136a\bans=14.0000-5.000020.000028.0000-2.13701.6438-3.0822-3.73975.4110-0.93156.24669.2192-11.28773.4521-14.9726-22.7534(5)创建一个一元四次多项式,进行多项式求值,求根计算。解:以函数y=5x4+4x3+3x2+2x+1为例:p=[5,4,3,2,1]p=54321p=[5,4,3,2,1];polyval(p,3)%计算x=3时多项式的值ans=547roots(p)%计算多项式的根ans=0.1378+0.6782i0.1378-0.6782i-0.5378+0.3583i-0.5378-0.3583i3(6)创建一个一元三次多项式,取十个不同自变量值,计算多项式的值,并分别进行一阶、二阶拟合,图示原始数据和拟合结果解:p=fix(10*rand(1,4)+1)p=7785x=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')holdonplot(x,y2)(7)自建一个一元三次多项式,取十个不同自变量值,计算多项式的值,并用线性、相邻点和三次插值,图示其插值结果。解:p=fix(10*rand(1,4)+1)p=7136x=1:3:30;y=polyval(p,x);y01=interp1(x,y,12)%线性插值y01=12774y02=interp1(x,y,12,'nearest')%相邻点插值y02=15593y03=interp1(x,y,12,'cubic')%三次插值y03=1.2310e+004plot(x,y)holdonplot(12,y01,'or')plot(12,y02,'*g')plot(12,y03,'+')(8)给出多组温度的测定值(内含平均温度、最低、最高温度),并求其平均温度、最低、最高温度的平均值、标准差等。解:a=fix(40*rand(6,3)+1)4a=393228203931332730621617342737387mean(a)%各列的平均值ans=25.333328.666723.1667std(a)%各列的标准差ans=13.063913.76479.5795课程实验报告学年学期2015-2016学年第2学期课程名称MATLAB与科学计算实验名称实验二MATLAB的符号计算与可视化实验室测量测绘实验中心计算机室专业年级土木13级学生姓名学生学号提交时间2016-06-02成绩任课教师王增红水利与建筑工程学院1实验二MATLAB的符号计算与可视化1、目的和要求(1)熟练掌握MATLAB符号表达式的创建、代数运算及化简。(2)熟悉符号方程的求解。(3)熟练掌握MATLAB二维曲线、三维图形的绘制。(4)熟练掌握各种特殊图形的绘制。2、内容和步骤参见教材实验三、四。3、实验报告提交要求(1)使用sym和syms命令创建符号变量和符号表达式;sym命令sym('x','real')ans=xsym('y=3*x^8+7*x^6+x+1')ans=y=3*x^8+7*x^6+x+1syms命令symsxyrealyy=x+i*y^3yy=y^3*i+x(2)用常数替换符号变量。解:symsxyz=x^6+y^5+x*yz=x^6+x*y+y^5subs(z,x,5)%用5替换了xans=y^5+5*y+15625(3)寻找两个一元三次符号表达式,分别进行其符号表达式的加、减、乘等运算;两个一元三次符号表达式y1=sym('3*x^3+2*x^2+x+10')y1=3*x^3+2*x^2+x+10y2=sym('5*x^3+3*x^2+x+20')y2=5*x^3+3*x^2+x+20加、减、乘运算y1+y2%符号表达式相加ans=8*x^3+5*x^2+2*x+30y1-y2%符号表达式相减ans=-2*x^3-x^2-10y1*y2%符号表达式相乘ans=(3*x^3+2*x^2+x+10)*(5*x^3+3*x^2+x+20)(4)寻找一个可化简的符号表达式,并化简;解:y=sym('x^7+x^5+1')y=x^7+x^5+1factor(y)ans=(x^2+x+1)*(x^5-x^4+x^3-x+1)2(5)绘制二维曲线,寻找四种二维的曲线,把图形窗口分割为2列2行,并分别标明图名、坐标等。解:M文件x=-2*pi:0.01:2*pi;subplot(221)plot(x,sin(x))title('y=sin(x)')xlabel('x')ylabel('y')subplot(222)plot(x,cos(x))title('y=cos(x)')xlabel('x')ylabel('y')subplot(223)plot(x,x.^2)title('y=x^2')xlabel('x')ylabel('y')subplot(224)plot(x,exp(x))axis([-5,5,0,12])title('y=e^x')xlabel('x')ylabel('y')(6)绘制特殊图形。参照教材中相关内容,选取不同的数据绘制三维条形图;M文件y=fix(50*rand(4,3)+1)x=2:5bar3(x,y)3(7)随机产生正态分布的数据100个,给出统计数据,并绘制饼状图。解:M文件a=fix(100*randn(10,10))s1=0;s2=0;s3=0;s4=0;forn=1:100ifa(n)=-100s1=s1+1;elseifa(n)=0s2=s2+1;elseifa(n)100s3=s3+1;elses4=s4+1;endendy=[s1,s2,s3,s4]explode=[1111];pie(y,explode,{'(=-100)','(-99~0)','(1~99)','(=100)’})注:所有题目要求不同的学生采用不同的符号数字,报告中应列明命令或M文件及结果,(5)~(7)题要求用M文件表达。课程实验报告学年学期2015-2016学年第2学期课程名称MATLAB与科学计算实验名称实验三MATLAB程序设计实验室测量测绘实验中心计算机室专业年级级学生姓名学生学号1提交时间2016-06-02成绩任课教师王增红水利与建筑工程学院1实验三MATLAB程序设计1、目的和要求(1)熟练掌握MATLAB的程序流程控制结构。(2)熟练掌握M文件的结构。(3)熟练掌握函数调用和参数传递。2、内容和步骤参见教材实验五。3、实验报告提交要求用for语句、while和函数调用三种方式分别对下述两题进行编程,并上机进行操作、运行出结果。(1))!2()1(!4!21cos242nxxxxnnn≥30即可While语句:functioncos234(x,n)f=1;sum=1;i=1;whilei=nf=f*(-1)*x^2/(2*i-1)/(2*i);sum=sum+f;i=i+1;endsum结果:cos234(pi,30)sum=-1函数调用functionz=cos123(x,n)y=1;form=1:ny=y+(-1)^m*x^(2*m)/jiecheng(2*m);endyfunctions=jiecheng(n)s=1;fori=1:ns=i*s;end结果:cos123(pi,32)y=-1.0000For语句functionz=cos222(x,n)y=1;form=1:ns=1;fori=1:2*ms=s*i;endy=y+(-1)^m.*x^(2*m)/s;endy结果:cos222(pi,34)y=-1.00002(2)1)1(432)1ln(1432nxxxxxxnn(-1<x≤1)n≥2000即可For语句functionzky(x,n)s=x;fori=1:ns=s+(-1)^i*x^(i+1)/(i+1);ends结果:zky(1,2000)s=0.6934While语句functionzky2(x,n)s=x;
本文标题:matlab实验(西北农林科技大学)
链接地址:https://www.777doc.com/doc-2887387 .html