【数学建模学习】matlab作图
使用matlab绘制三维图形的方法

使用matlab绘制三维图形的方法要使用MATLAB绘制三维图形,首先需要了解MATLAB中的三维绘图函数和绘图选项。
下面将介绍一些常用的绘制三维图形的方法。
1.绘制基本的三维图形要绘制基本的三维图形,可以使用以下函数:- plot3(函数:用于在三维坐标系中绘制线条。
- scatter3(函数:用于在三维坐标系中绘制散点图。
- surf(函数:用于绘制三维曲面图。
- mesh(函数:用于绘制三维网格图。
- bar3(函数:用于绘制三维条形图。
- contour3(函数:用于绘制三维等高线图。
例如,下面的代码演示了如何使用plot3(函数绘制一个三维线条图:```x = linspace(0, 2*pi, 100);y = sin(x);z = cos(x);plot3(x, y, z, 'LineWidth', 2);xlabel('X');ylabel('Y');zlabel('Z');title('3D Line Plot');```2.添加颜色和纹理在绘制三维图形时,可以使用颜色和纹理来增加图形的信息。
MATLAB 提供了一系列函数来处理颜色和纹理,如:- colormap(函数:用于设置颜色映射。
- caxis(函数:用于设置坐标轴范围。
- shading(函数:用于设置颜色插值方法。
- texturemap(函数:用于设置纹理映射方法。
例如,下面的代码展示了如何使用纹理映射来绘制一个球体:```[X, Y, Z] = sphere(50);C = colormap('jet');surface(X, Y, Z, 'FaceColor', 'texturemap', 'CData', C);axis equal;```3.绘制多个数据集要在同一张图中绘制多个数据集,可以使用hold on和hold off命令。
第二讲 MATLAB 绘图

绘制y=1-exp(0.3*t).*cos(0.7*t)
t=6*pi*(0:100)/100; y=1-exp(-0.3*t).*cos(0.7*t); tt=t(find(abs(y-1)>0.05)); ts=max(tt); plot(t,y,'r-'); grid on; axis([0,6*pi,0.6,max(y)]); title('y=1-exp(-\alpha*t)*cos(\omega*t)'); hold on; plot(ts,0.95,'bo'); hold off; set(gca,'xtick',[2*pi,4*pi,6*pi],'ytick',[0.95,1,1.05,max(y)]); grid on;
绘制曲线
x t cos(3t ) , t 2 y t sin t
t = -pi:pi/100:pi; x = t.*cos(3*t); y = t.*sin(t).^2; plot(x,y)
2015-5-14 10
图形标识
图形标识包括:
图名(title) 坐标轴名(xlabel、ylabel) 图形文本注释(text) 图例(legend)
2015-5-14 22
双纵坐标:plotyy指令
plotyy指令调用格式:
plotyy(x1, y1, x2, y2)
x1-y1曲线y轴在左, x2-y2曲线y轴在右。
例3.7:
x = 0:0.01:20; y1 = 200*exp(-0.05*x).*sin(x); y2 = 0.8*exp(-0.5*x).*sin(10*x); plotyy(x,y1,x,y2);
第三章 matlab图形绘制

指定
grid 图形中加网格
例3.在同一坐标系下画出sinx和cosx的图形,并适当加 标注.
x=linspace(0,2*pi,30);y=[sin(x);cos(x)]; plot(x,y);grid;xlabel (‘x’);ylabel (‘y’); title(‘sine and cosine curves’); text(3*pi/4,sin(3*pi/4),’\leftarrowsinx’); text(2.55*pi/2,cos(3*pi/2),’cos\rightarrow’)
结果见下图.
4.多幅图形
subplot(m,n,p)可以在同一个图形窗口中画出多个图 形,用法见下例.
x=linspace(0,2*pi,30);y=sin(x);z=cos(x);u=2*sin(x).* cos(x);v=sin(x)./cos(x); 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,u),title(‘2sin(x)cos(x)’) subplot(2,2,4),plot(x,v),title(‘sin(x)/cos(x)’)
plot(x1,y1,x2,y2, …) 在此格式中,每对x,y必须符合 plot(x,y)中的要求,不同对之间没有影响,命令对每 一对x,y绘制曲线.
例1.做出y=sinx在[0,2π]上的图形,结果见下图.
x=linspace(0,2*pi,30); sin(x);plot(x,y)
例2.在同一坐标系下做出两条曲线y=sinx和y=cosx 在[0,2π]上的图形.结果见下图.
详尽全面的matlab绘图教程

详尽全⾯的matlab绘图教程Matlab绘图强⼤的绘图功能是Matlab的特点之⼀,Matlab提供了⼀系列的绘图函数,⽤户不需要过多的考虑绘图的细节,只需要给出⼀些基本参数就能得到所需图形,这类函数称为⾼层绘图函数。
此外,Matlab还提供了直接对图形句柄进⾏操作的低层绘图操作。
这类操作将图形的每个图形元素(如坐标轴、曲线、⽂字等)看做⼀个独⽴的对象,系统给每个对象分配⼀个句柄,可以通过句柄对该图形元素进⾏操作,⽽不影响其他部分。
本章介绍绘制⼆维和三维图形的⾼层绘图函数以及其他图形控制函数的使⽤⽅法,在此基础上,再介绍可以操作和控制各种图形对象的低层绘图操作。
⼀.⼆维绘图⼆维图形是将平⾯坐标上的数据点连接起来的平⾯图形。
可以采⽤不同的坐标系,如直⾓坐标、对数坐标、极坐标等。
⼆维图形的绘制是其他绘图操作的基础。
⼀.绘制⼆维曲线的基本函数在Matlab中,最基本⽽且应⽤最为⼴泛的绘图函数为plot,利⽤它可以在⼆维平⾯上绘制出不同的曲线。
1. plot函数的基本⽤法plot函数⽤于绘制⼆维平⾯上的线性坐标曲线图,要提供⼀组x坐标和对应的y坐标,可以绘制分别以x和y为横、纵坐标的⼆维曲线。
plot函数的应⽤格式plot(x,y) 其中x,y为长度相同的向量,存储x坐标和y坐标。
例51 在[0 , 2pi]区间,绘制曲线程序如下:在命令窗⼝中输⼊以下命令>> x=0:pi/100:2*pi;>> y=2*exp(-0.5*x).*sin(2*pi*x);>> plot(x,y)程序执⾏后,打开⼀个图形窗⼝,在其中绘制出如下曲线注意:指数函数和正弦函数之间要⽤点乘运算,因为⼆者是向量。
例52 绘制曲线这是以参数形式给出的曲线⽅程,只要给定参数向量,再分别求出x,y向量即可输出曲线:>> t=-pi:pi/100:pi;>> x=t.*cos(3*t);>> y=t.*sin(t).*sin(t);>> plot(x,y)程序执⾏后,打开⼀个图形窗⼝,在其中绘制出如下曲线以上提到plot函数的⾃变量x,y为长度相同的向量,这是最常见、最基本的⽤法。
第二章 MATLAB绘图

说明:
(1)当x,y是同维矩阵时,则以x,y对应列元素为
横、纵坐标分别绘制曲线,曲线条数等于矩阵
的列数。 (2)当x是向量,y是有一维与x同维的矩阵时, 则绘制出多根不同色彩的曲线。曲线条数等于 y矩阵的另一维数,x被作为这些曲线共同的横
坐标。
(3)plot函数最简单的调用格式是只包含一个输 入参数:plot(x)。
对图形窗口灵活分割。请看下面的程序。
x=linspace(0,2*pi,60);
y=sin(x);z=cos(x);
t=sin(x)./(cos(x)+eps); ct=cos(x)./(sin(x)+eps); subplot(2,2,1); stairs(x,y); title('sin(x)-1');axis ([0,2*pi,-1,1]); %选择2×2个区中的1号区
2.2.1绘制三维曲线的最基本函数 plot3函数与plot函数用法十分相似,其调用格式为: plot3(x1,y1,z1,选项1,x2,y2,z2,选项2,…,xn,yn,zn,选项n)
4. 对函数自适应采样的绘图函数
fplot函数的调用格式为: fplot(fname,lims,tol,选项) 例2.11 用fplot函数绘制f(x)=cos(tan(πx))的曲线。 先建立函数文件myf.m: function y=myf(x) y=cos(tan(pi*x));
再用fplot函数绘制myf.m函数的曲线:
例2.6 用图形保持功能在同一坐标内绘制曲线
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]); %设置坐标 hold on; %设置图形保持状态 plot(x,y2,'k'); grid on; %加网格线 box off; %不加坐标边框 hold off; %关闭图形保持
Matlab基础及其应用 第4章 图形绘制

'MarkerIndices',[1 31 61 91 121],... %在4个点显示标记
'MarkerEdgeColor','r',...
%设置曲线标记外框为红色
'MarkerFaceColor','y',...
%设置曲线标记内填充黄色
'MarkerSize',8)
%设置曲线标记大小为8
用法:
fplot(funx, funy, lims)
其中,funx、funy代表函数,通常采用函数句柄的形式。li
ms为参数函数funx和funy的自变量的取值范围,用二元向量
[tmin,tmax]描述。例如,例4.1也可以用以下命令实现:
>> fplot(@(t)sin(t)+sin(2*t), @(t)cos(t)-cos(2*t), [0,2*pi])
t1=linspace(0,3*pi,90);
x=cos(t1)+t1.*sin(t1);
t2=linspace(0,2*pi,50);
y=sin(t2)-t2.*cos(t2);
plot(t1,x,t2,y);
4.1 二维曲线的绘制
MATLAB基础与应用教程
4.1.1 绘制二维曲线
2.fplot函数
支持的TeX字符串中,用\bf、\it、\rm标识符分别定义字形
为加粗、倾斜和常规字体。
表4.5中的各个字符既可以单独使用,又可以和其他字符及
命令联合使用。为了将控制字符串、TeX标识符与输出字符
分隔开来,可以用大括号界定控制字符串以及受控制字符串
Matlab绘图教程(大量实例PPT)

MATLAB绘图二维数据曲线图pplot函数的基本调用格式为:x,y) )plot(plot(x,y其中x和y为长度相同的向量,分别用于存储x坐标和y坐标数据。
数据例1 在0≤x2π区间内,绘制曲线y=2e-0.5x cos(4πx)1≤区间内绘制曲线205x(4)程序如下:x=0:pi/100:2*pi;cos(4*pi*x);0.5*x).*cos(4*pi*x);y=2*exp(--0.5*x).*y=2*exp(x,y))plot(x,yplot(x yplot(x y)例2 绘制曲线。
绘制曲线程序如下:t=0:0.1:2*pi;x=t.sin(3t);x=t*sin(3*t);y=t.*sin(t).*sin(t); plot(x,y););plot(x,y数最简单的调用格式是包含个输参数plot函数最简单的调用格式是只包含一个输入参数:p()plot(x)在这种情况下,当x是实向量时,以该向量元素的下标为横坐标,元素值为纵坐标画出条连续曲线,标为横坐标,元素值为纵坐标画出一条连续曲线,这实际上是绘制折线图。
绘制多根二维曲线1.plot函数的输入参数是矩阵形式时数的输参数是矩阵形式时(1) 当x是向量,y是有一维与x同维的矩阵时,则绘制出多根不同颜色的曲线。
曲线条数等于y矩阵的另一维数,x被作为这些曲线共同的横坐标。
(2) 当x,y是同维矩阵时,则以x,y对应列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。
纵坐标分别绘制曲线曲线条数等于矩阵的列数(3) 对只包含一个输入参数的plot函数,当输入参数对包含个输参数的数当输参数是实矩阵时,则按列绘制每列元素值相对其下标的曲线曲线条数等于输入参数矩阵的列数的曲线,曲线条数等于输入参数矩阵的列数。
当输入参数是复数矩阵时,则按列分别以元素实部和虚部为横、纵坐标绘制多条曲线。
2.含多个输入参数的plot函数含多个输参数的数调用格式为:plot(x1,y1,x2,y2,…,xn,yn)(1) 当输入参数都为向量时,x1和y1,x2和y2,…,(1)当输入参数都为向量时xn和yn分别组成一组向量对,每一组向量对的长度可以不同每一向量对可以绘制出一条曲线度可以不同。
MATLAB中的绘图函数介绍

MATLAB中的绘图函数介绍概述:MATLAB是一种非常强大的数值计算和科学绘图软件,在各个领域中都得到广泛的应用。
在MATLAB中,绘图函数是其中一个非常重要的功能,它可以帮助我们将数据可视化,并进行分析和解释。
在本文中,我们将详细介绍一些常用的MATLAB绘图函数及其功能。
一、plot函数:plot函数是MATLAB中最基本的绘图函数之一,它可以绘制线性图。
通过将一系列的点连接起来,我们可以绘制出数据的变化趋势。
下面是plot函数的一个简单示例:```matlabx = 0:0.1:10;y = sin(x);plot(x, y);```在这个例子中,我们首先定义了x的取值范围为0到10,间隔为0.1。
然后通过使用sin函数计算出对应的y值。
最后,调用plot函数将x和y的数值传入,即可得到一条关于sin函数的图形。
除了基本的线性图,plot函数还可以绘制不同颜色和线型的曲线,并添加标题、标签等。
它是进行简单数据可视化的利器。
二、scatter函数:相比于plot函数,scatter函数可以绘制散点图,用于展示多个不同数据点之间的分布关系。
通过scatter函数,我们可以方便地比较不同变量之间的相关性。
以下是scatter函数的一个示例:```matlabx = randn(100,1);y = 0.5*x + randn(100,1);scatter(x, y);```在这个例子中,我们首先生成了两组随机数x和y。
然后使用scatter函数将它们绘制成散点图。
通过观察散点图的分布,我们可以判断出x和y之间是否存在线性相关性。
scatter函数还支持设置散点的颜色、大小和透明度等参数,以满足不同的需求。
它是进行多变量分析的重要工具之一。
三、bar函数:bar函数可以用于绘制柱状图,常用于展示各个类别的数据之间的差异。
通过柱状图,我们可以清晰地比较不同类别之间的数值大小。
以下是bar函数的一个示例:```matlabx = categorical({'A', 'B', 'C', 'D'});y = [10, 15, 8, 12];bar(x, y);```在这个例子中,我们首先定义了四个类别,分别是'A'、'B'、'C'和'D'。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基本形式
>> 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。
更方便的是用鼠标来确定字符串的位置,方法是输入命令:>> gtext(‘sinx’) 在图形窗口十字线的交点是字符串的位置,用鼠标点一下就可以将字符串放在那里。
坐标系的控制在缺省情况下MATLAB自动选择图形的横、纵坐标的比例,如果你对这个比例不满意,可以用axis命令控制,常用的有:axis([xmin xmax ymin ymax]) [ ]中分别给出x轴和y轴的最大值、最小值axis equal 或axis(‘equal’) x轴和y轴的单位长度相同axis square 或axis(‘square’) 图框呈方形axis off 或axis(‘off’) 清除坐标刻度还有axis auto axis image axis xy axis ij axis normal axis on axis(axis) 用法可参考在线帮助系统。
多幅图形可以在同一个画面上建立几个坐标系, 用subplot(m,n,p)命令;把一个画面分成m×n个图形区域, p代表当前的区域号,在每个区域中分别画一个图,如>> x=linspace(0,2*pi,30); y=sin(x); z=cos(x); >> u=2*sin(x).*cos(x); v=sin(x)./cos(x); >> subplot(2,2,1),plot(x,y),axis([0 2*pi –1 1]),title(‘sin(x)’) >> subplot(2,2,2),plot(x,z),axis([0 2*pi –1 1]),title(‘cos(x)’) >> subplot(2,2,3),plot(x,u),axis([0 2*pi –1 1]),title(‘2sin(x)cos(x)’) >> subplot(2,2,4),plot(x,v),axis([0 2*pi –20 20]),title(‘sin(x)/cos(x)’)
图形的输出在数学建模中,往往需要将产生的图形输出到Word文档中。
通常可采用下述方法:首先,在MATLAB图形窗口中选择【File】菜单中的【Export】选项,将打开图形输出对话框,在该对话框中可以把图形以emf、bmp、jpg、pgm等格式保存。
然后,再打开相应的文档,并在该文档中选择【插入】菜单中的【图片】选项插入相应的图片即可。
函数名称:num2str
在matlab中,无论是内建函数还是工具箱函数,2很常见,这可能是因为2英文two和to发音相同。
而2写起来也比较简单。
所以很多转换类函数都用2来命名而非to。
比如number to string,不是命名为numTostr而num2str。
编辑本段函数功能:
把数值转换成字符串,转换后可以使用fprintf或disp函数进行输出。
在matlab命令窗口中键入doc num2str或help num2str即可获得该函数的帮助信息。
编辑本段语法格式:
str = num2str(A)
把数组A中的数转换成字符串表示形式。
str = num2str(A, precision)
把数组A转换成字符串形式表示,precision表示精度,比如precision为3表示保留最多3位有效数字,例如
0.5345转换后为0.534,1.2345转换后为1.23。
即从左边第一个不为0的数开始保留3个数值。
str = num2str(A, format)
按format指定格式进行格式化转换,通常'%11.4g'是默认的。
编辑本段相关函数:
mat2str, int2str, str2num, sprintf, fprintf
编辑本段应用举例
>> A = [1, 2, 3];
>> B = num2str(A);
>> fprintf('%s', B)
1 2 3
>> C = [1.564, 0.12345];
>> D = num2str(C, 3)
D =
1.56 0.123
>> D = int32(1)
D =
1
>> num2str(D, '%.6f') ans =
1.000000。