第3讲 MATLAB作图
【matlab教学PPT】第3讲 Matlab的图形

ylabel(′y=sin2\pix′);%Y轴标注,可以有汉字 xlabel(′x′);%X轴标注,可以有汉字
第3讲 Matlab的图形 title(′functionploty=sin2\pix′);%图标题 text(0.5,sin(0.5),′\leftarrowsin2\pi0.5′);
第3讲 Matlab的图形 [例3] t=0:pi/20:2*pi; plot(t,sin(2*t),′-mo′,...%线型:实线,洋红色,小圆标记
′LineWidth′,2,...%线宽为2
′MarkerEdgeColor′,′k′,...%标记边缘颜色:黑色 ′MarkerFaceColor′,[.49 1 .63],...%标记面颜色:淡 绿 ′MarkerSize′,12)%标记大小:12 结果如图3所示。
6)坐标颜色控制 set(gca,′Color′,′y′)%坐标面背景颜色设置,本例为:黄 set(gca,′XColor′,′k′)%设置横坐标轴,刻度,字符的颜
色
set(gca,′YColor′,′r′)%设置纵坐标轴,刻度,字符的颜 色
第3讲 Matlab的图形 7)坐标刻度字形的控制 set(gca,′FontSize′,14)%控制字体大小
set(gca,′FontWeight′,′bold′)%设置字体粗细
%有{normal}|bold|light|demi四种 8)坐标位置和方向控制
set(gca,′XAxisLocation′,′top′)% 横 坐 标 轴 位 于 下 方 (bottom默认)
或上方(top)set(gca,′YAxisLocation′,′right′)%纵坐标轴 位于左方(left默认)或右方(right)set(gca,′XDir′,′reverse′)% 横坐标反方向(由右到左为增)set(gca,′YDir′,′reverse′)%纵 坐标反方向(由右到左为增)
03第三章Matlab绘图-Matlab教程

subplot(m,n,p) —— 按从左至右,从上至下排列
行
列 绘图序号
第14页,共76页。
1 0.8 0.6 0.4 0.2
0 -0.2 -0.4 -0.6 -0.8
-1 0
subplot(1,3,1); plot(t,y) subplot(1,3,2); plot(t,y3) subplot(1,3,3); plot(t,y2)
[x,y,w,h]=MYaxis(4,4,0.02,0.03,0.05,0.08,0.1,0.1,i);
subplot('position',[x,y,w,h]) end
第19页,共76页。
4. 多窗口绘图
figure(n) —— 创建窗口函数,n为窗口顺序号。 t=0:pi/100:2*pi; y=sin(t);y1=sin(t+0.25);y2=sin(t+0.5); plot(t,y) —— 自动出现第一个窗口 figure(2) plot(t,y1) —— 在第二窗口绘图 figure(3)
ezplot的调用格式:
ezplot(f) —这里f为包含单个符号变量x的符号表达式, 在x轴的默认范围
[-2*pi 2*pi]内绘制f(x)的函数图 ezplot(f,xmin,xmax) — 给定区间
ezplot(f,[xmin,xmax],figure(n)) — 指定绘图窗口绘 图。
第29页,共76页。
1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
0
1
2
3
matlab教程ppt(完整版)

可以使用`'`运算符对矩阵进行 转置。
矩阵高级运算
01
逆矩阵
可以使用`inv`函数求矩阵的逆矩阵 。
行列式
可以使用`det`函数求矩阵的行列式 。
03
02
特征值和特征向量
可以使用`eig`函数求矩阵的特征值 和特征向量。
秩
可以使用`rank`函数求矩阵的秩。
04
04
matlab绘图功能
绘图基本命令
控制设计
MATLAB提供了控制系统设计和分析 工具箱,可以方便地进行控制系统的 建模、分析和优化。
03
信号处理
MATLAB提供了丰富的信号处理工具 箱,可以进行信号的时域和频域分析 、滤波器设计等操作。
05
04
图像处理
MATLAB提供了图像处理工具箱,可 以进行图像的增强、分割、特征提取 等操作。
02
matlab程序调试技巧分享
01
调试模式
MATLAB提供了调试模式,可以 逐行执行代码,查看变量值,设 置断点等。
日志输出
02
03
错误处理
通过使用fprintf函数,可以在程 序运行过程中输出日志信息,帮 助定位问题。
MATLAB中的错误处理机制可以 帮助我们捕获和处理运行时错误 。
matlab程序优化方法探讨
显示结果
命令执行后,结果将在命令窗口中显示。
保存结果
可以使用`save`命令将结果保存到文件中。
matlab变量定义与赋值
定义变量
使用`varname = value`格式定义变 量,其中`varname`是变量名, `value`是变量的值。
赋值操作
使用`=`运算符将值赋给变量。例如 ,`a = 10`将值10赋给变量a。
Matlab绘图

