数学建模与数学实验第3讲MATLAB作图
数学实验三 MATLAB软件入门(绘图)

西安理工大学学生实验报告数学实验实验课程名称:实验名称:实验三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中的一个是向量而另一个是矩阵,则矩阵的各维中必须有一维与向量的长度相等。
【数学建模学习】matlab作图

基本形式>> 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课件--第3讲 MATLAB绘图

Matlab 软件实习
5. 分块绘图
分块绘图函数: subplot(m,n,p) 其作用为将图形窗口分割为m行n列的子窗口,然后选定 第p号子窗口为当前窗口.
Matlab 软件实习
例12: 将函数y1=sin(x) , y2=cos(x), y3=x2, y4=ex分块绘制在
同一窗口.
程序如下: subplot(2,2,1) fplot(‘sin(x)’,[-pi,pi],’r’) title(‘sin(x)’) subplot(2,2,2) fplot(‘cos(x)’,[-pi,pi],’m’) title(‘cos(x)’) subplot(2,2,3) fplot(‘x^2’,[-2,2],’.-’) title(‘x^2’) subplot(2,2,4) fplot(‘exp(x)’,[-3,3],’k’) title(‘exp(x)’)
据对,右纵坐标用于x2,y2数据对.
Matlab 软件实习
例5: 用不同标度在同一坐标内绘制曲线 y1=0.2e-0.5xcos(4x) 和 y2=2e-0.5xcos(x). 程序如下: x=0:pi/100:2*pi; y1=0.2*exp(-0.5*x).*cos(4*pi*x); y2=2*exp(-0.5*x).*cos(pi*x); plotyy(x,y1,x,y2);
每一向量对可以绘制出一条曲线,这样可以在同一坐标
内绘制出多条曲线.
② 当输入参数有矩阵形式时,配对的x,y按对应列元
素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列 数.
Matlab 软件实习
例3: 绘制曲线. 程序如下: x1=0:0.1:2*pi; x2=1:0.1:3*pi; plot(x1,sin(x1),x2,cos(x2));
第3讲 MATLAB作图

>>x=[0:0.5:2*pi ]; >> y=sin(x); >> plot(x,y,'.')
22
二维作图举例
点 线 先画点,后连线
例:y = sin(x), 0 < x < 2
二、连线
>>x=[0:0.5:2*pi]; >> y=sin(x); >>plot(x,y,'r.-')
例:>> x=[0:pi/10:2*pi];
>> y=sin(x); >> plot(x,y);
4
Matlab 二维作图
பைடு நூலகம்本形式
plot(x,y)
x, y 都是向量,则以 x 中元素为横坐标, y 中元素为 纵坐标作平面曲线。此时 x, y 必须具有相同长度。 x, y 都是矩阵,则将 x 的列和 y 中相应的列相组合, 绘制多条平面曲线。此时 x, y 必须具有相同的大小。 x 是向量, y 是矩阵,若 x 的长度与 y 的行数相等, 则将 x 与 y 中的各列相对应,绘制多条平面曲线;否 则,若 x 的长度与 y 的列数相等,则将 x 与 y 中的各 行相对应,绘制多条平面曲线。此时 x 的长度必须等 于 y 的行数或列数。
找点: x=0, pi/3, pi/2, 2*pi/3, pi, … 计算函数值: y=sin(0), sin(pi/3), sin(pi/2), 描点:在坐标系中画出这些离散点
…
用直线或曲线连接这些点,得到函数的大致图形
3
Matlab 绘图
Matlab 作图
Matlab讲义-第三章Matlab052D绘图-10

【例】绘制一个周期内的正弦曲线y=sin(t)
产生自变量向量t; 由给出的自变量向量求取其正弦函数; 调用plot函数把曲线绘制出来。
1
t=0:0.1:2*pi; 0.8
1
0.6
y=sin(t);
0.8 0.4
plot(t,y)
0.6 0.2
0.4 0
-0.2
0.2
t=0:0.1:2*pi; -0.4
§3.1.1基本二维图形绘制函数
1. plot(x, y) ----这是最常见的形式。
•x,y给出的数据分别为x,y轴坐标值。 •以逐点连折线的方式绘制二维图形。 • 如果x,y是同维向量,该指令以x元素为横坐标值, y元素为纵坐标值绘制曲线。 • 如x,y是同维矩阵,则以x,y对应列元素为横、纵 坐标分别绘制曲线,数目等于矩阵的列数。 • 如x是向量,y是有一维与x元素数量相等的矩阵, 则以x为共同横坐标,按列绘制y每列元素值, 曲线数 为y的另一维的元素数。
似地绘制第2个二维图形,……等。 上述为plot命令的完全格式。
绘图参数表
色彩 字符
所指 颜色
y
黄
m carmine 洋红色 c cyan 青
r
红
g
绿
b
篮
w
白
k
黑
线型 字符 : -. --
线型格式
实线 点线 点划线 虚线
标记 符号 . o x + * v ^ >
绘图参数表(续)
数据点形式
点 圆 叉号 加号 星号 向下的三角形 向上的三角形△ 大于号
%2曲线采用黑色、点线、*号数据点标记符号
说明:颜色线型数据 点标记符号选项可以 组合使用,且组合顺 序任意
第三章 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作图(超详细)

