matlab常用函数的运用.docx
《matlab常用函数的运用.docx》由会员分享,可在线阅读,更多相关《matlab常用函数的运用.docx(16页珍藏版)》请在冰点文库上搜索。
matlab常用函数的运用
Cd显示或改变工作目录hold图形保持开关
Dir显示目录下的文件disp显示变量或文字内容
Type显示文件内容path显示搜索目录
Clear清理内存变量save保存内存变量到指定文件
Clf清除图形窗口load加载指定文件的变量
Pack收集内存变量diary日志文件
Clc清除工作窗quit退出MATLAB
Echo工作窗信息显示开关!
调用dos命令
Eps浮点运算的相对精度10^-52NaN不定值
Realmin最小的正浮点数realmax最大的浮点数
Double字符串转换为数值代码
num2str数字转换为字符串
Int2str整数转换为字符串
Mat2str矩阵转换为字符串
Str2num转换字符串为数字
Eval执行字符串
单元型相关函数
Cell生成单元型变量cellfun对单元型变量作用的函数
Celldisp显示单元型变量的内容cellplot图形显示单元型变量的内容
Num2cell将数组转换为单元型变量deal输入输出处理
Cell2struct将单元型变量转换为结构型变量
Struct2cell将结构型变量转换为单元型变量
Iscell判断是否为单元型变量
reshape改变单元数组结构
结构型相关函数
Structct创建或转变结构型变量
Fieldnames得到结构型变量的属性名
getfield得到结构型变量的属性值
Setfield设定结构型变量的属性值
rmfield删除结构型变量中的属性值
Isfiled判断是否为结构型变量的属性
Issstruct判断是否为结构型变量
线性等分法生成向量
y=Linspace(x1,x2)生成100维行向量
y=Linspace(x1,x2,n)生成n维行向量
对数等分向量的生成
y=logspace(x1,x2)生成50维等分向量
y=logspace(x1,x2,n)生成n等分向量
两个向量的点积
Dot(a,b)a,b必须是同维向量
Sum(a.*b)
两个向量的叉积
Cross(a,b)a,b必须为三维向量
矩阵的运算
det矩阵行列式的运算
Inv对矩阵求逆
Expm矩阵的指数运算
Logm矩阵的对数运算
Sqrtm矩阵的开方运算
Magic魔方矩阵
[x,y]=eig(a)求矩阵特征值和特征向量
[x,y]=eigs(a)利用迭代法求矩阵特征值和特征向量
矩阵的奇异值
Svd(a)或svds(a)
范数函数
Norm(x,p)p=1为1范数
P=2为2范数
P=inf为无穷范数
矩阵的秩
Rank(a)
迹函数:
矩阵对角线上元数的和称为矩阵的秩
函数:
trace(a)
正交空间函数:
用于求解矩阵的一组正交基
Orth(a)
条件数函数:
判断矩阵的病态程度
Cond计算矩阵条件数的值
Condest计算矩阵1范数条件的估计值
Rcond计算矩阵的条件数的到数值
伪逆函数:
求解病态问题时,避免产生伪解
Pinv(a)
奇异值分解
[u,s,v]=svd(x)x=u×s×v’
LU分解:
又称三角分解
[l,U]=lu(a)
[L,U,p]=lu(a),p为z置换矩阵,此时A=p^-1lu
Cholf分解
正交分解:
[q,r]=qr[(a)
常用的特殊矩阵:
1空矩阵
2单位矩阵eye(m,n);eye(m)
3一矩阵ones(m,n);ones(m)
4零矩阵zeros(m,n);zeros(m)
5对角矩阵:
对角元数diag(v)v为矩阵的对角线元素
Compan友矩阵函数
Magic魔方矩阵
HankelHankel矩阵
矩阵的变维
1.Reshape:
针对一个矩阵
2.冒号法:
针对两个矩阵
矩阵的变向
矩阵的旋转:
rot90
矩阵上下翻转:
flipud
矩阵的左右翻转:
fliplr
对矩阵指定维数进行翻转:
flipdim
Rosser对称特征值测试矩阵
hilbHilbert矩阵
pascalPascal矩阵
Invhilb反Hilbert矩阵
Vander范德蒙矩阵(格式为A=Vander(v),其中A(i,j)=v(i)n-j
矩阵的对角线抽取:
diag(a):
抽取主对角线的元素
diag(a,k):
抽取主对角线上第k条对角线的元素,如k取负则取主对角线以下
三角阵的抽取:
tril(x)抽取x的主下三角部分
tril(x,k)抽取x的第k条对角线下面的元素
Triu(x)抽取x的主上三角部分
Triu(x,k)抽取x的第k条对角线上面的元素
矩阵的翻转:
Rot90(a)将矩阵a逆时针方向旋转90度
Rot90(a,k)将矩阵a逆时针旋转(90*k)度
fliplr(a)将a左右翻转
Flipud(a)将a上下翻转
Flipdim(a,dim)将矩阵a的dim维翻转
数组的基本逻辑运算
==等于
~=不等于
<小于
>大于
<=小于等于
>=大于等于
&逻辑与
∣逻辑或
~逻辑非
数组的运算优先级先后
比较运算算术运算逻辑运算
Any向量的任意元素不为0时则返回真
All向量所有元素不为0是则返回真
Xor逻辑或非
isempty判断空矩阵
isequal判断相等矩阵
isnumeric判断数值矩阵
islogical判断逻辑数组
logical转换数值为逻辑型
isinf判断无穷大元素
Isfinite判断有限大元素
Find寻找非零元素坐标
多项式的运算
Ploy2sym(p)生成以p为数值的多项式
特征多项式的输入法
(1)多项式创建的另一个途径是从矩阵求其特征多项式
(2)由函数poly实现
说明:
由特征多项式生成的的多项式首相系数必为1;
n阶特征矩阵一般产生n次多项式
由根创建多项式
(1)由给定的根也可以创建多项式
(2)由函数poly实现
说明:
若要生成实系数多项式,则根中的复数必定对应共轭
当生成的多项式向量包含很小的虚部,可以用real命令将其滤掉。
多项式的根:
(1)调用roots;
(2)通过建立多项式的伴随矩阵在求其特征值;
Compan(p)求p的伴随矩阵
多项式的乘除法
乘法有conv实现;
除法由deconv实现;
多项式的微分运算
由polyder实现,格式为polyder(p),p为向量
多项式的拟合
由拟合函数polyfit来实现
Polyfit(X,Y,n),X,Y为拟合数据,n为多项式阶数
[p,s]=polyfit(X,Y,n)
Ccode–符号表达式C语言代码:
Ccode(s)函数返回C语言用于计算符号表达式S的c语言
Collect:
合并同类项函数
(1):
R=collect(s),函数按缺省值的次数对多项式s中的每一函数合并系数;
R=collect(s,v),函数对指定的变量V的次数对多项式s中的每一函数合并系数。
Compose-符号复合函数运算
compose(f,g)函数返回复合函数f[g(y)],f=f(x),g=g(y),符号x和y分别为函数f中由命令findsym(f)确定符号变量
(1)compose(f,g,z)函数返回以z为自变量的复合函数f[g(z)]
(2)compose(f,g,x,z)函数返回值以z为自变量的复合函数f[g(z)].变量x为函数f中的自然变量f=f(x).令x=g(z),再将x=g(z)代入函数f中
(3)compose(f,g,x,yz)函数返回复合函数f[g(z)].若变量为x函数f中的的自变量f=f(x),而变量y为函数g中的自变量g=g(y)。
令x=g(y),再将x=g(y)代入函数f=f(x)中,得f[g(y)],最后用指定的变量z代替变量y,得f[g(z)].
Det-矩阵符号的行列式
Det(x)函数返回方阵x的多项式的值
Diff-对符号表达式进行微分
用法:
(1)diff(s,’v’)、diff(s,sym,(‘v’))参量s为符号表达式,v为指定符号变量。
函数s求1阶导数。
Diff(s)函数对符号表达式s求1阶导数。
其中s采用默认变量,即由函数findsym(s)获得
Diff(s,n)函数对符号表达式s中默认变量计算s的n阶导数,其中默认变量由函数findsym(s)获得
Diff(s,’v’,n)函数对符号表达式s中指定的符号变量v计算s的n阶导数
Digits-查看及设置当前系统算术运算精度
用法:
digits(n)函数设置当前的可变算术精度的位数为小数点后n位
D=digits函数返回当前的可变算术精度位数给d.
Digits函数查看当前系统可变算术精度的位数
Dsolve-求解常微分方程
用法:
dsolve(‘equation’,’condition’)函数求常微分方程的符号解。
‘equation’表示常微分方程,且dy表示一阶微分项,d2y表示,’condition,是初始条件。
expand-展开符号矩阵
用法:
R=expand(s)函数对符号矩阵或符号表达式s中每个因式的乘积展开计算,该命令多用于计算多项式函数的因式分解及三角函数、指数函数与对数函数的展开式。
ezcontour-绘制符号函数的等高线
用法:
ezconyour(f)函数绘制符号函数z=(x,y)在默认平面区域[-2piMATLAB根据发生的变化的程度选择计算网络,若函数f对于网络节点没有意义(或奇异),则在这些点上不绘制函数图形。
ezcontour(f,domain)函数在指定的区域domain内绘制函数z=f(x,y)的等高线图,domain可以是四维向量[xmin,xmax,ymin,ymax],或者是二维向量[min,max](其中minezcontour(…,n)使用方法同上。
用指定的n*n个栅格点(n的缺省值为60),在相关区域内绘制函数f的等高线图
ezcontourf-用不同颜色填充符号函数的等高线图
用法:
ezcontour(f)绘制符号函数z=f(x,y)在默认平面区域[-2piMATLAB根据发生的变化的程度选择计算网络,若函数f对于网格节点没有意义,则在这些点上不绘制图形
Ezcontour(f,donmain)函数在指定的区域domain内绘制z=f(x,y)的等高线,domain可以是四维向量[xmin,xmax,ymin,ymax],或者是二维向量[min,max](其中minEzcontour(…,n)使用方法同上。
在指定的n*n个栅格点(n的缺省值为60),在相关区域内绘制f的等高线图
符号矩阵的创立:
创建符号矩阵的方法与创建数值矩阵的形式相似,要用到符号定义函数sym
使用sym函数直接创建符号矩阵
1.矩阵元数可以是任何不带等号的符号表达式
2.各符号表达式的长度可以不同;
3.矩阵元数之间可以用空格或逗号分隔
创建子阵的方法创建符号矩阵
1.是仿照MATLAB的字符串矩阵的直接输入法设计的;
2.不需要调用sym命令,但要保证同一列的各个元素字符串具有相同的长度;
3.在较短字符串的前后可用空格符补充
将数值矩阵转换为符号矩阵
1.MATLAB中,数值矩阵不能直接参与符号运算,必须先转换为符号矩阵;
2.不论数值矩阵的元素原先是利用分数还是浮点数表示,转化后的符号矩阵都以最接近的精确有理数形式给出
符号矩阵的索引与修改
1.与数值矩阵的索引与修改完全相同
2.用矩阵的坐标括号表达式实现
MATLAB绘图基础
Plot在x轴和y轴上按线性比例绘制二维函数图形
Plot3在x轴和y轴和z轴上按线性比例绘制三维函数图
Loglog在x轴y轴上按对数比例绘制二维函数图形
Semilogx在x轴上按对数比例,在y轴上按线性比例绘制二维函数图形
Semilogy在y轴上按对数比例,在x轴上按线性比例绘制二维图形
Plotty绘制双y轴函数图形
Area填充绘图fplot函数图绘制
Bar条形图hist直方图
Barh水平条形图paretopareto图
Comet彗星图pie饼状图
Errorbar误差带图plotmatrix分散矩阵图
Ezplot简单绘制函数图ribbon三位图的三位条状显示ezpolor绘制极坐标图scatter散射图
Feather矢量图stemp离散系列饼状图
fill多边形填充stairs阶梯图
contour绘制等高线图
格式为:
contour(z,n/v)n为绘制的等高线条数,v为输入的向量,等高线对应的向量值
Contourf绘制填充的等高线图
网图函数
[X,Y]=meshgrid(x,y),其中x,y为给定向量,用来定义区域和划分方法。
矩阵X和Y为网络划分后的数据
Mesh(X,Y,Z)绘制彩色网格面图形
Mesh(x,y,Z)x,y为两个向量,要求[length(y),length(x)]=size(Z),则使用x=1:
n及y=1:
m
特殊三维函数图形
Bar3三维条形图surf着色与等高线结合
Comet3三维彗星轨迹图trisurf三角形表面图
Ezgraph3函数控制绘制三位图trimesh三角形网格图
Pie3三维饼状图waterfal瀑布图
Scatter3三维散射图clinder柱面图
Stem3三维离散数据图sphere球面图
图形形的控制
1.sxis(v),v为坐标轴范围数组
2.axis’控制字符串‘
3.auto自动模式
4.axis当前坐标设置固定
5.equal控制各坐标轴的分度使其相等
6.square绘制图区为正方形
7.normal解除对坐标轴的任何限制
坐标轴缩放函数
Zoom‘控制字符串’实现对二维图的缩放
On允许对图形缩放
Off禁止对图形缩放
Factor以factor为缩放因子进行坐标轴缩放
Out恢复进行的一切缩放
Xon只允许对x轴进行缩放
Yon只允许对y轴进行缩放
平面坐标网格函数
Gridon/off显示和取消网格
坐标轴封闭函数
Boxon/off四周显示坐标轴和常规坐标轴
图形的标注
Titlexlabelylabel(‘标注’,’属性1‘,属性值1,…)
在MATLAB中使用LaTex字符
1.Tex字符表
在text对象的函数中(函数title、xlabel、ylabel、zlabel或text),说明文字除使用标准的ASCII字符外,还可使用LaTeX格式的控制字符,这样就可以在图形上添加希腊字母、数学符号及公式等内容。
例如,text(0.3,0.5,‘sin({\omega}t+{\beta})’)将在图形窗口的(0.3,0.5)位置得到标注效果sin(ωt+β)。
Tex字符在输出一些数学公式时经常使用,它只能由类型为text的对象创建。
函数title、xlabel、ylabel、zlabel或text都能创建一个text对象,因此Tex字符转义符(带“\”的字符串)经常作为这些函数的输入参数。
Tex字符及其函数见下表。
函数字符
代表符号
函数字符
代表符号
函数字符
代表符号
\alpha
α
\upsilon
υ
\sim
~
\beta
β
\phi
φ
\leq
≤
\gamma
γ
\chi
χ
\infty
∞
\delta
δ
\psi
ψ
\clubsuit
♣
\epsilon
ε
\omega
ω
\diamondsuit
♦
\zeta
ζ
\Gamma
Γ
\heartsuit
♥
\eta
η
\Delta
∆
\spadesuit
♠
\theta
θ
\Theta
Θ
\leftrightarrow
↔
\vartheta
ϑ
\Lambda
Λ
\leftarrow
←
\iota
ι
\Xi
Ξ
\uparrow
\kappa
κ
\Pi
∏
\rightarrow
→
\lambda
λ
\Sigma
∑
\downarrow
↓
\mu
μ
\Upsilon
Y
\circ
︒
\nu
ν
\Phi
Φ
\pm
±
\xi
ξ
\Psi
ψ
\geq
≥
\pi
π
\Omega
Ω
\propto
∝
\rho
ρ
\formall
∀
\partial
∂
\sigma
σ
\exists
∃
\bullet
∙
\varsigma
ς
\ni
∍
\div
÷
\tau
τ
\cong
≅
\neq
≠
\equiv
≡
\approx
≈
\aleph
ℵ
\Im
\Re
ℜ
\wp
℘
\otimes
⊗
\oplus
⊕
\oslash
∅
\cap
⋂
\cup
⋃
\supseteq
⊇
\supset
⊃
\subseteq
⊆
\subset
⊂
\int
⎰
\in
∈
\o
ο
\rfloor
⎦
\lceil
⎡
\nabla
∇
\lfloor
⎣
\cdot
⋅
\ldots
⋯
\perp
⊥
\neg
⎤
\prime
'
\wedge
∧
\times
⨯
\0
∅
\rceil
⎤
\surd
√
\mid
⎢
\vee
∨
\varpi
ϖ
\copyright
©
\langle
〈
\rangle
〉
如果要输出希腊字母,可以使用texlabel函数将希腊字母的变量名转化为希腊字母的函数,供函数title、xlabel、ylabel、zlabel或text使用。
texlabel转换MATLAB表达式为等价的Tex格式字符串。
它处理希腊字母的变量名为实际显示的希腊字母字符串。
希腊字母的变量名为“\”后面的字符串。
例如:
texlabel('alpha')
ans=
{\alpha}
text(0.5,0.5,'{\alpha^2}')
text(0.5,0.5,texlabel('alpha^2'))
以上两条指令均在窗口中心产生α2标注。
Tex字符还可以设置字体、颜色和位置。
(1)Tex字符的字体设置有如下6种。
①\bf:
设置字体为粗体字。
②\it:
设置字体为斜体字。
③\sl:
设置字体为斜体字,很少使用。
④\rm:
设置字体为正常字体。
⑤\fontname{字体名}:
设置字体名。
例如:
\fontname{宋体}。
⑥\fontsize{字体大小}:
设置字体大小。
例如:
\fontsize{16}。
每次设置时,\it、\sl、\rm只能选择一种。
(2)Tex字符的颜色设置有下面两种方法。
①\color{颜色名}颜色名:
颜色名有12种,分别为red、green、yellow、magenta、blue、black、white、cyan、gray、barkGreen、orange和lightBlue。
例如:
\color{magenta}magenta。
②\color[rgb]{abc}:
设置字体颜色为RGB矩阵[abc]所表示的颜色。
a、b和c都在[01]范围内。
例如:
color[rgb]{0.5.5}。
(3)Tex字符的位置有2种设置。
①_:
表示下标。
②^:
表示上标。