第二章绘图要画一个函数的图像,先是选取一堆x,求出相对应的y值,然后按照数值描点,接着用光滑的曲线把点连接起来。
和数学课讲的一样,在matlab中,我们画图也分为三步1. 建立一个x的点集;2. 根据函数关系式算出每个x对应y的点集;3. 将这些点用平滑的曲线连接起来。
例如要画y=sinx在[0,10]区间内的图像,首先我们要确定出x的区间>>x = [0:0.1:10];命令的意思是,产生一个数集,它从0开始,每次加0.1,一直加到10为止注意,命令后面的分号记得加上,否则matlab会把x的元素都打印出来,下面就是不加分号的后果:有了x的数集后,我们再根据函数关系式y=sinx得出y的点集>>y = sin(x);同样的,别忘了把分号加上抑制程序输出y的具体值,以及sin(x)的括号别忘了加到这里,我们已经把x和y确定下来,接下来只需用plot(x,y)命令即可绘制出图像>>plot(x,y)当然,如果你不定义y,而直接用一下嵌套命令也是可以的>>plot(x,sin(x))我们将x的增量变大一点,改为0到10,每次增幅为1,即>>x = [0:1:10];然后我们输入>>plot(x,y)我们会得到错误信息:原因是之前我们定义的y是由之前的x决定的,当x改变后,y依然没有改变,为了解决这个问题,我们要把y重新定义一遍,即命令要完整再输入一遍>>x = [0:1:10];>>y = sin(x);>>plot(x,y)然后程序会绘制出和我们预期相同的图像没错,我们将看到不光滑的曲线,这告诉我们,当使用plot(x,y)画图的时候x的增加幅度尽可能小一些,画出的图像才精确(跟数学里点越多图像越精确原理一样的)为了美化图像(有时是为了更清楚的辨析图像),我们经常要为图像加上网格,为坐标轴命名,改变曲线的颜色、形状这些命令2.1 加上网格我们使用grid on 命令我们这样书写:>>x=[0:0.1:10];y=sin(x);>>plot(x,y),grid on这样就画出了带网格的图像当然,也可以先画出没有网格的图像,再把窗口切回matlab命令输入窗口,输入grid on,这样图像就会加上网格,即>>x=[0:0.1:10];y=sin(x);>>plot(x,y)>>grid on2.2 为坐标轴命名为x坐标轴命名的命令是xlabel(),显然,y的就应该是ylabel()比如这里,我想让x命名为x,y命名为sinx,则如下输入:>>x=[0:0.1:10];y=sin(x);>>plot(x,y),xlabel(‘x’),ylabel(‘sinx’)注意,坐标轴的名字要用引号括起来,表示字符串当然也可以画图后再标坐标轴,即:>>x=[0:0.1:10];y=sin(x);>>plot(x,y)>>xlabel(‘x’)>>ylabel(‘sinx’)然后我们就可以看到坐标轴带命名的图像:2.3 绘制多条曲线绘制多条曲线有两种情况,一种是在同一个坐标面内画多条曲线,另一种是在一个面内画多个独立的曲线我们先讲第一种,假设我们要在一个坐标面内画sinx,cosx,tanx的图像先定义x,y>>x=[0:0.1:10]>>y1=sin(x);>>y2=cos(x);>>y3=tan(x);接着画图>>plot(x,y1)这时候函数绘制出了sinx的图像接着我们继续画>>plot(x,y2)我们会发现程序会把之前的sinx图像抹掉,然后绘制cosx的图像为了让他们同时存在,我们使用hold on命令,即画完一个图后,hold on,继续画当我们再加上tanx后会得到这个图像这是因为函数显示区间设置的原因,后面讲2.4 更改图像显示区间从楼上我们已经在一个图中画出了sinx、cosx、tanx的图像,但是我们知道tanx的值域是负无穷到正无穷,而sin,cos的值域是-1到1,这导致了我们基本上看不到sin,cos的图像,为了解决这个问题,我们只需用axis命令即可,命令格式为axis([xmin xmax ymin ymax])即括号内跟一个区间,四个数字分别是x的起点,x的终点,y的起点,y的终点。
MATLAB第3讲 MATLAB基本绘图