2020/5/31
数学建模
3. 对数坐标图
在很多工程问题中,通过对数据进行对数转换可以 更清晰地看出数据的某些特征,在对数坐标系中描绘数 据点的曲线,可以直接地表现对数转换.对数转换有双对 数坐标转换和单轴对数坐标转换两种.用loglog函数 可以实现双对数坐标转换,用semilogx和semilogy 函数可以实现单轴对数坐标转换. loglog(Y) 表示 x、y坐标都是对数坐标系
单击鼠标左键,则在当前图形窗口中,以鼠标点中的点为 中心的图形放大2倍;单击鼠标右键,则缩小2倍.
zoom off 关闭缩放模式
grid on
%标注格栅
MATLAB liti37
例 创建一个简单的半对数坐标图. 解 输入命令:
x=0:.1:10;
semilogy(x,10.^x)
MATLAB liti38
例 绘制y=x3的函数图、对数坐标图、半对数坐标图.
2020/5/31
MATLAB liti22 数学建模
返回
三维图形 1. 空间曲线 2. 空间曲面
semilogx(Y) 表示 x坐标轴是对数坐标系
semilogy(…) 表示y坐标轴是对数坐标系
plotyy 有两个y坐标轴,一个在左边,一个在右边
2020/5/31
数学建模
例 用方形标记创建一个简单的loglog.
解 输入命令:
x=logspace(-1,2);
loglog(x,exp(x),’-s’)
数学建模
返回
2. 定制坐标 Axis([xmin xmax ymin ymax zmin zmax])定制图形坐标
x、y、z的最大、最小值
Axis
将坐标轴返回到自动缺省值
MATLAB第三节绘图

