数学建模与数学实验第3讲MATLAB作图
- 格式:ppt
- 大小:503.00 KB
- 文档页数:36
西安理工大学学生实验报告数学实验实验课程名称:实验名称:实验三MATLAB软件入门(绘图)学院:自动化与信息工程学院学生姓名:班级:学号:一、实验目的及意义[1]掌握MATLAB软件的基本绘图命令;[2]掌握MATLAB语言的几种循环、条件和开关选择结构。
通过该实验的学习,使学生能灵活应用MATLAB软件解决一些简单问题,能借助MATLAB软件的绘图功能,对函数的特性进行探讨,广泛联想,大胆猜想,发现进而证实其中的规律。
二、实验内容[1]使用MATLAB进行作图练习;[2]用MATLAB语言编写命令M文件。
三、实验心得体会经过腾讯课堂视频教学与展示,以及多次练习,已经能够熟练掌握所学内容,通过MATLAB各种绘图函数的调用,解决平面及三维绘图,着实感受到MATLAB的方便与强大。
四、实验任务1. 学习plot命令的使用(1)采用plot命令绘制y=sin(x) -2π<x<2π的图形采用title命令给图形加上标题采用xlabel与ylabel 命令给坐标轴加上名字(2)采用plot命令绘制y=cos(x) -2π<x<2π的图形(3)采用hold on 与plot 命令将将两个sin与cos的图形绘制在一张图上(4)采用一句plot命令将两个sin与cos的图形绘制在一张图上要求sin 采用蓝色实线; cos 采用红色点划线Legend命令在图上给出图标采用axis命令,是x坐标显示范围[-1,1] ,y坐标显示范围[-2,2](4)采用help命令学习plot命令的用法>> help plotplot - 二维线图此MATLAB 函数创建Y 中数据对X 中对应值的二维线图。
如果X 和Y 都是向量,则它们的长度必须相同。
plot 函数绘制Y 对X 的图。
如果X 和Y 均为矩阵,则它们的大小必须相同。
plot 函数绘制Y 的列对X 的列的图。
如果X 或Y中的一个是向量而另一个是矩阵,则矩阵的各维中必须有一维与向量的长度相等。
基本形式>> y=[0 0.58 0.70 0.95 0.83 0.25];>> plot(y) 生成的图形是以序号为横坐标、数组y的数值为纵坐标画出的折线。
>> x=linspace(0,2*pi,30); % 生成一组线性等距的数值>> y=sin(x);>> plot(x,y) 生成的图形是上30个点连成的光滑的正弦曲线。
多重线在同一个画面上可以画许多条曲线,只需多给出几个数组,例如>> x=0:pi/15:2*pi; >> y1=sin(x);>> y2=cos(x);>> plot(x,y1,x,y2) 则可以画出多重线。
另一种画法是利用hold命令。
在已经画好的图形上,若设置hold on,MATLA将把新的plot命令产生的图形画在原来的图形上。
而命令hold off 将结束这个过程。
例如:>> x=linspace(0,2*pi,30); y=sin(x); plot(x,y) >> hold on >> z=cos(x); plot(x,z) >> hold off线型和颜色MATLAB对曲线的线型和颜色有许多选择,标注的方法是在每一对数组后加一个字符串参数,说明如下:线型线方式:- 实线:点线-. 虚点线- - 波折线。
线型点方式: . 圆点+加号* 星号x x形o 小圆颜色:y黄;r红;g绿;b蓝;w白;k黑;m 紫;c青.以下面的例子说明用法:>> x=0:pi/15:2*pi; >> y1=sin(x); y2=cos(x); >> plot(x,y1,’b:+’,x,y2,’g-.*’) 网格和标记在一个图形上可以加网格、标题、x轴标记、y轴标记,用下列命令完成这些工作。
>> x=linspace(0,2*pi,30); y=sin(x); z=cos(x); >> plot(x,y,x,z) >> grid >> xlabel(‘Independent Variable X’) >> ylabel(‘Dependent Variables Y and Z’) >> title(‘Sine and Cosine Curves’)也可以在图形的任何位置加上一个字符串,如用:>> text(2.5,0.7,’sinx’) 表示在坐标x=2.5, y=0.7处加上字符串sinx。
实验三 MATLAB绘图一、实验目的1.掌握绘制二维图形的常用函数。
2.掌握绘制三维图形的常用函数。
3.熟悉利用图形对象进行绘图操作的方法。
4.掌握绘制图形的辅助操作。
二、实验原理1.二维数据曲线图(1)绘制单根二维曲线 plot(x,y);(2)绘制多根二维曲线 plot(x,y) 当x是向量,y是有一维与x同维的矩阵时,则绘制多根不同颜色的曲线。
当x,y是同维矩阵时,则以x,y对应列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。
(3)含有多个输入参数的plot函数 plot(x1,y1,x2,y2,…,xn,yn)(4)具有两个纵坐标标度的图形 plotyy(x1,y1,x2,y2)2.图形标注与坐标控制1)title (图形名称)2)xlabel(x轴说明)3)ylabel(y轴说明)4)text(图形说明)5)legend(图例1,图例2,…)6)axis ([xmin xmax ymin ymax zmin zmax])3.图形窗口的分割subplot(m,n,p)4.三维曲线plot3(x1,y1,z1,选项1,x2,y2,选项2,…,xn,yn,zn,选项n)5.三维曲面mesh(x,y,z,c) 与surf(x,y,z,c)。
一般情况下,x,y,z是维数相同的矩阵。
X,y是网格坐标矩阵,z是网格点上的高度矩阵,c用于指定在不同高度下的颜色范围。
6.图象处理(1) imread和imwrite函数这两个函数分别用于将图象文件读入matlab工作空间,以及将图象数据和色图数据一起写入一定格式的图象文件。
(2) image和imagesc函数这两个函数用于图象显示。
为了保证图象的显示效果,一般还应使用colormap函数设置图象色图。
7.低层绘图操作将图形的每个图形元素(如坐标轴、曲线、文字等)看做一个独立的对象,系统给每个对象分配一个句柄,可以通过句柄对该图形元素进行操作。
8.图形保存图形窗口的File/Save as命令可以将图形保存为多种格式。
MATLAB实验报告(绘图)MATLAB实验报告——MATLAB绘图学号:学院:班级:姓名:1、绘制y = e x 3sin 3x (x ∈ 0,4π ) 的图像,要求用蓝色的星号画图;并且画出其包络线y = ±e x 3 的图像,用红色的点划线画图. MATLAB Code: x = 0:pi/50:4*pi;y = exp(x/3).*sin(3*x);z(1,:) = exp(x/3);z(2,:) = -exp(x/3);plot(x,y,'b*',x,z(1,:),'r-.',x,z(2,:),'r-.');2、用fplot 和ezplot 命令绘出函数y = e2t 3sin ?(1+2t ) 在区间[1,10]上的图像.MATLAB Code:subplot(1,2,1),fplot(@(t)exp(-2*t/3).*sin(1+2*t),[1,10]); title('fplot');xlabel('t');subplot(1,2,2),ezplot('exp(-2*t/3).*sin(1+2*t)',[1,10]); title('ezplot');3、在同一图形窗口画三个字图,要求使用指令gtext,axis,legend,title,xlabel,ylabel:(1)y=xcosx,x∈(?π,π)(2) y=xtan1xsin x3,x∈(π,4π)(3) y=e 1sin x,x∈[1,8]MATLAB Code:subplot(2,2,1),x1 = -pi:pi/50:pi;y1 = x1.*cos(x1);plot(x1,y1,'r'),axisequal,legend('x*cosx'),title('f1'),xlabel('x'),ylabel('y'); subplot(2,2,2),x2 = pi:pi/50:4*pi;y2 = x2.*tan(1./x2).*sin(x2.^3);plot(x2,y2,'b'),axisequal,legend('x*tan(1/x)*sin(x^3)'),title('f2'),xlabel('x') ,ylabel ('y');subplot(2,2,3:4),x3 = 1:0.01:8;y3 = exp(1./x3).*sin(x3);plot(x3,y3,'g'),legend('exp(1/x)*sinx'),title('f3'),xlabel( '时间'),ylabel('位移');gtext('x*cosx');4、使用合适的单轴对数坐标函数绘制函数y=e x2的图像(其中1≤x≤10)MATLAB Code:x = 1:0.01:10;y = exp(x.^2);semilogy(x,y,'b-.');xlabel('x'),ylabel('y');5、绘制圆锥螺线的图像并添加各种标注,圆锥螺线的参数方程为:x =tcos πt y =tsin π6t z =2t(0≤t ≤20π) MATLAB Code:t = 0:pi/50:20*pi;x = t.*cos(pi/6*t);y = t.*sin(pi/6*t);z = 2*t;plot3(x,y,z,'b'),grid on;title('圆锥螺线');xlabel('x = tcost');ylabel('y = tsint');zlabel('z = 2t');6、在同一个图形窗口画半径为1的球面、柱面x2+y2=1以及极sin4t,t∈[0,2π].坐标图形ρ=12MATLAB Code:subplot(1,2,1),sphere(100);hold on;cylinder;hold on;t = 0:pi/50:2*pi;r = 0.5*sin(4*t);subplot(1,2,2);polar(t,r);title('r = 0.5*sin4t');7、用mesh与surf命令绘制三维曲面z=x2+3y2的图像,并使用不同的着色效果及光照效果.MATLAB Code:t = -3:0.1:3;[x,y] = meshgrid(t);z = x.^2+3*y.^2;subplot(1,2,1),mesh(x,y,z),title('网格z = x^2+3y^2'),shading flat;light('position',[10,10,2]);subplot(1,2,2),surf(x,y,z),title('表面z = x^2+3y^2');shading interp; light('position',[5,-4,-2]);8、绘制由函数x 29+y216+z24=1形成的立体图,并通过改变观测点获得该图形在各个坐标平面的投影.MATLAB Code:t = 0:pi/50:2*pi;[x,y] = meshgrid(t,t);X = 3*sin(y).*cos(x);Y = 4*sin(y).*sin(x);Z = 2*cos(y); subplot(2,2,1);mesh(X,Y,Z);title('x^2/9+y^2/16+z^2/4=1');subplot(2,2,2);mesh(X,Y,Z);view(90,0);title('x^2/9+y^2/16+z^2/4=1在yoz面投影'); subplot(2,2,3);mesh(X,Y,Z);view(0,0);title('x^2/9+y^2/16+z^2/4=1在xoz面投影'); subplot(2,2,4);mesh(X,Y,Z);view(0,90);title('x^2/9+y^2/16+z^2/4=1在xoy面投影');9、画三维曲面z=5?x2?y2?2≤x,y≤2与平面z=3的交线. MATLAB Code:t = -2:0.01:2;[x,y] = meshgrid(t);z1=(5-x.^2-y.^2);z2 = 3*ones(length(t));r0 = (abs(z1-z2)<=0.03);zz = r0.*z2;yy = r0.*y;xx = r0.*x;plot3(xx(r0~=0),yy(r0~=0),zz(r0~=0),'b.');xlabel('x'),ylabel('y'),zlabel('z');title('z = 5-x^2-y^2 与 z = 3的交线');10(附加)、利用迭代复函数z n+1=z n2+c,c∈C构造Mandelbrot集. Mandelbrot集定义为:M: =c∈C| |c|≤2,|c2+c|≤2,|(c2+c)2+c|≤2…….MATLAB Code:%最大迭代数网格细度%本次作图取maxloopNum = 100,Eps = 0.05function drawMandelbrot(maxloopNum,Eps)t = -2:Eps:2;[x,y] = meshgrid(t);z = x+i*y;isMandel = zeros(length(t));for j = 1:length(z)for k = 1:length(z)iter = 0;current = z(j,k);temp = current;while abs(temp)<=2 && iter<maxloopnum< p="">temp = temp^2+current;iter = iter + 1;endif iter == maxloopNumisMandel(j,k) = 1;endendendplot(z.*isMandel,'.');axis equal;title('MandelBrot set');legend('loop = 100,eps = 0.05','Location','northwest'); xlabel('x'),ylabel('iy');end</maxloopnum<>。