3.3 基本三维绘图
[X,Y]=meshgrid(-8:0.5:8,-8:0.5,8);
3.3 基本三维绘图
2、格式2:mesh(x,y,z) 功能:x,y,z 为三个矩阵, 以各元素值为三维坐标点绘图, 并连成网格。
3.3 基本三维绘图
例题 7 画一个球体 [xx,yy,zz]=sphere(30);
0
n
3.3 基本三维绘图
形成了33*33网 格矩阵
3.3 基本三维绘图
可以使用meshgrid()函数产生网格坐标:
格式:[X,Y]=meshgrid(x,y) x,y为同维向量,
X的行为x的拷贝,Y的列是y的拷贝,X,Y同维 例如:[xx,yy]=meshgrid([ 1 2 3 4],[1 2 3 4])
3.3 基本三维绘图
3、格式3:plot3(x,y,z,’s’) plot3(x1,y1,z1,’s1’,x2,y2,z2,’s2’) 功能:用于设置绘图颜色和线型 字符串意义同plot。
例如:plot3(x,y,z,’*r’,x,z,y,’:b’)
3.3 基本三维绘图
例题 2
3.3 基本三维绘图
3、hidden on(off) ----隐藏或透视被遮挡的地方
视角变换与三视图
三维图形绘制中的视角定义
z轴
视点
y轴
仰角
方位角
x轴
3.3 基本三维绘图
3. 4 特殊三维绘图 特殊图形库(specgraph)
1、stem3(x,y,z) ----- 三维火柴杆图: 例如:stem3(x,y,z) 2、bar3(z) ------ 三维条形图(同二维) 例如:bar3([1 2 3 2 1]) 3、pie3 (x,p)------ 三维饼图(同二维): 例如:pie3([1 2 3 2 1 1 ],[0 0 1 0 0 0]) 还有其它特殊函数。。。
第三章 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预测(1)回归分析