【例】 在[-2,2]范围内绘制函数tanh的图形.
最基本的三维图形函数为plot3,它是将二维函数plot 的有关功能扩展到三维空间,用来绘制三维图形。
Plot3 ( x,y,z,c)
Note:函数功能:以向量x,y,z为坐标,绘制三维曲 线,其中x,y,z表示三维坐标向量,表示线形或颜色。
4.4 三维图形
【例】 绘制三维螺旋曲线:
t=0:pi/50:10*pi; y1=sin(t),y2=cos(t); plot3(y1,y2,t); title('helix'); text(0,0,0,‘origin’); %在(0,0,0)点添加文本框 xlabel('sin(t)'),ylabel('cos(t)'),zlabel('t');
4.3 其它图形函数
3、填充图形
fill(x,y,’c’) — 绘制并填充二维多边图形
Note:x和y为二维多边形顶点坐标向量。字符 ’c’ 规 定填充颜色,其取值前已叙述。
如:绘制一正方形并以黄色填充: x=[0 1 2 4 0]; %正方形顶点坐标向量 y=[0 0 1 1 0]; fill(x,y,‘b’) %绘制并以蓝色填充正方形图
Note:表示在区间tmin<t<tmax绘制参数方程 x=x(t), y=y(t)的函数图.
【例】 在[0, 2 ]π上画 y sin3 t 的x星形co图s3 t.
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MATLAB liti43
再输入命令:
fplot(‘myfun1’,[-1,2])
例 在[-2,2]范围内绘制函数tanh的图形.
解 fplot(‘tanh’,[-2,2])
MATLAB liti28
例 x、y 的取值范围都在[-2 π ,2 π ],
画函数 tanh(x),sin(x),cos(x)的图形.
注意: [1] fun必须是M文件的函数名或是独立变量为 x的字符串. [2] fplot函数不能画参数方程和隐函数图形, 但在一个图上可以画多个图形.
例 在[-1,2]上画 y e2x sin(3x2 ) 的图形.
解 先建M文件myfun1.m:
function Y=myfun1(x) Y=exp(2*x)+sin(3*x.^2)
plot(X,Y,S)
•m 洋红 o 圈 : 短虚线
•c 蓝绿色
x x-符号
线型
-. 长短线 + 加号
r 红色 -- 长虚线
X,Y是向量,分别表示点集的横坐标和纵坐标
plot(X,Y)— 画实线 plot(X,Y1,S1,X,Y2,S2,……,X,Yn,Sn)
— 将多条线画在一起
例 在[0,2 π ]用红线画sin x,用绿圈画cos x.
plot3(x,y,z,s)
n维向量,分别表示曲
线上点集的横坐标、纵 坐标、函数值
指定颜色、 线形等
例 在区间[0,10π]画出参数曲线 x=sint,y=cost,
z=t. 解 t=0:pi/50:10*pi;
plot3(sin(t),cos(t),t) rotate3d %旋转
MATLAB liti8
x=x(t),y=y(t)的函数图.
例 在[0, π ]上画y=cos x 的图形.
解 输入命令
ezplot(‘sin(x)’,[0,pi]) MATLAB liti25
例 在[0,2 π ]上画 x cos3 t , y sin3 t 星形图.
解 输入命令
MATLAB liti41
ezplot(‘cos(t)^3’,’sin(t)^3’,[0.2*pi])
2. 多条曲线
plot3(x,y,z)
其中x,y,z是都是m×n矩阵,其对应的每一列表示一条曲线.
例 画多条曲线观察函数Z=(X+Y)2.
解 x=-3:0.1:3;y=1:0.1:5; [X,Y]=meshgrid(x,y); Z=(X+Y).^2; plot3(X,Y,Z)
MATLAB liti9
(这里meshgrid(x,y)的作用 是产生一个以向量x为行、向量y 为列的矩阵)
返回
空间曲面
(1) surf(x,y,z) 画出数据点(x,y,z)表示的曲面
数据矩阵.分别表示 数据点的横坐标、纵 坐标、函数值
例 画函数Z=(X+Y)2 的图形. 解 x=-3:0.1:3;
y=1:0.1:5; [X,Y]=meshgrid(x,y);
解
x=linspace(0,2*pi,30);
MATLAB liti1
y=sin(x);
z=cos(x); plot(x,y,'r',x,z, 'g0')
x
1 0.8 0.6 0.4 0.2
0 -0.2 -0.4
2.符号函数(显函数、隐函数和参数方程)画图
(1) ezplot
ezplot(‘f(x)’,[a,b])
MATLAB liti11
Z=(X+Y).^2;
surf(X,Y,Z) shading flat
%将当前图形变得平滑
(2) mesh(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; mesh(X,Y,Z)
MATLAB liti37
例 创建一个简单的半对数坐标图. 解 输入命令:
x=0:.1:10;
semilogy(x,10.^x)
MATLAB liti38
例 绘制y=x3的函数图、对数坐标图、半对数坐标图.
MATLAB liti22
返回
三维图形 1. 空间曲线 2. 空间曲面
返回
空间曲线 1. 一条曲线
数学建模与数学实验
MATLAB作图
二维图形 三维图形 图形处理
特殊二、三维图形
实例
作 业
1.曲线图
MATLAB作图是通过描点、连线来实现的,故在
画一个曲线图形之前,必须先取得该图形上的
一系列的点的坐标(即横坐标和纵坐标),然
后将该点集的坐标传给MATLAB函数画图.
命令为:
•y 黄色 . 点 - 连线
例 在[-2,0.5],[0,2]上画隐函数 ex sin(xy) 0 的图.
解 输入命令
MATLAB liti40
ezplot('exp(x)+sin(x*y)',[-2,0.5,0,2])
(2) fplot
fplot(‘fun’,lims) 表示绘制字符串fun指定的函数在
lims=[xmin,xmax]的图形.
semilogx(Y) 表示 x坐标轴是对数坐标系
semilogy(…) 表示y坐标轴是对数坐标系
plotyy 有两个y坐标轴,一个在左边,一个在右边
例 用方形标记创建一个简单的loglog.
解 输入命令:
x=logspace(-1,2);
loglog(x,exp(x),’-s’)
grid on
%标注格栅
解 输入命令:
MATLAB liti42
fplot(‘[tanh(x),sin(x),cos(x)]’,2*pi*[-1 1 –1 1])
3Hale Waihona Puke 对数坐标图在很多工程问题中,通过对数据进行对数转换可以 更清晰地看出数据的某些特征,在对数坐标系中描绘数 据点的曲线,可以直接地表现对数转换.对数转换有双对 数坐标转换和单轴对数坐标转换两种.用loglog函数 可以实现双对数坐标转换,用semilogx和semilogy 函数可以实现单轴对数坐标转换. loglog(Y) 表示 x、y坐标都是对数坐标系
表示在a<x<b绘制显函数f=f(x)的函数图.
ezplot(‘f(x,y)’,[xmin,xmax,ymin,ymax])
表示在区间xmin<x<xmax和 ymin<y<ymax绘制 隐函数f(x,y)=0的函数图.
ezplot(‘x(t)’,’y(t)’,[tmin,tmax]) 表示在区间tmin<t<tmax绘制参数方程