matlab作图+matlab命令大全+matlab工具箱函数汇总.docx
《matlab作图+matlab命令大全+matlab工具箱函数汇总.docx》由会员分享,可在线阅读,更多相关《matlab作图+matlab命令大全+matlab工具箱函数汇总.docx(56页珍藏版)》请在冰豆网上搜索。
![matlab作图+matlab命令大全+matlab工具箱函数汇总.docx](https://file1.bdocx.com/fileroot1/2022-11/24/a6a73bef-d2ef-4ada-9e8c-95d46048ff5f/a6a73bef-d2ef-4ada-9e8c-95d46048ff5f1.gif)
matlab作图+matlab命令大全+matlab工具箱函数汇总
MATLAB的图视化功能
1.MATLAB的图视化概论
数据图视化能使人们用视觉器官直接感受到数据的许多内在本质。
因此,数据可视化是人们研究科学、认识世界所不可缺少的手段。
MATLAB不仅数值计算方面是一个优秀的科技应用软件,在数据可视化方面也具有上佳表现。
MATLAB具有二维、三维乃至四维的图形表现能力。
可以从线型、边界面、色彩、渲染、光线、视角等方面把数据的特征表现出来。
MATLAB的图视化功能是建立在一组“图形对象”的基础之上的。
“图形对象”的核心是图形的句柄(GranhicsHandle)操作。
MATLAB的有两个层次的绘图指令:
(1)底层(Low-leve)绘图指令:
是直接对句柄进行操作。
底层绘图指令控制和表现数据图形的能力比高层绘图指令强。
特点是灵活多变,较难掌握。
(2)高层(High-level)绘图指令:
建立在底层指令上的绘图指令。
最常用的是高层绘图指令。
高层绘图指令简单明了容易掌握,本章介绍高层绘图指令。
本章内容按“前易后难”的原则安排。
最常用的二个绘图指令是:
plot;mesh
2.二维图形
(1)plot函数
以下例子用来体会plot的基本的绘图原理。
例:
绘向量得折线图:
holdon
x=[2.3,4.3,3,4,4.9,1.5,2.8,4.6,5.5];
plot(x)
plot(x,'ro')
注1:
plot绘图的基本素材是二维点组(x
y
)(1=1,2,….n)。
二维点组(x
y
)(1=1,2,….n)的定义形式:
*1)x=[2.3,4.3,3,4,4.9,1.5,2.8,4.6,5.5];
*2)y=0:
0.1:
5
这种定义方法,默认横坐标是自然数(1,2,3,4…..)
*3)t=0:
pi/100:
2*pi
x=sin(t)
*4)x=[1.5,2.3,2.8,3,4,4.3,4.6,4.9,5.5];
y=x.^2
这种定义方法,要注意自变量保持升序。
自变量与应变量的体积的一致。
注2:
plot绘图的基本原理是依(x
y
)(1=1,2,….n)排列顺序用直线连接。
曲线光滑与否与点数相关。
holdoff
t=0:
pi/3:
2*pi;
x=sin(t);
plot(t,x,'r-')
holdon
t=0:
pi/5:
2*pi;
x=sin(t);
plot(t,x,'b-')
(1)坐标系定制
用于对坐标轴进行管理与控制,如刻度,外观,文字说明等
*1)坐标轴定制指令(axis)
'axis'用于对坐标轴刻度进行管理与控制。
指令形式与作用说明如下:
AXIS([XMINXMAXYMINYMAX])设置x-andy-axes刻度。
AXIS([XMINXMAXYMINYMAXZMINZMAX])设置x-andy-axes和z-axes刻度。
V=AXIS返回当前图形行向量的刻度设置[XMINXMAXYMINYMAX]或([XMINXMAXYMINYMAXZMINZMAX])。
AXISAUTO返回刻度设置的系统默认值
AXISTIGHT依数据设置刻度
AXISIJ设置坐标轴的原点在左上角
AXISXY设置坐标轴的原点在左下角
AXISEQUAL设置坐标轴的比例因子相等。
AXISIMAGE
AXISSQUARE
AXISNORMAL
AXISVIS3D
AXISOFF
AXISON
例:
XMIN=1;
XMAX=10;
YMIN=10;
YMAX=100;
AXIS([XMINXMAXYMINYMAX])
plot([1,50,3,60,5,20,3])
*2)其它坐标系:
polar
例1:
polar(THETA,RHO)
t=0:
0.1:
2*pi;
r=t;
polar(t,r)
例2:
对数-对数
t=0:
0.1:
2*pi;
r=t;
semilogx(t,r)
(2)
(3)图视效果强化
例:
加入格栅;坐标轴标志;文本说明等
clf;holdoff
t=linspace(0,pi*3,30);
x=sin(t);
holdon
y=cos(t);
plot(t,x,'r-',t,y,'g-')
grid%加入格栅
xlabel('x轴')
ylabel('y轴')
title('正弦与余弦曲线')
text(1,0,'正弦')%text(x,y,'正弦')
text(3,0,'余弦')
legend('sin(x)','cos(x)',3)
%LEGEND('string',Pos)placesthelegendinthespecified,
%0=Automatic"best"placement(leastconflictwithdata)
%1=Upperright-handcorner(default)
%2=Upperleft-handcorner
%3=Lowerleft-handcorner
%4=Lowerright-handcorner
%-1=Totherightoftheplot
%按鼠表leftmousebutton拖legend到指定的位置
(2)子图
clf;holdoff
t=linspace(0,pi*3,30);
x=sin(exp(t));
subplot(2,2,2)%(n,m,p(0
plot(t,x,'r-')
y=exp(sin(t));
subplot(2,2,3)
plot(t,y,'g-')
(3)特殊二维图形
bar
直方图
loglog
双对数坐标曲线
compass
原点出发的复数向量图(罗盘图)
pcolor
伪彩图
contour
在x-y平面上绘制等位线图
polar
极坐标曲线
errorbar
误差棒棒图
PlOt
直角坐标二维曲线
ezpolt
符号函数二维曲线
quiver
矢量场图
feather
沿X一轴分布的复数向量图(羽毛图)
rose
统计频率数扇块图
fplot
数值函数二维曲线
semilogx
X一轴对教坐标曲线
fill
平面多边形填色
semilogy
y一轴对教坐标曲线
gplot
绘拓扑图
stem
火柴杆国
hist
统计频率数直方图
stairs
阶梯图
例:
误差图(errorbar)
clf;x=0:
0.1:
4;
y=zeros(size(x));e=rand(size(x));
yu=y+e;yd=y-e;
errorbar(x,y,e)
holdon
plot(x,yu,'r-');plot(x,yd,'r-');
(3)绘图工具
mmaxespropvalue…修改绘图坐标轴的属性
mmcxy(or)xy—mmcxy显示图上鼠标的x-y坐标
mmdrawpropvalue…在图上画直线
rnmfill(x,y,z,c,lb,ub)填充两条曲线间区域
mmgetxy(N)使用鼠标获取x-y坐标
mmlinepropvalue…修改所画线条的属性
mmtile平铺多图形窗口
mmtext('optionaltext')在图上放置或拖曳文本
mrnzoom用橡皮框缩放坐标轴
mmzapobject使用鼠标删除文本,线型或坐标轴
mmfontpropvalue修改文本字体属性
例:
clf;x=0:
0.1:
4;
y=zeros(size(x));e=rand(size(x));
yu=y+e;yd=y-e;
errorbar(x,y,e)
holdon
plot(x,yu,'r-');plot(x,yd,'r-');
yu
(1)=0;yu(41)=0;
fill(x,yu,'r');
yd
(1)=0;yd(41)=0;
fill(x,yd,'g');
3.三维图形
(1)plot3(三维直线函数)
以下例子用来体会plot3的基本的绘图原理。
例:
绘参数方程x=t;y=sin(t);z=cos(t)的空间曲线
clf
t=0:
0.05:
100;
x=t;y=sin(t);z=sin(2*t);
plot3(x,y,z,'b:
')
例:
空间划线:
clf
t=0:
0.1:
10;x=t;
y=0*ones(size(x));z=sin(t);
plot3(x,y,z,'r')
holdon
z=0*ones(size(x));
y=sin(t);
plot3(x,y,z,'g')
xlabel('x');ylabel('y');zlabel('z');
(2)三维曲面网格图
例1:
划马鞍面:
clf
x=-4:
0.5:
4;
y=-4:
0.5:
4;
[U,V]=meshgrid(x,y);
Z=-U.^4+V.^4-U.^2-V.^2-2*U*V;
mesh(Z);
xlabel('x');
ylabel('y');
zlabel('z');
注1:
meshgrid的含义,绘图的基础是网格,一个二元系矩阵[(x
y
)]
holdoff
a=ones(9);
a1=2*ones(5);
a2=3*ones
(2);
a(3:
7,3:
7)=a1;
a(5:
6,5:
6)=a2;
meshc(a)
例二:
peakS函数的图形:
peakS函数的表达式
z=3*(1-x).^2.*exp(-(x.^2)-(y+1).^2)
-10*(x/5-x.^3-y.^5).*exp(-x.^2-y.^2)
-1/3*exp(-(x+1).^2-y.^2)
clf;[x,y,z]=peaks(20);p=peaks(20);
subplot(2,2,1);mesh(x,y,z)
subplot(2,2,2);meshz(y,x,z)
subplot(2,2,3);meshc(p)
subplot(2,2,4);waterfall(p)
注1:
[x,y,z]=peaks(20):
为变换角度带来方便。
见二图。
p=peaks(20):
默认x,y,z的顺序给p赋值。
注2:
mesh;meshz;meshc;waterfall,表现上有区别。
注3:
peaks是演示函数。
MATLAB中有许多不同的演示函数,与演示程序(**demo.m)结合在一起。
如peaks图形演示函数
banane优化演示函数
(3)色彩与效果
*1)mesh;SURF;SURFC,SURFL比较:
变更色调(由暖到冷,默认红到兰)的变化方向
shading:
涂色方式
clf;x=-1.5:
0.2:
1.5;y=-1:
0.2:
1;
[X,Y]=meshgrid(x,y);
p=sqrt(4-X.^2/9-Y.^2/4);
subplot(3,2,1);mesh(p);%有网格格子图,色调方向:
有上到下
subplot(3,2,2);surf(p);%默认的方向:
色调方向:
有上到下
subplot(3,2,3);surfc(p);%带登高线;色调方向:
有上到下
subplot(3,2,4);surfl(p);%色调方向:
沿y轴方向
shadinginterp;%平滑涂色图,无格线
subplot(3,2,5);surfl(p)
shadingfaceted;%有网格涂色格子图,有格线;
subplot(3,2,6);surfl(p)
shadingflat;%有网格涂色格子图,无格线;
*2)SURFL的z-参数。
看z-参数的确定平滑涂色效果(定义变化方向)surfl(p,z);z=(n1,n2,n3)。
clf;
x=-0.5:
0.3:
2.5;y=-0.5:
0.3:
2;
[X,Y]=meshgrid(x,y);
p=(4+X.^2/9+Y.^2/4);;
%cm=[100;010;001];
%colormap(cm)
subplot(2,2,1);surfl(p,[1,0,0])
subplot(2,2,2);surfl(p,[0,1,0])
subplot(2,2,3);surfl(p,[0,0,1])
subplot(2,2,4);surfl(p,[1,1,0])
(4)辅助图视效果
*1)视角定义view(az,el)
clf;x=-1.5:
0.2:
1.5;y=-1:
0.2:
1;
[X,Y]=meshgrid(x,y);
p=sqrt(4-X.^2/9-Y.^2/4);
subplot(2,2,1);surfl(p);view(30,30)
shadinginterp
subplot(2,2,2);surfl(p);view(90,10)
shadinginterp
subplot(2,2,3);surfl(p);view(-10,-10)
shadinginterp
subplot(2,2,4);surfl(p);view(140,60)
shadinginterp
*2)surfl光照模式与光照角度设置,surfl(x,y,z,d,s,k)指令中s与k参数
d:
见(3)
s:
确定光照角度;z=(sx,sy,sz);默认光照角度是观察角逆时针方向45度
k:
:
光照模式:
确定强度
ka:
背景光kd:
漫射光ks:
定向光spread:
扩散光
例:
clf;x=-1.5:
0.2:
1.5;y=-1:
0.2:
1;
[X,Y]=meshgrid(x,y);
Z=sqrt(4-X.^2/9-Y.^2/4);
view(45,45)
subplot(2,2,1);surfl(X,Y,Z,[0,45],[.1.6.410]);
shadinginterp
subplot(2,2,2);surfl(X,Y,Z,[20,45],[.3.6.410]);
shadinginterp
subplot(2,2,3);surfl(X,Y,Z,[40,45],[.6.6.410]);
shadinginterp
subplot(2,2,4);surfl(X,Y,Z,[60,45],[.9.6.410]);
shadinginterp
*3)图视放大zoomon;zoomoff;zoom
*鼠标点击变焦(左键放大;右键盘缩小)
*鼠标拖拉变焦
t=-16:
0.1:
16;
x=sin(t.*10).*(t.^2);
plot(t,x,'r-')
zoomon
4.超维图形表达
(1)三维色彩表达(色轴;图象的色彩维)
clf
a=ones(20);
a1=2*ones(13);
a2=3*ones(7);
a3=4*ones
(2);
a(4:
16,4:
16)=a1;
a(7:
13,7:
13)=a2;
a(10:
11,10:
11)=a3;
subplot(2,1,1)
meshc(a)
subplot(2,1,2)
pcolor(a)
colorbar('horiz')
colormap(hsv)
%shadinginterp
(2)四维色彩表达(色轴;图象的色彩维)
clf
x=-5:
0.1:
5;
y=-5:
0.25:
5;
z=-5:
0.25:
5;
n=length(x);
[X,Y,Z]=meshgrid(x,y,z);
V=(-X.^2-Y.^2-Z.^2);
xi=[-4,-2,0,2,4];
yi=0.5;
zi=-0.5;
subplot(2,1,1);
slice(x,y,z,V,xi,yi,zi);
colorbar('horiz');
view([45,45]);
shadinginterp
xi=[0];
subplot(2,1,2);
slice(x,y,z,V,xi,yi,zi);
view([30,45]);
shadinginterp
(3)色彩变换spinmap
5.句柄图形
MATLAB命令大全
管理命令和函数
help
在线帮助文件
doc
装入超文本说明
what
M、MAT、MEX文件的目录列表
type
列出M文件
lookfor
通过help条目搜索关键字
which
定位函数和文件
Demo
运行演示程序
Path
控制MATLAB的搜索路径
管理变量和工作空间
Who
列出当前变量
Whos
列出当前变量(长表)
Load
从磁盘文件中恢复变量
Save
保存工作空间变量
Clear
从内存中清除变量和函数
Pack
整理工作空间内存
Size
矩阵的尺寸
Length
向量的长度
disp
显示矩阵或
与文件和操作系统有关的命令
cd
改变当前工作目录
Dir
目录列表
Delete
删除文件
Getenv
获取环境变量值
!
执行DOS操作系统命令
Unix
执行UNIX操作系统命令并返回结果
Diary
保存MATLAB任务
控制命令窗口
Cedit
设置命令行编辑
Clc
清命令窗口
Home
光标置左上角
Format
设置输出格式
Echo
底稿文件内使用的回显命令
more
在命令窗口中控制分页输出
启动和退出MATLAB
Quit
退出MATLAB
Startup
引用MATLAB时所执行的M文件
Matlabrc
主启动M文件
一般信息
Info
MATLAB系统信息及Mathworks公司信息
Subscribe
成为MATLAB的订购用户
hostid
MATLAB主服务程序的识别代号
Whatsnew
在说明书中未包含的新信息
Ver
版本信息
操作符和特殊字符
+
加
—
减
*
矩阵乘法
.*
数组乘法
^
矩阵幂
.^
数组幂
\
左除或反斜杠
/
右除或斜杠
./
数组除
Kron
Kronecker张量积
:
冒号
()
圆括号
[]
方括号
.
小数点
..
父目录
…
继续
逗号
;
分号
%
注释
!
感叹号
‘
转置或引用
=
赋值
==
相等
<>
关系操作符
&
逻辑与
|
逻辑或
~
逻辑非
xor
逻辑异或
逻辑函数
Exist
检查变量或函数是否存在
Any
向量的任一元为真,则其值为真
All
向量的所有元为真,则其值为真
Find
找出非零元素的索引号
三角函数
Sin
正弦
Sinh
双曲正弦
Asin
反正弦
Asinh
反双曲正弦
Cos
余弦
Cosh
双曲余弦
Acos
反余弦
Acosh
反双曲余弦
Tan
正切
Tanh
双曲正切
Atan
反正切
Atan2
四象限反正切
Atanh
反双曲正切
Sec
正割
Sech
双曲正割
Asech
反双曲正割
Csc
余割
Csch
双曲余割
Acsc
反余割
Acsch
反双曲余割
Cot
余切
Coth
双曲余切
Acot
反余切
Acoth
反双曲余切
指数函数
Exp
指数
Log
自然对数
Log10
常用对数
Sqrt
平方根
复数函数
Abs
绝对值
Argle
相角
Conj
复共轭
Image
复数虚部
Real
复数实部
数值函数
Fix
朝零方向取整
Floor
朝负无穷大方向取整
Ceil
朝正无穷大方向取整
Round
朝最近的整数取整
Rem
除后取余
Sign
符号函数
基本矩阵
Zeros
零矩阵
Ones
全“1”矩阵
Eye
单位矩阵
Rand
均匀分布的随机数矩阵
Randn
正态分布的随机数矩阵
Logspace
对数间隔的向量
Meshgrid
三维图形的X和Y数组
:
规则间隔的向量
特殊变量和常数
Ans
当前的答案
Eps
相对浮点精度
Realmax
最大浮点数
Realmin
最小浮点数
Pi
圆周率
I,j
虚数单位
Inf
无穷大
Nan
非数值
Flops
浮点运算次数
Nargin
函数输入变量数
Nargout
函数输出变量数
Computer
计算机类型
Isieee
当计算机采用IEEE算术标准时,其值为真
Why
简明的答案
Version
MATLAB版本号
时间和日期
Clock
挂钟
Date
日历
Etime
计时函数
Tic
秒表开始计时
Toc
计时函数
Cputime
CPU时间(以秒为单位)
矩阵操作
Diag
建立和提取对角阵
Fliplr
矩阵作左右翻转
Flipud
矩阵作上下翻转
Reshape
改变矩阵大小
Rot90
矩阵旋转90度
Tril
提取矩阵的下三角部分
Triu
提取矩阵的上三角部分
:
矩阵的索引号,重新排列矩阵
Compan
友矩阵
Hadamard
Hadamard矩阵
Hankel
Hankel矩阵
Hilb
Hilbert矩阵
Invhilb
逆Hilbert矩阵
Kron
Kronecker张量积
Magic
魔方矩阵
Toeplitz
Toeplitz矩阵
Vander
Vandermonde矩阵
矩阵分析
Cond
计算矩阵条件数
Norm
计算矩阵或向量范数
RcondLinpack
逆条件值估计
Rank
计算矩阵秩
Det
计算矩阵行列式值
Trace
计算矩阵的迹
Null
零矩阵
Orth
正交化
线性方程
\和/
线性方程求解
Chol
Cholesky分解
Lu
高斯消元法求系数阵
Inv
矩阵求逆
Qr
正交三角矩阵分解(QR分解)
Pinv
矩阵伪逆
特征值和奇异值
Eig
求特征值和特征向量
Poly
求特征多项式
Hess
Hessberg形式
Qz
广义特征值
Cdf2rdf
变复对角矩阵为实分块对角形式
Schur
Schur分解
Balanc