Matlab实验报告,作业,(函数图像)(本科课程设计).doc
MATLAB实验报告学 院 工学院 班 级 姓 名 学 号 二一年六月一、 Matlab基本知识1、 说出Matlab有哪几个主要界面答:有菜单项file 、edit 、opion 、windows、 help等项可以选择。2、 Matlab的主要功能答:Matlab能够提供丰富的矩阵运算处理功能。广泛的符号运算功能,丰富的绘图功能与计算结果的可视化,强大的编程语言,许多学科所涉及的工具箱,单一命令求解线性系统。二维、三维图形工具。目前,Matlab已经成为线性代数数值分析、数理统计、优化方法、自动控制、数字信号处理,动态系统仿真等高级课程的基本教学工具。3、 简要叙述Matlab主要窗口的主要功能答:1) 命令窗口(command window)主要交互窗口,用于输入命令并显示除图形以外所有执行结果。2) 工作空间窗口(workspace browser)用于存储各种变量和结果的内存空间。3) 当前目录窗口和搜索路径(current directory)是Matlab运行文件时的工作目录。4) 命令历史记录窗口(command history)保存自安装起所有用过的命令历史记录。5) 启动平台窗口和start按钮(launch pad)启动平台窗口帮助用户方便地打开和调用Matlab的各种程序、函数和帮助文件。Start弹出Matlab的各种工具6) Editor/debugger m文件编辑调试器。用于输入指令较多,结构比较复杂的文件4、 简单介绍一下M文件作用及其建立M文件的方法答:当待解决的问题所需指令较多,结构比较复杂时通过创建M文件而将所需的问题命令导入Matlab主程序中。M文件的创建:i. 在Matlab命令窗口点击file菜单new m-fileii. 利用记事本创建M文件二、 Matlab解决线性代数问题1、 求矩阵的转置求矩阵的秩:a=1 3 -9 3;1 4 -12 7;-1 0 0 9;>> k=rank(a)k = 2求矩阵的特征值和特征向量:A=1 2 3;5 4 3;0 1 2;>> V,D=eig(A)V = 0.4012 -0.4082 0.3663 0.8971 0.8165 -0.8190 0.1848 -0.4082 0.4417D = 6.8541 0 0 0 0.0000 0 0 0 0.1459求矩阵对应的行列式的值:A=1 2 3;5 4 3;0 1 2;>> k=det(A)k =0求矩阵的逆:A=1 2 3;5 4 3;4 2 2;>> k=inv(A)k = -0.1667 -0.1667 0.5000 -0.1667 0.8333 -1.00000.5000 -0.5000 0.5000求矩阵的加法A=1 2 3;5 4 3;4 2 2;B=2 6 7;7 5 4;9 2 5;>> k=A+Bk = 3 8 10 12 9 7 13 4 7求矩阵的减法A=1 2 3;5 4 3;4 2 2;B=2 6 7;7 5 4;9 2 5;>> k=A-Bk = -1 -4 -4 -2 -1 -1 -5 0 -3求矩阵的乘法A=1 2 3;5 4 3;4 2 2;B=2 6 7;7 5 4;9 2 5;>> k=A*Bk = 43 22 30 65 56 66 40 38 46求矩阵的幂次方A=1 2 3;5 4 3;4 2 2;>> k=A2k = 23 16 15 37 32 33 22 20 22求矩阵的除法A=1 2 3;5 4 3;4 2 2;B=2 6 7;7 5 4;9 2 5;>> k=A*inv(B)k = 0.4181 -0.1582 0.1412 0.0226 0.8023 -0.0734 -0.0452 0.3955 0.14692、 完成两个以上的线性代数中线性方程的求解题目>> x1=sym('x1');>> x2=sym('x2');>> x3=sym('x3');>> x4=sym('x4');>> x1,x2,x3,x4=solve(x1-x2+x3-x4-1,x1-x2-x3+x4,x1-x2-2*x3+2*x4+1/2,x1,x2,x3,x4)x1 =x2+1/2x2 =x2x3 =1/2+x4x4 =x4>> x1=sym('x1');x2=sym('x2');x3=sym('x3');x4=sym('x4');>> x1,x2,x3,x4=solve(x1+2*x2-x3-4*x4-4,x2-x3+x4+3,x1+x2-3*x4-1,-2*x2+x3+5*x4-1,x1,x2,x3,x4) x1 =8 x2 =-16 x3 =-16 x4 =-33、 利用所讲的矩阵寻访和操作的命令,完成一个矩阵初等变化的过程B=2 2 3 1;4 4 6 2;0 0 1 -1;0 0 -2 2;>> B(2,:)=B(2,:)-2*B(1,:)B = 2 2 3 1 0 0 0 0 0 0 1 -1 0 0 -2 2>> B(4,:)=B(4,:)+2B(3,:)B(4,:)=B(4,:)+2*B(3,:)B = 2 2 3 1 0 0 0 0 0 0 1 -1 0 0 0 0>> B(2,4,:)=B(4,2,:)B = 2 2 3 1 0 0 0 0 0 0 1 -1 0 0 0 0三、 Matlab绘图绘制基本的二维图形:圆:t=-5:0.2:5;>> x=cos(t);>> y=sin(t);>> plot(x,y)椭圆:t=-10:0.2:15;>> x=25*cos(t);>> y=16*sin(t);>> plot(x,y)抛物线:x=-10:0.1:10;>> y=2*x.2;>> plot(x,y)二元函数x=-10:pi/100:2*pi;>> y=2*(x.2)+3*x+5;>> plot(x,y)正弦曲线x=0:pi/100:2*pi;>> y=sin(2*x+5);>> plot(x,y) 指数函数x=-3:1:20;>> y=2.x;>>plot(x,y)空间直线t=-5:0.4:10;>> x=2*t+2;>> y=1-t;>> z=4*t+3;>> plot3(x,y,z)空间曲面x=-10:0.4:10;>> y=-10:0.4:10;>> x,y=meshgrid(x,y);>> z=14*x+9*y-15;>> surf(x,y,z)空间曲面x=10:1:50;>> y=10:1:50;>> x,y=meshgrid(x,y);>> z=2*x+4*y+x.2+y.2;>> surf(x,y,z)单叶双曲面ezsurf('3*sec(u)*cos(v)','4*sec(u)*sin(v)','5*tan(u)',-pi/2,pi/2,0,2*pi);>> axis auto双曲抛物面x=-10:1:30;>> y=-10:1:20;>> x,y=meshgrid(x,y);>> z=x.2/3-y.2/4;>> surf(x,y,z)>>椭圆抛物面x=-10:1:30;>> y=-10:1:20;>> x,y=meshgrid(x,y);>> z=(x.2)/5+(y.2)/6;>>surf(x,y,z)椭球面ezsurf('2*sin(u)*cos(v)','3*sin(u)*cos(v)','cos(u)',0,pi,0,3*pi)椭圆抛物面>> ezsurf('r*3*cos(u)','r*4*sin(u)','r*r/2',0,10,0,2*pi)四、 Matlab解决高等数学问题求极限的运算syms x;>> f=(sqrt(1+tan(x)-sqrt(1+sin(x)/(x*sqrt(1+sin(x)2)-x);>> limit(f) ans = 1/2求导数的运算syms t;>> y=(exp(x)-exp(-x)/(exp(x)+exp(-x);>> diff(y)ans =1-(exp(x)-exp(-x)2/(exp(x)+exp(-x)2求高阶的运算>> syms x;>> y=exp(x)*cos(x);>> diff(y,4)ans =-4*exp(x)*cos(x)求积分的运算syms x y z;>> f=x;>> int(int(int(f,x,0,1),y,0,1/2),z,0,1)ans =1/4求泰勒展开syms x n;>> s=symsum(xn/(n+1),n,0,inf)s =-1/x*log(1-x)求级数的运算syms x;>> taylor(x.2-3*x+1).3,x,1,inf)ans =x6-9*x5+30*x4-45*x3+30*x2-9*x+1>> pretty(ans) 6 5 4 3 2 x - 9 x + 30 x - 45 x + 30 x - 9 x + 1五、 对本课程的看法和改进意见。通过对Matlab的学习,我能真切感受到计算机技术在现代生活中所起的举足轻重的作用,在计算机的帮助下,人们可以将很复杂的现实问题轻而易举的解决,节省大量的物力、财力、人力。计算机技术使我们的生活更加的方便快捷。当初选这门课程的时候我很犹豫,