MATLAB作图技巧和方法

1、数学建模与数学实验数学建模与数学实验MATLAB作图作图二维图形二维图形三维图形三维图形图形处理图形处理实例实例作业作业特殊二、三维图形特殊二、三维图形Matlab作图是通过描点、连线来实现的,故在画一个曲线图形之前,必须先取得该图形上的一系列的点的坐标(即横坐标和纵坐标),然后将该点集的坐标传给Matlab函数画图.命令为:PLOT(X,Y,S)PLOT(X,Y)-画实线PLOT(X,Y1,S1,X,Y2,S2,X,Yn,Sn)-将多条线画在一起X,Y是向量,分别表示点集的横坐标和纵坐标线型y黄色黄色.点点-连线连线m洋红洋红o圈圈:短虚线短虚线c蓝绿色蓝绿色

2、xx-符号符号-.长短线长短线r红色红色+加号加号-长虚线长虚线1.曲线图曲线图例例在0,2*pi用红线画sin(x),用绿圈画cos(x).x=linspace(0,2*pi,30);y=sin(x);z=cos(x);plot(x,y,r,x,z,g0)解解Matlabliti12.符号函数符号函数(显函数、隐函数和参数方程显函数、隐函数和参数方程)画图画图(1)ezplotezplot(x(t),y(t),tmin,tmax)表示在区间tminttmax绘制参数方程x=x(t),y=y(t)的函数图ezplot(f(x),a,b)表示在axb绘制显函数f=

