您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > 使用matlab软件进行三维绘图
使用matlab软件进行绘图MATLAB是英文MaTrixLaboratory(矩阵实验室)的缩写。在科学研究和工程应用中,往往要进行大量的数学计算,其中包括矩阵运算,这些运算一般来说难以用手工精确和快捷地进行,需要借助计算机编制相应的程序做近似计算。目前流行用Basic、C语言编制计算程序,既需要对有关算法有深刻的了解,还需要熟练地掌握所用语言的语法及编程技巧。对多数科学工作者而言,有一定的困难。为克服上诉困难一些著名的软件公司都分别推出了一批数学类技术应用软件,例如MATLAB、MAPLE等。其中Mathworks公司推出的MATLAB由于其功能强大和应用广泛,受到很多科技工作者的欢迎,在美国、欧洲等发达国家的大学中,已成为一种必须掌握的编程语言。请用你所熟悉的编程语言编写程序实现下列功能:求解下列方程,并求解矩阵A的特征值。Ax=b,其中:A=32134567237985124323546598347135b=12341.Matlab简介Matlab的基本数据单位是矩阵。Matlab由主包和三十几种工具包(Toolbox)。工具包又可以分为功能性工具包和学科工具包。开放性,使Matlab广受用户欢迎。除内部函数外,所有Matlab主包文件和各种工具包都是可读可修改的文件,用户通过对源程序的修改或加入自己编写程序构造新的专用工具包。2.Matlab的语言特点⑴语言简洁紧凑,使用方便灵活,库函数极其丰富。⑵运算符丰富。⑶Matlab既具有结构化的控制语句(如for循环,while循环,break语句和if语句),又有面向对象编程的特性。⑷程序限制不严格,程序设计自由度大。⑸程序的可移植性很好。⑹Matlab的图形功能强大。⑺Matlab的缺点是,它和其他高级程序相比,程序的执行速度较慢。⑻功能强大的工具箱是Matlab的另一特色。⑼源程序的开放性。3.MATLAB二维绘图二维图形的绘制是MATLAB语言图形处理的基础3.1plot函数的基本用法MATLAB最常用的画二维图形的命令是plot,plot函数的基本调用格式为:plot(x,y)看个简单的例子:y=[00.580.700.950.830.25];plot(y)生成的图形见图。plot(x,y)其中x和y为长度相同的向量,分别用于存储x坐标和y坐标数据。例3-1在0≤X≤2区间内,绘制曲线y=sin(2πx)。程序如下:x=0:pi/100:2*pi;y=sin(2*pi*x);plot(x,y);说明:(1)当x,y是同维矩阵时,则以x,y对应列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。(2)当x是向量,y是有一维与x同维的矩阵时,则绘制出多根不同色彩的曲线。曲线条数等于y矩阵的另一维数,x被作为这些曲线共同的横坐标。(3)plot函数最简单的调用格式是只包含一个输入参数:plot(x)。3.2多重线含多个输入参数的plot函数调用格式为:plot(x1,y1,x2,y2,…,xn,yn)在同一个画面上可以画许多条曲线,只需多给出几个数组,例如x=0:pi/15:2*pi;y1=sin(x);y2=cos(x);plot(x,y1,x,y2)则可以画出图3-2。多重线的另一种画法是利用hold命令。在已经画好的图形上,若设置holdon,MATLA将把新的plot命令产生的图形画在原来的图形上。而命令holdoff将结束这个过程。例3-2:y=sin(x);plot(x,y)holdonz=cos(x);plot(x,z)holdoffMATLAB的常用数学函数函数名功能sin正弦函数cos余弦函数tan正切函数acos反余弦函数atan反正切函数exp指数函数log自然对数函数sqrt平方根函数3.含选项的plot函数含选项的plot函数调用格式为:plot(x1,y1,’选项1’,x2,y2,’选项2’,…,xn,yn,’选项n’)plot函数绘图参数表大全-颜色和线型颜色符号线型符号黄色y点.洋红m空心圆o青色cx标记x绿色g星号*兰色b正方形s白色s菱形d黑色k下三角v上三角^左三角右三角五角星p六角星h实线-点线:点画线-.虚线--例3-3用不同线型和颜色在同一坐标内绘制曲线y=2e-0.5xsin(2πx)及其包络线。程序如下:x=(0:pi/100:2*pi)';y1=2*exp(-0.5*x)*[1,-1];y2=2*exp(-0.5*x).*sin(2*pi*x);x1=(0:12)/2;y3=2*exp(-0.5*x1).*sin(2*pi*x1);plot(x,y1,'g:',x,y2,'b--',x1,y3,‘mp');3.4.绘制图形的辅助操作1.图形标注有关图形标注函数的调用格式为:title(图形名称)xlabel(x轴说明)ylabel(y轴说明)text(x,y,图形说明)legend(图例1,图例2,…)legend函数的基本用法是legend(string1,string2,string3,...)分别将字符串1、字符串2、字符串3……标注到图中,每个字符串对应的图标为画图时的图标。例如:plot(x,sin(x),'.b',x,cos(x),'+r')legend('sin','cos')这样可以把.标识为'sin',把+标识为cos例3-4给图形添加图形标注。程序如下:x=(0:pi/100:2*pi)';y1=2*exp(-0.5*x)*[1,-1];y2=2*exp(-0.5*x).*sin(2*pi*x);x1=(0:12)/2;y3=2*exp(-0.5*x1).*sin(2*pi*x1);plot(x,y1,'g:',x,y2,'b--',x1,y3,'rp');title('曲线及其包络线');%加图形标题xlabel('independentvariableX');%加X轴说明ylabel('independentvariableY');%加Y轴说明text(2.8,0.5,'包络线');%在指定位置添加图形说明text(0.5,0.5,'曲线y');text(1.4,0.1,'离散数据点');legend('包络线','曲线y','离散数据点')%加图例例3-5用图形保持功能在同一坐标内绘制曲线y=2e-0.5xsin(2πx)及其包络线,并加网格线。程序如下:x=(0:pi/100:2*pi)';y1=2*exp(-0.5*x)*[1,-1];y2=2*exp(-0.5*x).*sin(2*pi*x);plot(x,y1,'b:');axis([0,2*pi,-2,2]);%设置坐标holdon;%设置图形保持状态plot(x,y2,'k');gridon;%加网格线boxoff;%不加坐标边框holdoff;%关闭图形保持3.5使用matlab绘制三维图形绘制三维曲线的最基本函数:plot3(x1,y1,z1,选项1,x2,y2,z2,选项2,…,xn,yn,zn,选项n)例3-6t=(0:0.02:2)*pi;x=sin(t);y=cos(t);z=cos(2*t);plot3(x,y,z,'b-',x,y,z,'bd'),view([-82,58]),boxon,legend('链','宝石')绘制三维曲线的最基本函数:1.平面网格坐标矩阵的生成(1)利用meshgrid函数生成。x=a:dx:b;y=c:dy:d;[X,Y]=meshgrid(x,y);2.绘制三维曲面的函数surf函数和mesh函数的调用格式为:mesh(x,y,z,c)mesh函数绘制三维空间中的网格曲面,曲面是由线条勾画成的;其中x,y控制X和Y轴坐标,矩阵z是由(x,y)求得Z轴坐标,(x,y,z)组成了三维空间的网格点;c用于控制网格点颜色。surf(x,y,z,c)surf函数绘制三维空间中的表面曲面,这曲面是由面片拼接而成的.用曲面图表现函数z2=x2+y2。clf,x=-4:4;y=x;[X,Y]=meshgrid(x,y);%生成x-y坐标“格点”矩阵Z=X.^2+Y.^2;%计算格点上的函数值surf(X,Y,Z);holdon;colormap(hot);stem3(X,Y,Z,‘bo’)%用来表现在格点上计算函数值作业:1、在同一个画面上绘制3条数学曲线,三条曲线分别使用不同颜色不同线型。2、用曲面图表现函数z2=sqrt(x2+y2)3、练习透视演示[X0,Y0,Z0]=sphere(30);%产生单位球面的三维坐标X=2*X0;Y=2*Y0;Z=2*Z0;%产生半径为2的球面的三维坐标clf,surf(X0,Y0,Z0);%画单位球面shadinginterp%采用插补明暗处理holdon,mesh(X,Y,Z),colormap(hot),holdoff%采用hot色图hiddenoff%产生透视效果axisequal,axisoff%不显示坐标轴
本文标题:使用matlab软件进行三维绘图
链接地址:https://www.777doc.com/doc-3371850 .html