MATLAB命令大全管理命令和函数help:在线帮助文件doc:装入超文本说明what:M、MAT、MEX文件的目录列表type:列出M文件lookfor:通过help条目搜索关键字which:定位函数和文件demo:运行演示程序path:控制MATLAB的搜索路径Ctrl+Pause Break:退出死循环管理变量和工作空间Who:列出当前变量Whos:列出当前变量(长表)Load:从磁盘文件中恢复变量Save:保存工作空间变量Clear:从内存中清除变量和函数Pack:整理工作空间内存Size:矩阵的尺寸Length:向量的长度Disp:显示矩阵或与文件和操作系统有关的命令Cd:改变当前工作目录Dir:目录列表Delete:删除文件Getenv:获取环境变量值!:执行DOS操作系统命令Unix:执行UNIX操作系统命令并返回结果Diary:保存MATLAB任务控制命令窗口Cedit:设置命令行编辑Clc:清命令窗口Home:光标置左上角Format:设置输出格式Echo:底稿文件内使用的回显命令More:在命令窗口中控制分页输出启动和退出MATLABQuit:退出MATLABStartup:引用MATLAB时所执行的M文件Matlabrc:主启动M文件一般信息Info:MATLAB系统信息及Mathworks公司信息Subscribe:成为MATLAB的订购用户Hosted: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版本号评论人:积累评论日期:2007-1-3 16:59matlab常用到的永久变量。
ans:计算结果的默认变量名。
i j:基本虚数单位。
eps:系统的浮点(F10a9Bg个oht):inf: 无限大,例1/0nan NaN:非数值(N航a nmnb谢)pi:圆周率n(n=3.1415926..)。
realmax:系统所能表示的最大数值。
realmin: 系统所能表示的最小数值,nargin: 函数的输入参数个数:nargout:函数的输出多数个数①matlab的所有运算都定义在复数城上。
对于方根问题运算只返回处于第一象限的解。
⑦matlab分别用左斜/和右\来表示“左除和“右除”运算。
对于标量运算而言,这两者的作用没有区别:但对于矩阵运算来说,二者将产生不同的结果。
多项式的表示方法和运算p(x)=x^3-3x-5 可以表示为p=[1 0 –3 5],求x=5时的值用plotval(p,5)也可以求向量:a=[3 4 5],plotval(p,a)函数roots求多项式的根 roots(p)p=[1 0 -3 5];r=roots(p)由根重组多项式poly(根)q=poly(r)real(q) 有时会产生虚根,这时用real抽取实根即可conv(a,b)函数多项式乘法(执行两个数组的卷积)a=[1 2 3 4];b=[1 4 9 16];c=conv(a,b)多项式的加减法,低阶的多项式必须用首零填补,使其与高阶多项式有同样的阶次多项式除法 [q , r]=deconv(c , b) 表示b/c q为商多项式,r为余数多项式的导数 polyder(f)f=[ 2 4 5 6 2 1];s=polyder(f)多项式的曲线拟合x=[1 2 3 4 5];y=[5.6 40 150 250 498.9];p=polyfit(x,y,n) 数据的n次多项式拟合 poly:矩阵的特征多项式、根集对应的多项式x2=1:0.1:5; n取1时,即为最小二乘法y2=polyval(p,x2); 计算多项式的值(polyvalm计算矩阵多项式)plot(x,y,'*',x2,y2);grid on最小二乘法x=[1 2 3 4 5];y=[5.6 40 150 250 498.9];plot(x,y,’*’),lsline多项式插值(p158)YI=interp1(x,y,XI,’method’) 一维插值(XI为插值点的自变量坐标向量,可以为数组或单个数。
method为选择插值算法的方法,包括:linear(线性插值)cubic(立方插值)spline(三次样条插值)nearst(最近临插值)例如:人口预测year=1900:10:1900;number=[78 91 105 ….每十年的人口数];x=1900:1:2000;y=interp1(year,number,x,’spline’);plot(year,numeber,’*’,x,y);grid on一维博里叶变换插值使用函数interpft实现,计算含有周期函数值的矢量的傅里叶变换然后使用更多的点进行傅里叶变换的逆变换,函数的使用格式如下:y=interpft(x,n) 其中x是含有周期函数值的矢量,并为等距的点,n为返同等间距点的个数。
求解一元函数的最小值y=fminbnd('humps',0.3,1) humps为一内置函数求解多元函数的最小值函数fminserch用于求多元函数的最小值。
它可以指定一个开始的矢量,并非指定一个区间。
此函数返回一个矢量为此多元函数局部最小函数值对应的自变量纹理成图功能由warp函数的纹理成图功能实现平面图像在空间三维曲面上的显示。
将文件名为flowers.tif的图像分别投影到圆柱形和球星表面上i=imread('flowers.tif');[x,y,z]=cylinder;subplot(1,2,1),warp(x,y,z,i);[x,y,z]=sphere(50);subplot(1,2,2),warp(x,y,z,i);warp(x,y,z,i);求函数的零点求函数humps在[1,2]区间上的零点 fzero(‘humps’,[1,2]);也可以给一个初始值 fzero(‘humps’,0.9);对于多项式可直接由roots求其根 roots(‘4*x^3+……’);也可以用solvec=sym('c','real');x=sym('x','real');s=solve(x^3-x+c)函数定积分q=quadl(‘humps’,0,1) 求humps函数在0 1区间上的定积分,也可以用quad语句二重积分首先计算内积分,然后借助内积分的中间结果再求出二重积分的值,类似于积分中的分步积分法。
Result=dblquad(‘integrnd’,xin,xmax.,ymin,ymax) integrnd为被积函数的名称字符串符号积分运算int(f)最精确的是符号积分法计算s=∫12[∫01xydx]dysyms x y 中间为空格,不能为逗号s=int(int(‘x^y’,’x’,0,1),’y’,1,2) 引号可省略vpa(s) 显示s的值内积分限为函数的二重积分I=∫14[∫√y2(x2+y2)dx]dy符号法I=vpa(int(int(‘x^2+y^2’,’x’,sqrt(y),2),’y’,1,4)微分运算(diff)微分是描述一个函数在一点处的斜率,是函数的微观性质、因此积分对函数的形状在小范围内的改变不敏感,而微分很敏感。
—个函数的小的变化,容易产生相邻点的斜率的大的改变。
由干微分这个固有的困难.所以尽可能避免数值微分.特别是对实验获得的数据进行微分。
在这种情况,最好用最小二乘曲线拟合这种数据,然后对所得到的多项式进行微分;或用另一种方法对点数据进行三次样条拟合,然后寻找样条微分,但是,有时微分运算是不能避免的,在MATLAB中.用函数diff汁算一个矢量或者矩阵的微分(也可以理解为差分)。
a=[1 2 3 3 3 7 8 9];b=diff(a) 一次微分bb=diff(a,2) 二次微分实际上diff(a)=[a(2)-a(1),a(3)-a(2),……,a(n)-a(n-1)]对于求矩阵的微分,即为求各列矢量的微分,从矢量的微分值可以判断矢量的单调性、是否等间距以及是否有重复的元素。
符号微分运算(diff)syms x t af =cos(a*x)df =diff(f) 由findsym的规则,隐式的指定对x进行微分dfa=diff(f,'a') 指定对变量a进行微分dfa=diff(f,'a',3) 三次微分diff函数不仅作用在标量上,还可以在矩阵上,运算规则就是按矩阵的元素分别进行微分syms a xA=[cos(a*x),sin(a*x),-sin(a*x),cos(a*x)];dA=diff(A)微分方程dsolve在matlab中,符号表达式中包含字母D用来表示微分运算,D2,D3分别对应第二,第三阶导数,D2y表示d2y/dt2 把t缺省了y=dsolve(‘Dy=f(y)’) 单个方程,单个输出[u,v]=dsolve(‘Du=f(u,v)’,’Dv=g(u,v)’) 2个方程,2个输出s=dsolve(‘Dx=f(x,y,z)’,’Dy=g(x,y,z)’,’Dz=k(x,y,z)’)s.x s.y s.z 3个方程,架构数组dsolve('Dx=-a*x') 结果:C1*exp(-a*t) 没给定初值,所以结果中含参变量x=dsolve('Dx=-a*x','x(0)=1','s') 结果exp(-a*s) 给定了初值,独立变量设为s 计算多元函数的梯度fx=gradient(f) f是一个矢量返回f的一维数值梯度,fx对应于x方向的微分。