3、f(x)的函数图ezplot(f(x,y),xmin,xmax,ymin,ymax)表示在区间xminxxmax和yminyymax绘制隐函数f(x,y)=0的函数图例例在0,pi上画y=cos(x)的图形解解输入命令ezplot(sin(x),0,pi)Matlabliti25解解输入命令ezplot(cos(t)3,sin(t)3,0.2*pi)Matlabliti41例例在-2,0.5,0,2上画隐函数0)sin(xyex的图解解输入命令ezplot(exp(x)+sin(x*y),-2,0.5,0,2)Matlabliti40例例在0,2*pi上画tx3cos

4、,ty3sin星形图(2)fplot注意:1fun必须是M文件的函数名或是独立变量为x的字符串.2fplot函数不能画参数方程和隐函数图形,但在一个图上可以画多个图形。fplot(fun,lims)表示绘制字符串fun指定的函数在lims=xmin,xmax的图形.例例在-1,2上画)3sin(22xeyx的图形解解先建M文件myfun1.m:functionY=myfun1(x)Y=exp(2*x)+sin(3*x.2)再输入命令:fplot(myfun1,-1,2)Matlabliti43例例x、y的取值范围都在-2,2,画函数tanh(x),sin(x)

5、,cos(x)的图形Matlabliti28解解输入命令:fplot(tanh(x),sin(x),cos(x),2*pi*-1111)例例在-2,2范围内绘制函数tanh的图形解解fplot(tanh,-2,2)Matlabliti423.对数坐标图对数坐标图在很多工程问题中,通过对数据进行对数转换可以更清晰地看出数据的某些特征,在对数坐标系中描绘数据点的曲线,可以直接地表现对数转换.对数转换有双对数坐标转换和单轴对数坐标转换两种.用loglog函数可以实现双对数坐标转换,用semilogx和semilogy函数可以实现单轴对数坐标转换.loglog(Y)表示x、

6、y坐标都是对数坐标系semilogx(Y)表示x坐标轴是对数坐标系semilogy()表示y坐标轴是对数坐标系plotyy有两个y坐标轴,一个在左边,一个在右边例例用方形标记创建一个简单的loglog解解输入命令:x=logspace(-1,2);loglog(x,exp(x),-s)gridon%标注格栅Matlabliti37例例创建一个简单的半对数坐标图解解输入命令:x=0:.1:10;semilogy(x,10.x)Matlabliti38例例绘制y=x3的函数图、对数坐标图、半对数坐标图Matlabliti22返回三维图形三维图形1、空间曲线空间

7、曲线2、空间曲面空间曲面返回PLOT3(x,y,z,s)空空间间曲曲线线1、一条曲线一条曲线例例在区间0,10*pi画出参数曲线x=sin(t),y=cos(t),z=t.Matlabliti8解解t=0:pi/50:10*pi;plot3(sin(t),cos(t),t)rotate3d%旋转n维向量,分别表示曲线上点集的横坐标、纵坐标、函数值指定颜色、线形等PLOT3(x,y,z)2、多条曲线多条曲线例画多条曲线观察函数Z=(X+Y).2.(这里meshgrid(x,y)的作用是产生一个以向量x为行、向量y为列的矩阵)Matlabliti9其中x,y

8、,z是都是m*n矩阵,其对应的每一列表示一条曲线.解x=-3:0.1:3;y=1:0.1:5;X,Y=meshgrid(x,y);Z=(X+Y).2;plot3(X,Y,Z)返回空空间间曲曲面面例画函数Z=(X+Y).2的图形.解x=-3:0.1:3;y=1:0.1:5;X,Y=meshgrid(x,y);Z=(X+Y).2;surf(X,Y,Z)shadingflat%将当前图形变得平滑Matlabliti11(1)surf(x,y,z)画出数据点(x,y,z)表示的曲面数据矩阵。分别表示数据点的横坐标、纵坐标、函数值(2)Mesh(x,y,z)解

9、x=-3:0.1:3;y=1:0.1:5;X,Y=meshgrid(x,y);Z=(X+Y).2;mesh(X,Y,Z)Matlabliti24例画出曲面Z=(X+Y).2在不同视角的网格图.画网格曲面数据矩阵。分别表示数据点的横坐标、纵坐标、函数值(3)meshz(X,Y,Z)在网格周围画一个curtain图(如,参考平面)解解输入命令:X,Y=meshgrid(-3:.125:3);Z=praks(X,Y);Meshz(X,Y,Z)例例绘peaks的网格图Matlabliti36返回在图形上加格栅、图例和标注在图形上加格栅、图例和标注定制坐标定制坐标图形保持图

10、形保持分割窗口分割窗口缩放图形缩放图形改变视角改变视角图形处理返回动动画画1、在图形上加格栅、图例和标注、在图形上加格栅、图例和标注(1)GRIDON:加格栅在当前图上GRIDOFFGRIDOFF:删除格栅处理图形处理图形(2)hh=xlabel(string):在当前图形的x轴上加图例stringhh=ylabel(string):在当前图形的y轴上加图例stringhh=title(string):在当前图形的顶端上加图例stringhh=zlabel(string):在当前图形的z轴上加图例string例例在区间0,2*pi画sin(x)的图形,并

11、加注图例“自变量X”、“函数Y”、“示意图”,并加格栅.解解x=linspace(0,2*pi,30);y=sin(x);plot(x,y)xlabel(自变量X)ylabel(函数Y)title(示意图)gridonMatlabliti2(3)hh=gtext(string)命令gtext(string)用鼠标放置标注在现有的图上.运行命令gtext(string)时,屏幕上出现当前图形,在图形上出现一个交叉的十字,该十字随鼠标的移动移动,当按下鼠标左键时,该标注string放在当前十交叉的位置.例例在区间0,2*pi画sin(x),并分别标注“sin(x

12、)””cos(x)”.解解x=linspace(0,2*pi,30);y=sin(x);z=cos(x);plot(x,y,x,z)gtext(sin(x);gtext(cos(x)Matlabliti3返回2、定制坐标、定制坐标Axis(xminxmaxyminymaxzminzmax)例例在区间0.005,0.01显示sin(1/x)的图形。解解x=linspace(0.0001,0.01,1000);y=sin(1./x);plot(x,y)axis(0.0050.0111)Matlabliti4返回定制图形坐标将坐标轴返回到自动缺省值Axis

13、autox、y、z的最大、最小值3、图形保持、图形保持(1)holdonholdof例例将y=sin(x)、y=cos(x)分别用点和线画出在同一屏幕上。解解x=linspace(0,2*pi,30);y=sin(x);z=cos(x)plot(x,z,:)holdonPlot(x,y)Matlabliti5保持当前图形,以便继续画图到当前图上释放当前图形窗口(2)figure(h)例例区间0,2*pi新建两个窗口分别画出y=sin(x);z=cos(x)。解解x=linspace(0,2*pi,100);y=sin(x);z=cos(x);plot(x

14、,y);title(sin(x);pausefigure(2);plot(x,z);title(cos(x);Matlabliti6返回新建h窗口,激活图形使其可见,并把它置于其它图形之上4、分割窗口、分割窗口h=subplot(mrows,ncols,thisplot)划分整个作图区域为mrows*ncols块(逐行对块访问)并激活第thisplot块,其后的作图语句将图形画在该块上。激活已划分为mrows*ncols块的屏幕中的第thisplot块,其后的作图语句将图形画在该块上。命令Subplot(1,1,1)返回非分割状态。subplot(mrows,ncols,thi

15、splot)subplot(1,1,1)解解x=linspace(0,2*pi,100);y=sin(x);z=cos(x);a=sin(x).*cos(x);b=sin(x)./(cos(x)+eps)subplot(2,2,1);plot(x,y),title(sin(x)subplot(2,2,2);plot(x,z),title(cos(x)subplot(2,2,3);plot(x,a),title(sin(x)cos(x)subplot(2,2,4);plot(x,b),title(sin(x)/cos(x)例例将屏幕分割为四块,并分别画出y=sin(x),z=

16、cos(x),a=sin(x)*cos(x),b=sin(x)/cos(x)。Matlabliti7返回5、缩放图形、缩放图形zoomon单击鼠标左键,则在当前图形窗口中,以鼠标点中的点为中心的图形放大2倍;单击鼠标右键,则缩小2倍解解x=linspace(0,2*pi,30);y=sin(x);Plot(x,y)zoomonMatlabliti13例例缩放y=sin(x)的图形zoomoff为当前图形打开缩放模式关闭缩放模式返回6.改变视角改变视角view(1)view(a,b)命令view(a,b)改变视角到(a,b),a是方位角,b为仰角。缺省视角为(-37

17、.5,30)。解x=-3:0.1:3;y=1:0.1:5;X,Y=meshgrid(x,y);Z=(X+Y).2;subplot(2,2,1),mesh(X,Y,Z)subplot(2,2,2),mesh(X,Y,Z),view(50,-34)subplot(2,2,3),mesh(X,Y,Z),view(-60,70)subplot(2,2,4),mesh(X,Y,Z),view(0,1,1)Matlabliti10例画出曲面Z=(X+Y).2在不同视角的网格图.view用空间矢量表示的,三个量只关心它们的比例,与数值的大小无关,x轴view(1,0,0),y

18、轴view(0,1,0),z轴view(0,0,1)。(2)view(x,y,z)返回7.动画动画Moviein(),getframe,movie()函数Moviein()产生一个帧矩阵来存放动画中的帧;函数getframe对当前的图象进行快照;函数movie()按顺序回放各帧。Matlabliti14返回例将曲面peaks做成动画。解x,y,z=peaks(30);surf(x,y,z)axis(-33-33-1010)m=moviein(15);fori=1:15view(-37.5+24*(i-1),30)m(:,i)=getframe;end

19、movie(m)特殊二、三维图形特殊二、三维图形1、特殊的二维图形函数特殊的二维图形函数2、特殊的三维图形函数特殊的三维图形函数返回特殊的二维图形函数特殊的二维图形函数1、极坐标图:、极坐标图:polar(theta,rho,s)用角度theta(弧度表示)和极半径rho作极坐标图,用s指定线型。例的极坐标图形。2cos2sinr解:theta=linspace(0,2*pi),rho=sin(2*theta).*cos(2*theta);polar(theta,rho,g)title(Polarplotofsin(2*theta).*cos(2*theta);Matlabl

20、iti152、散点图散点图:scatter(X,Y,S,C)在向量X和Y的指定位置显示彩色圈X和Y必须大小相同解解输入命令:loadseamountscatter(x,y,5,z)Matlabliti293、平面等值线图:平面等值线图:contour(x,y,z,n)绘制n个等值线的二维等值线图解解输入命令:X,Y=meshgeid(-2:.2:2,-2:.2:3);Z=X.*exp(-X.2-Y.2);C,h=contour(X,Y,Z);clabel(C,h)colormapcoolMatlabliti34例例绘制seamount散点图例例在

21、范围-2x2,-2y3内绘22yxxez的等值线图返回特殊的三维图形函数特殊的三维图形函数1、空间等值线图:、空间等值线图:contour3(x,y,z,n)其中n表示等值线数。例例山峰的三维和二维等值线图。解x,y,z=peaks;subplot(1,2,1)contour3(x,y,z,16,s)grid,xlabel(x-axis),ylabel(y-axis)zlabel(z-axis)title(contour3ofpeaks);subplot(1,2,2)contour(x,y,z,16,s)grid,xlabel(x-axis),ylabel(y-axis)title(contourofpeaks);Matlabliti183、三维散点图三维散点图scatter3(X,Y,Z,S,C)在向量X,Y和Z指定的位置上显示彩色圆圈.向量X,Y和Z的大小必须相同.解解输入命令:x,

THE END
1.MATLAB期末复习笔记(二)①函数文件是另一类m文件,可以像库函数一样方便地被调用,MATLAB提供的许多工具箱,是由函数文件组成的。 ②对于某一类特殊问题,用户可以建立系统的函数文件,形成专用工具箱。 ③函数文件的第一行有特殊的要求,它必须遵循如下的形式: function<因变量>=<函数名>(<自变量>) ...http://www.mynw.cn/news/268317.html
2.matlab画图技巧ranjiewenmatlab 画图技巧 基本画图工具:matlab 画图中线型及颜色设置 matlab中坐标轴设置技巧 **Matlab中的坐标轴设置技巧** axisoff;%去掉坐标轴axistight;%紧坐标轴axisequal;%等比坐标轴axis([-0.1,8.1,-1.1,1.1]);% 坐标轴的显示范围x = -pi/2:0.01:pi;plot(x,sin(x))% 先绘制个基本图形% gca: gca, h=...https://www.cnblogs.com/ranjiewen/p/6850451.html
1.《数字图像处理基础》学习07图像几何变换之最近邻插值法放大图像则思路正确,直接用自己的思路编写matlab程序去处理读取的图像,下面的解题思路可以选择跳过。 1,解题思路 从之前的概念中就已经可以用手算出g。 例如: 首先根据放大原始图像 的行列倍数创建一个放大后的图像矩阵 原始图像 第 行第 列的像素值会跑到放大图像 ...https://blog.csdn.net/weixin_53046747/article/details/144103491
2.用python中的MATLAB画图片堆叠的效果用Python与MATLAB合作实现图片堆叠效果 在数据可视化领域,图片的堆叠效果常用于展示多组数据之间的比较。本文将介绍如何利用Python配合MATLAB实现图片的堆叠效果,通过简单的代码示例,让你轻松上手。 引言 在数据分析过程中,我们经常需要将多幅图片进行对比展示。MATLAB以其强大的图形处理能力而闻名,而Python则被广泛应用于数...https://blog.51cto.com/u_16213358/12700176
3.如何在MATLAB中画多条曲线六、总结 在MATLAB中,绘制多条曲线非常简单。我们可以使用plot函数和一些其他的函数来实现在同一张图中绘制多条曲线。同时,我们还可以通过添加额外的参数和自定义曲线的颜色和样式来使图形更加美观和易读。 阅读剩余 32%https://www.506064.com/n/187668.html
4.数学建模基础教程!matlab算法编程数学神经网络3、实例计算、MATLAB求解拟合及预测,可直接用于论文 8 微分方程模型 传染病模型的经典公式、离散格式及其MATLAB编程求解 9 排队论模型 1、排队论基本构成与指标 2、排队论中的等待制模型及LINGO编程求解 3、排队论的计算机模拟与实例,MATLAB代码复制可用 https://www.163.com/dy/article/G55J0L0C0538057A.html
5.Matlab小技巧1:画图figure保留高清图片Matlab小技巧1:画图figure保留高清图片 技术标签:Matlabmatlab 查看原文 MATLAB如何保存仿真高清图片!(matlab) MATLAB如何保存仿真高清图片!(matlab)1.先打开你的fig文件:2.在命令窗口输入: print -f1-djpeg -r600 mypic 并回车,图片就保存到与fig文件的同文件夹中。 f1:你文件的名字,比如你的文件名是:Figure1,...https://www.pianshen.com/article/26651621366/
6.一文搞懂Matlab画图那些事(上篇)腾讯云开发者社区这里博主整理合并关于画图那些命令,只为让你轻松搞定Matlab画图这些琐事,那么,来吧!说明:本博文主要是二维图形的绘制,二维图形是将平面坐标上的数据点连接起来的平面图形。可以采用不同的坐标系,如直角坐标、对数坐标、极坐标等。二维图形的绘制是其他绘图操作的基础。https://cloud.tencent.com/developer/article/1011630
7.计算机学习心得(20篇)这次的学习让我思考了一些东西,也学到了一些东西,这也让我发现,自己还有很多东西需要学习,自己的教学还有很多需要改进的地方,对于本门课程来说,我也还有很多东西不知道,许多操作windows的技巧方法以及原理知识不太清楚,作为一名人民教师,为了更好的培育学生,指导学生,自己还有需要不断的'充实自己不断的改进自己,渊博的...https://www.unjs.com/fanwenwang/xdth/20230302120800_6568217.html
8.Matlab几个常用的绘图颜色搭配推荐相关技巧使用matlab画图时,怎样才能调出顺眼的颜色呢?下面这篇文章主要给大家介绍了关于Matlab几个常用的绘图颜色搭配,文中通过图文介绍的非常详细,需要的朋友可以参考下 前言 matlab绘图时,经常使用的颜色对比明显,易于区分,但有时美观性欠佳,各颜色之间略显突兀,下面就精不就多,推荐几款常用的离散色系搭配。 https://m.jb51.net/article/257296.htm