版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://exilecrooner.blogbus.com/logs/30743709.html
MATLAB主要命令汇总
1、常用信息
? help:在线帮助(显示在命令窗)。
? helpwin:在线帮助(独立窗口显示)。
? ver:MATLAB及工具箱的版本信息。
2、管理工作区命令
? who:显示当前变量。
? whos:显示当前变量具体信息。
? clear:从内存中清楚变量和函数。
? quit:退出MATLAB。
3、管理命令和函数
? what:显示当前目录下的MATLAB 文件。
? edit:编辑M文件。edit(建立编辑新文 件);edit+文件名(编辑已有的文件)。
? which:找出函数和文件的位置。
? type:显示M文件内容。Type+文件名。
? Inmem:显示内存中的函数。
4、操作系统命令
? dir:显示目录。
? pwd:显示当前工作目录。
? delete:删除文件。Delete+文件名。
? web:打开页面浏览器加载文件。
5、数据类型
? double:双精度类型
? sym:符号型
? Inline:内联对象
? char:字符数组或字符串。
? uint8:无符号8位整数(unsigned integer)
6、数据基本操作
? max:最大元素。向量为数,矩阵为向量
? min:最小元素。类似max.
? mean:求平均值。mean(a),a为向量时得到向量平均值,结果为一个数;a为矩阵时,进行每列平均,得到一个向量。
? sum:元素和。 sum(a),a为向量时得 到该向量各元素之和,结果为一个数;a为矩阵时,进行每列求和,得到一个向量。
? prod:元素积。prod(a)当a为向量和 矩阵时的情况,类似于max(a)。
? cumsum:元素累和。cumsum(a),a可为向量,也可为矩阵。
? cumprod:元素累积。a可为向量, 也可为矩阵。
7、基本矩阵函数
? zeros:零矩阵函数。
? ones:全1矩阵。
? eye:单位矩阵。
? rand:随机数、向量、矩阵.
? linspace:线性等分向量。
8、基本数组操作
? size:矩阵大小。
? length:数组长度。
? isempty:判断是不是空矩阵。
? isequal: 判断数组是否相等。 isequal(a,b)。
? isnumeric:判断是否为数值矩阵。
? reshape:矩阵重置。
? tril:抽取下三角部分。
? triu:抽取上三角部分。
? fliplr:左右方向翻转矩阵(flip:翻转)。
? flipud:上下方向翻转矩阵。
? rot90:逆时针把矩阵旋转90度。
9、专用变量和常量
? ans:最新答案。
? pi:圆周率。
? i,j:复数单位。
? inf:无穷大。
? NaN:不定数。
? isnan:判?a href="javascript:;" onClick="javascript:tagshow(event, '%CF%B2%BB%B6');" target="_self">喜欢ㄊ?O:P>
? isinf:判断无穷大元素。
? isfinite:判断有限大元素。
10、指数、对数函数
? exp:e指数函数。
? pow2:以2为底的幂函数。
? sqrt:平方根函数。
11、舍入函数和剩余函数
? fix:朝零方向舍入为整数。
? floor:朝负方向舍入为整数。
? ceil:朝正方向舍入为整数。
? round:四舍五入为整数。
? sign:符号函数。
? mod:无符号求余函数。mod(3,2)=1
? rem:带符号求余函数。
12、复数函数
? abs:求模。
? conj:求共轭函数(conjugate)。
? angle:相角函数。
? imag:复矩阵虚部。
? real:复矩阵实部。
? isreal:实矩阵判断函数。
12、矩阵函数
? norm:矩阵或向量范数。
? normest:向量、矩阵2范数。
? rank:矩阵的秩。
? det:矩阵行列式的值。
? trace:矩阵的迹(主对角线元素之和)。
? inv:矩阵逆。
13、特征多项式、特征值
? poly:特征多项式。
? poly2sym:多项式表示。
? eig:特征值和特征向量。
? eigs:特征值。
14、矩阵函数
? expm:矩阵指数。
? logm:矩阵对数。
? sqrtm:矩阵平方根。
15、坐标转换
? cart2sph:转换直角坐标为球坐标。
? cart2pol:转换直角坐标为极坐标。
? pol2cart:转换极坐标为直角坐标。
? sph2cart:转换球坐标为直角坐标。
16、坐标轴控制
? axis:控制坐标轴范围。
? grid on/off:栅格线保持、取消。
? hold on/off:图形保持/取消。
? box on/off:图形四周都显示/常规坐标轴。
例1、
? [x,y]=meshgrid(0:0.5:10);
? z=y.*sin(x.^2)+cos(y);
? surf(x,y,z)
? v=[-20,10,-20,10,-10,50];%坐标轴范围控制
? axis(v)%注意该语句必须在图形显示语句的后面
说明:二维图形是类似的。
例2、axis(‘控制字符串’):可以选择
不同的字符串完成对坐标轴的操作。
控制字符串有:
(1)auto:自动模式,使得图形的坐标范围满足图中一切图元素。
(2)axis:将当前坐标设置固定,使
用hold命令后,图形仍以此作为坐标界限。
(3)manual:以当前的坐标限定绘制。
(4)tight:将坐标限控制在指定的数据范围内。
(5)equal:使坐标轴分度相等。
(6)off:取消对坐标轴的一切设置,包括系统的自动设置。
(7)on:恢复对坐标轴的一切设置。
? [x,y]=meshgrid(-1:0.1:1,-1:0.1:1);
? z=x.^2+y.^2;
? surf(x,y,z)
? box on
17、基本二维图形
? plot:线性绘图。
? loglog:双对数坐标图。
? semilogx:半对数(x)坐标图。
? semilogy:半对数(y)坐标图。
? polar:极坐标图。
? subplot:分割图窗
? refline(slope,intercept):加参考线
18、图形注解
? legend:图形标签.
? xlable:x轴标签。
? ylable:y轴标签。
? title:图形题目。
? text:文字注解。
19、特殊二维图形
? bar:条形图。
? barh:水平柱图。
? ezplot:符号函数图。
? fplot:绘制字符串指定的函数名的函数图。如fplot(‘sin(x)’,[2,3])。
? pie:饼图。
? plotmatrix:绘矩阵点图。
? stem:2维火柴杆图。
? stem3:3维火柴杆图。
20、等高线图和向量图
? contour:等高线图。
? contour3:三维等高线图。
? quiver:向量图。
例
[x,y] = meshgrid(-2:.2:2,-1:.15:1);
z = x .* exp(-x.^2 - y.^2);
[px,py] = gradient(z,2);
contour(x,y,z),
hold on
quiver(x,y,px,py)
hold off
21、特殊三维图形
? comet3:三维彗星轨线(comet(x,y)画二维彗星线)。
t = -10*pi:pi/500:10*pi
comet3(sin(t),cos(t),t)
? meshc(x,y,z):画出三维网格与等高线 图,类似sutfc。
? meshz(x,y,z):增加边界面屏蔽。
? stem3:三维火柴干图。
? 例 a=rand(3);
stem3(a);
22、固体模型
? cylinder:生成圆柱。格式为[x,y,z]= cylinder(r,n),r为母线半 径,N为显示的母线条数 mesh(x,y,z)或surf(x,y,z)显示单位 高度柱面。
t = -1*pi:pi/20:1*pi;
r=5+cos(t);
[x,y,z]=cylinder(r,30)
surf(x,y,z)
? sphere: 生成单位球面。例
[x,y,z]=sphere(40) %40为子午线条 数,sphere默认为20条。
mesh(x,y,z)或surf(x,y,z) %画球面
axis(‘equal’) %坐标轴刻度相同
例、绕地球运动的飞行物
? [x,y,z]=sphere(50);
? mesh(x,y,z);
? hold on
? v=[-6,6,-6,6,-6,6];
? axis(v);
? axis('off')
? t= 0:pi/1000:200*pi;
? x=6*sin(t);
? y=2*cos(t);
? z=zeros(size(t));
? comet3(x,y,z)
23、四维表现图
对于三维图形自变量是二维的,对于三个自变量的函数w=fx,y,z),其其图形应该是四维的,由于我们所处的空间和思维的局限性,在计算机屏幕上只能表现出三维空间。为了表现四维图像,可利用三维实体的四维切片色图,用三维实体上的颜色来描述函数值的变化情况。
? MATLAB中用slice函数来完成
(1)slice(x,y,z,w,sx,sy.sz):绘制向量sx,sy,sz中的点沿x,y,z轴方向的切片图,v的大小决定了每一点的颜色。
(2)slice(x,y,z,w,x1,y1,z1):按数组x1,y1,z1切片(按坐标轴单位)。
(3)slice(w,x1,y1,z1):按数组x1,y1,z1切片(按x,y,z的网格单位进行切片。
(4)slice(w,sx,sy,sz):按x,y,z的网格单位进行切片。
例、程序如下:
[x,y,z]=meshgrid(-2:0.2:2,-2:0.25:2,-2:0.16:2);
w=x.^2+y.^2+z.^2;
%slice(x,y,z,a,x,y,z)
x1=1:15;
y1=1:10;
z1=1:10
subplot(2,2,1),slice(x,y,z,w,1,1,[0,1]);
subplot(2,2,2),slice(w,1,1,[0,1]);
subplot(2,2,3),slice(x,y,z,w,x1,y1,z1);hold on
subplot(2,2,4),slice(w,x1,y1,z1);
colorbar %色轴,它可以标注颜色与数值之间的关系
24、数据文件
(1)Save(‘x1’,‘变量1’,‘变量2’,…):把变量1,变量2,…的数据保存到名字为x1.mat的数据文件中;当变量缺省时,保存所有变量的数据。数据文件自己起名字,变量为程序中的已赋值的变量。
请看下面例子
w='XingtaiCollege'
x=[0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1];
y=[0.002,0.114,0.189,0.316,0.394,0.434,0.427,0.409,0.379,0.327,0.254];
a=x'*y;
save(‘x1’)%所有的变量全部保存
save(‘x2’,‘w’)%只保存w变量的数据
save('x3','w','x') %保存w,x变量的数据
save(‘x4’,‘w’,‘x’,‘y’,‘a’) %保存w,x,y,a变量的数据
%用load(‘文件名’)可把数据文件调入内存。
25、时间函数
(1)calendar:返回当前日历
(2)calendar(year, month):反回指定的年月日历。
(3) calendar(data):返回公元0000年算起的天数(data)的日历。
(4)cputime:以秒返回cpu当前时间。
(5)tic,toc启用、关闭计时器。
(6)clock: [year month day hour minute seconds]
%计算运行程序所用的时间
? t1=clock
? ….
? t2=clock
? etime(t2,t1)%elapsed time from t1 to t2或者
? tic%打开计时器
? …
? toc%关闭计时器,且显示所用的时间
? 或者
? T1=cputime
? …
? T2=cputime
? E=T2-t1
说明:通过计算程序所用的时间可以来
衡量解决同样的一个问题的所编写的不
同程序的优劣。
例1、
? t1=clock;
? for k=1:m
? x0=[1;0];
? T=0.2;
? m=1000;
? f=inline('[-sin(t);cos(t)]');
? x1=x0+f((k-1)*T)*T;
? x0=x1;
? x(k)=x1(1);
? y(k)=x1(2);
? end
? comet(x,y)
? t2=clock;
? t=etime(t2,t1)