ˆ 489.2946 s t 2 65.8896 t 9.1329
方法二
化为多元线性回归:
t=1/30:1/30:14/30;
s=[11.86 15.67 20.60 26.69 33.71 41.93 51.13 61.49 72.90 85.44 99.08 113.77 129.54 146.48];
3
1
模型:记血压为 y ,年龄为 x1 ,体重指数为 x2 ,吸烟习惯为 x3 , 用Matlab将 y 与 x2 的数据做散点图,看出大致也呈线性关系,建立 模型: y 0 1 x1 2 x2 3 x3 由数据估计系数 0,2,3,4 ,也可看做曲面拟合(其实为 超平面)
T=[ones(14,1) t‘ (t.^2)'];
[b,bint,r,rint,stats]=regress(s',T); b,stats
得回归模型为 :
ˆ 9.1329 65.8896 s t 489.2946 t2
预测及作图
Y=polyconf(p,t,S) plot(t,s,'k+',t,Y,'r')
(二)多元二项式回归
命令:rstool(x,y,’model’, alpha)
nm矩阵
n维列向量
显著性水平
(缺省时为0.05)
由下列 4 个模型中选择 1 个(用字符串输入,缺省时为线性模型): linear(线性): y 0 1 x1 m xm purequadratic(纯二次): interaction(交叉): y
其中 x=(x1,x2,„,xn) ,y=(y1,y2 ,„,yn) ; m m-1 p=(a1,a2,„,am+1)是多项式 y=a1x +a2x +„+amx+am+1 的系数;S 是一个矩阵,用来估计预测误差.
如何在Matlab中进行二维和三维绘图

如何在Matlab中进行二维和三维绘图在科学研究和工程领域,数据可视化是一项十分重要的任务,而Matlab作为一种功能强大的数值计算和数据分析软件,自然也提供了丰富的绘图功能。
本文将介绍如何在Matlab中进行二维和三维绘图,并探讨一些常见的绘图技巧和应用。
一、二维绘图Matlab中的二维绘图是最常见和基础的绘图任务之一。
在绘制二维图形时,我们通常会用到plot函数。
这个函数可以接受单个向量作为输入,将这个向量的值作为y轴上的数据点,自动生成与该向量长度相同的x轴坐标。
例如,我们可以用以下代码绘制一个简单的二维折线图:```x = 0:0.1:2*pi;y = sin(x);plot(x, y);```上述代码中,x参量取从0到2π的均匀间隔的值,而y则是根据x计算得到的sin函数值。
plot函数会自动根据输入绘制折线图,并添加相应的轴标签和图例。
在实际应用中,我们经常需要绘制多条曲线在同一个坐标系中进行对比分析。
可以通过在plot函数中传入多个x和y向量实现这一功能。
例如,我们可以通过以下代码绘制一个简单的双曲线图:```x = 0:0.1:2*pi;y1 = sin(x);y2 = cos(x);plot(x, y1, x, y2);```这样,就会在同一个坐标系中同时绘制sin曲线和cos曲线。
除了折线图,Matlab还支持其他常见的二维绘图类型,如散点图、柱状图和面积图等。
这些绘图类型可以通过不同的函数实现,例如scatter、bar和area等。
这里不再一一赘述,读者可以通过Matlab的帮助文档或官方网站了解更多的用法和示例。
二、三维绘图除了二维绘图,Matlab也提供了丰富的三维绘图功能,用于可视化更为复杂的数据和模型。
在绘制三维图形时,我们通常会用到surf函数。
这个函数可以接受两个二维矩阵作为输入,将这两个矩阵的值分别作为x、y轴上的坐标,而将第三个二维矩阵的值作为z轴上的数据点。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(3)meshz(X,Y,Z) 在网格周围画一个curtain图(如,参考平面) 例 绘peaks的网格图
解 输入命令: [X,Y]=meshgrid(-3:.125:3); Z=praks(X,Y); Meshz(X,Y,Z) Matlab liti36
返回
在图形上加格栅、图例和标注
图 形 处 理
(2) figure(h)
新建h窗口,激活图形使其可见,并把它置 于其它图形之上
例
区间[0,2*pi]新建两个窗口分别画出y=sin(x); z=cos(x)。 解 x=linspace(0,2*pi,100); y=sin(x);z=cos(x); plot(x,y); Matlab liti6 title('sin(x)'); pause figure(2); plot(x,z); title('cos(x)');
Matlab
liti28
例 x、y 的取值范围都在[-2 ,2 ], 画函数 tan(x),sin(x),cos(x)的图形
解 输入命令: Matlab fplot(‘[tanh(x),sin(x),cos(x)]’,2*pi*[-1 1 –1 1]) liti42
3. 对数坐标图
在很多工程问题中,通过对数据进行对数转换可以 更清晰地看出数据的某些特征,在对数坐标系中描绘数 据点的曲线,可以直接地表现对数转换.对数转换有双对 数坐标转换和单轴对数坐标转换两种.用loglog函数可 以实现双对数坐标转换,用semilogx和semilogy函数可以 实现单轴对数坐标转换. loglog(Y) 表示 x、y坐标都是对数坐标系 semilogx(Y) semilogy(…) 表示 x坐标轴是对数坐标系 表示y坐标轴是对数坐标系
(1)
间
曲
面
surf(x,y,z) 画出数据点(x,y,z)表示的曲面
数据矩阵。分别表示 数据点的横坐标、纵 坐标、函数值
例 解
画函数Z=(X+Y).^2的图形. x=-3:0.1:3; y=1:0.1:5; Matlab liti11 [X,Y]=meshgrid(x,y); Z=(X+Y).^2; surf(X,Y,Z) shading flat %将当前图形变得平滑
例 画出曲面Z=(X+Y).^2在不同视角的网格图. 解 x=-3:0.1:3; y=1:0.1:5; Matlab liti10 [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)
例 画多条曲线观察函数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 为列的矩阵)
返回
空
2.符号函数(显函数、隐函数和参数方程)画图
(1) ezplot
ezplot(‘f(x)’,[a,b])
表示在a<x<b绘制显函数f=f(x)的函数图
ezplot(‘f(x,y)’,[xmin,xmax,ymin,ymax])
表示在区间xmin<x<xmax和 ymin<y<ymax绘制
隐函数f(x,y)=0的函数图
hh = title(string): 在当前图形的顶端上加图例string
例 在区间[0,2*pi]画sin(x)的图形,并加注图例“自变量 X”、“函数Y”、“示意图”, 并加格栅.
解 x=linspace(0,2*pi,30); y=sin(x); plot(x,y) xlabel('自变量X') ylabel('函数Y') title('示意图') grid on Matlab liti2
命令为: PLOT(X,Y,S)
•y •m •c -. + 黄色 . 点 洋红 o 圈 蓝绿色 x 长短线 r 加号 -- 连线 : 短虚线 x-符号 红色 长虚线
线型
X,Y是向量,分别表示点集的横坐标和纵坐标
PLOT(X,Y)--画实线 PLOT(X,Y1,S1,X,Y2,S2,……,X,Yn,Sn) --将多条线画在一起
Matlab 解 输入命令 ezplot(‘cos(t)^3’,’sin(t)^3’,[0.2*pi])
x
liti41
例 在[-2,0.5],[0,2]上画隐函数e sin(xy) 0 的图
解 输入命令 ezplot('exp(x)+sin(x*y)',[-2,0.5,0,2])
Matlab
数学建模与数学实验
MATLAB作图
后勤工程学院数学教研室 后勤工程学院数学教研室
二维图形
三维图形
图形处理
实例
特殊二、三维图形
作 业
1.曲线图 Matlab作图是通过描点、连线来实现的,故在 画一个曲线图形之前,必须先取得该图形上的 一系列的点的坐标(即横坐标和纵坐标),然 后将该点集的坐标传给Matlab函数画图.
plotyy 有两个y坐标轴,一个在左边,一个在右边
例 用方形标记创建一个简单的loglog
解 输入命令: x=logspace(-1,2); loglog(x,exp(x),’-s’) grid on %标注格栅
例 创建一个简单的半对数坐标图 解 输入命令: x=0:.1:10; semilogy(x,10.^x)
返回
6. 改变视角view (1)view(a,b) 命令view(a,b)改变视角到(a,b),a是方位角,b为仰角。 缺省视角为(-37.5,30)。 (2)view([x,y,z]) view用空间矢量表示的,三个量只关心它们的比例,与数 值的大小无关,x轴view([1,0,0]),y轴view([0,1, 0]),z轴view([0,0,1])。
返回
5、缩放图形
为当前图形打开缩放模式 单击鼠标左键,则在当前图形窗口中,以鼠标点中的点为 中心的图形放大2倍;单击鼠标右键,则缩小2倍 zoom on zoom off 关闭缩放模式
例 缩放y=sin(x)的图形 解 x=linspace(0,2*pi,30); y=sin(x); Plot(x,y) zoom on Matlab liti13
例 在[0,2*pi]用红线画sin(x),用绿圈画cos(x).
解 x=linspace(0,2*pi,30); y=sin(x); Matlab liti1 z=cos(x); plot(x,y,'r',x,z,’g0')
1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8
ezplot(‘x(t)’,’y(t)’,[tmin,tmax]) 表示在区间tmin<t<tmax绘制参数方程 x=x(t),y=y(t)的函数图
例 在[0,pi]上画y=cos(x)的图形 解 输入命令 ezplot(‘sin(x)’,[0,pi])
Matlab
liti25
3 3 例 在[0,2*pi]上画 x cos t , y sin t 星形图
(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 liti24
定制坐标
图形保持 分割窗口
缩放图形
改变视角
动
画
返回
处理图形
1、在图形上加格栅、图例和标注
(1)GRID ON: 加格栅在当前图上
GRID OFF: 删除格栅
(2)hh = xlabel(string): 在当前图形的x轴上加图例string hh = ylabel(string): 在当前图形的y轴上加图例string hh = zlabel(string): 在当前图形的z轴上加图例string
解
2x
sin(3x 2 ) 的 图形
Matlab liti43
先建M文件myfun1.m: function Y=myfun1(x) Y=exp(2*x)+sin(3*x.^2) 再输入命令: fplot(‘myfun1’,[-1,2])
例 在[-2,2]范围内绘制函数tanh的图形 解 fplot(‘tanh’,[-2,2])
(3)
hh = gtext(‘string’)
命令gtext(‘string’)用鼠标放置标注在现有的图上. 运行命令gtext(‘string’)时,屏幕上出现当前图形,在 图形上出现一个交叉的十字,该十字随鼠标的移动移动, 当按下鼠标左键时,该标注string放在当前十交叉的位 置. 例 在区间[0,2*pi]画sin(x),并分别标注“sin(x)” ”cos(x)”. 解 x=linspace(0,2*pi,30); y=sin(x); Matlab liti3 z=cos(x); plot(x,y,x,z) gtext(‘sin(x)’);gtext(’cos(x)’)
在区间[0,10*pi]画出参数曲线x=sin(t),y=cos(t), z=t. 解 t=0:pi/50:10*pi; plot3(sin(t),cos(t),t) Matlab liti8 rotate3d %旋转