MATLAB知识总结_matlab知识总结

2020-02-28 其他工作总结 下载本文

MATLAB知识总结由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“matlab知识总结”。

1、命令x=0:0.2:2中的赋值格式是matlab常用的变量赋值格式,其中0表示初始值,0.2表示增量,而2表示终止值。若数组x无规律可循,那么x赋值得逐一输入单个元素了,这时要使用赋值格式符“[]”,如x=[0 5 8 1]表示把0 5 8 1 赋值给变量x.2、命令y=x.^3中的“.”表示对数组x逐一操作而不是把数组看做一个整体进行操作,而“^”表示数组的幂指数即对数组进行相乘的操作。

3、假设要建立起始值为0,终止值为,间隔为0.1的数组x,那么用前三种方法创建x的具体命令为:

4.x=[0 0.1*pi

0.2*pi 0.3*pi 0.4*pi 0.5*pi 0.6*pi 0.7*pi 0.8*pi 0.9*pi pi] x=(0:0.1:1)*pi x=linspace(0,pi,10)如果没有10这个数字表示将[0, ]分成间距相等的100个点。而x=logspace(1,2,10)表示对数(lg)间距相等的十个点,如没有10这个数字,表示将在[10,102]之间产生对数间距相等的50十个点。

5.tic和toc用来记录时间。6.tic

A=[];

A=diag(5*ones(5,1))+diag(ones(4,1),1)+diag(ones(4,1),-1)

Toc 可用来做出一个矩阵。

7.学会掌握for——end的循环语句。

8.学会使用while-end循环语句,此语句适合适用于循环次数不确定情况下。只要表达式的值非零即为逻辑“真”,则程序就会一直循环下去。

9.循环终止问题,用break来实现。

10.调试程序时文件名是什么就在命令窗口输入什么,而且要先在第一行弄出红点才行。11.符号变量的创建用sym和syms,后者可创建多个符号变量。

12.创建符号方程用的格式为:equ=('方程'),千万不能用这种格式:equ=方程。13.数值矩阵的表现形式是约数,而符号型矩阵的表现形式是精确的。数值型变量和符号型变量之间不能直接运算,即使它们都可能是数字,得先把数值型变量转化为符号型变量。

14.一般来说,存储matlab文件时用字母来命名才能有效。15.创建一个符号型实数的一般格式为: x=sym(x,'real')Y=sym(y,'real')或者sym x y real;要想清除x的符号属性可使用以下命令:x=sym(x,'unreal')或syms x unreal 16,real(x)表示x实部,而imag(x)表示x的虚部,而conj(x)表示x的共厄复数。17.matlab运算中涉及到数值变量、字符变量和符号变量(级别按顺序一次增高)的运算,系统将各变量转化为最高级别的运算。

18.将其他类型的变量转化为符号型变量的格式为:s=sym(f),f不能是矩阵或者非法的表达式。

19.用s=int2str(x)可以将x转化为字符变量(存储字节大些)s,当x为有理数时,得四舍五入;当x为虚数时,将只对x的实部进行转换。

20.S=num2str(x)也是将x转化为字符变量s,只是对x无任何限制。21.将其他变量转化为数值变量:

1)x=double(s),如果s中含有非数值的符号,系统将给出错误的信息,当s为字符变量时,该命令将s转化为数值矩阵x。矩阵中的元素值为s中的相应字符的ASCII码值。

2)当s是一个包含非数字字符的变量时,str2num(s)命令将返回一个空矩阵s。

3)x=numeric(s)命令可将变量s转化为数值变量x,这里s既可以是字符变量也可以是符号变量,但s不能是矩阵,否则将出错误信息。

22.利用findsym命令可以找到符号表达式或者符号矩阵中的符号变量,并且符号变量以

23.Pretty将代数式A由机器格式转变为书写格式,在转化过程中,不会对A进行任何简化。

24.collect(A):按默认变量对表达式A进行降幂排列,默认变量是指由findsym确定的变量。

25.collect(A,v)按照指定变量v对表达式A进行降幂排列。26.expand(S):将表达式S展开。

27.horner(S):把符号表达式S展开为:ax(bx(cx···(dx+z)+e···)+f)+g.28.factor(S):把符号表达式S展成重叠式。

29.Simplify(S):用一般化简方法化简符号表达式S.但共有六种化简法,此种化简法常用,但不具精确性。

30.不定化简法:simple(S):用不定化简法化简符号表达式S。若S为矩阵,则返回结果为整个矩阵(而不是单个元素)的最简短表达式。

31.[R,HOW]=simple(S):用不定化简法化简表达式S,其中R为S的化简结果,HOW为对应结果所采用的化简方法或者转换方法。

32.combine(trig)用三角函数的运算性质对主对角代数式进行化简;

convert(exp):将代数式尽量转化为由ex、eix表示的指数形式。

convert(sincos):将代数式尽量转化为由sin(x)、cos(x)形式表示的式子。

convert(tan):将代数式尽量转化为由tan(x)形式表示的式子。

33.[n,d]=numden(S)用分子分母法化简符号表达式S。返回结果n为分子,d为分母。34.[Y,SIGMA]=subexpr(X,'SIGMA'):X表示待整理的符号表达式或者符号表达式的矩阵。

SIGMA:在整理过程中提出的各种因子将以矩阵的格式保存在名为SIGMA的变量中。Y:已提取各种因子后,将整理完毕的符号表达式或者符号表达式的矩阵保存在Y中。35:SS=subs(s,old,new):s为符号表达式,old为s中将要被代替的“旧”变量名,new是用来代替s中old的“新”变量名或代数式。(注意subs不但可以进行单一变量的代换,还可以同时进行多个变量的替换)

36.SS=subs(S)利用由函数或MATLAB工作空间中得到的具体值(无论是数值型还是字符型)来代替S中相应的所有变量。

37.SS==subs(s,new):用new来代替S中的自由符号变量。

第五章

微分:

1.diff(x,'v')可用来对变量'v'求导,diff(x,'v',n)是对变量‘v’求n阶导数。2.diff(X,N)按第一个非单元素集合的维计算X的N阶导数。积分:

不定积分:1.int(s);int(s,v)这两种格式都是求s的不定积分,求别在于:第一种调用格式以findsym(S)命令寻找到的变量为自变量,计算S的不定积分;而第二种调用格式则针对指定变量V进行不定积分运算。

定积分:int(S, v, a, b)其中S为表达式,v为指定变量,a为积分下限,b为积分上限。当a或b取inf或(-inf)时该命令计算的是广义积分。但是这只能得到一个具体的表达式,而使用numeric便可以得到一个值。求极限:

limit(S,v):其中S为表达式,v为指定变量。该命令的功能:用于求当v→0时的表达式S的极限值。

limit(S):其中S为表达式,该命令的功能:用于求当系统默认变量→0时的表达式S的极限值。

limit(F,x,a):该命令的功能:用于求当x→a时表达式F的极限值。

limit(F,x,a,'right'):该命令的功能:用于求当x→a时表达式F的极限值(即右极限值)。

limit(F,x,a,'left'):该命令的功能:用于求当x→a时表达式F的极限值(左极限值)。求级数:

symsum(S):以函数findsym(S)j决定的变量(比如说自变量为K),求K从0开始到k-1为止S的前K项和。

symsum(S,v):功能上,只不过指定变量为v。

symsum(S,v,a,b):求自变量V从a到b时S的和。经常和simple连用。级数展开:taylor(f):用于求f关于默认变量的5阶近似麦克劳林多项式。taylor(f,n):用于求f关于默认变量的n-1阶近似麦克劳林多项式。taylor(f,v):同上,只不过自变量为指定变量V.taylor(f,a): 前三种调用格式求出的结果均是关于自变量等于零的展开式,而该命令则可以求解函数f在自变量等于a处的泰勒展式。

多元函数泰勒级展开式:maple('readlib(mtaylor)');maple('mtaylor(f,v,n,w)')傅里叶展开式先建立个函数mfourier 1)函数的建立:function [a0,an,bn]=mfourier(f)

syms n x

ao=int(f,-pi,pi)/pi;

an=int(f*cos(n*x),-pi,pi)/pi;bn=int(f*sin(n*x),-pi,pi)/pi;dig命令:diag(v,k):当V是由n个元素组成的矢量时,该命令的返回值是阶数为n+abs(k)的方阵。其中对角线由矢量v的元素组成,其余元素由0组成。当k=0时,v为主对角线;当k>0时,v位于主对角线之上;当k

diag(A,k):其中A为矩阵。该命令返回值是由矩阵A的第k条对角线的元素所组成的列矢量。

diag(A):相当于diag(A,0),得到由矩阵A的主对角线元素所组成的列矢量。triu命令(抽取矩阵的上三角部分)triu(A):抽取矩阵的上三角部分组成一个新的矩阵,其余元素用0来填充。

triu(A,k):抽取矩阵的第k条对角线上的三角部分组成一个新的矩阵,其余元素用0填充。当k=0时,triu(A,0)与triu(A)功能完全相同,抽取矩阵A主对角线以上的三角部分;k>0抽取元素对应矩阵A主对角线以上、第k条对角线以上的部分,k

rank命令(求矩阵的秩):rank(A,tol):返回矩阵A的奇异值中大于误差tol的奇异值个数。

rank(A):同上,默认精度tol=max(size(A)*norm(A))*eps.null命令(求矩阵的零空间的正交基):Z=null(A):求矩阵A的零空间的正交基,它是由矩阵A的奇异值分解得到的。

Z=null(A,'r'):求矩阵A的零空间的正交基,它是由缩减行阶梯矩阵得到的并且A*Z=0。Colspace命令(求矩阵的列空间的基):Z=colspace(A):返回矩阵A的列空间的基,并且有size(Z,2)=rank(A)。

eig命令(求矩阵的特征值和特征矢量)E=eig(X):返回由方阵X的特征值组成的特征矢量。

[V ,D]=eig(X):返回方阵X的特征值矩阵D和特征矢量矩阵V,其中X、V、D满足XV=VD;特征值矩阵D是以X的特征值为对角线的元素生成的对对角矩阵;矩阵X的第k个特征值对应的特征矢量是矩阵D的第k列列矢量。只有这样才有XV=VD.svd命令(矩阵的奇异分解值)

S=svd(X):f返回由矩阵X的奇异值组成的矢量。jordan命令(求矩阵的约旦标准形)jordan(X):返回矩阵X的约旦标准形。[V,J]:jordan(X):除了返回矩阵X的约旦标准形J外,还给出了相似变换矩阵V,并有VA*V=J。

poly命令(求矩阵的特征多项式)

P=poly(X):若X为nxn的矩阵,则该命令返回X的特征多项式P。P为包含n+1个元素的矢量,是特征多项式的系数。Expm命令(求矩阵的指数形式)expm(X):用pade法计算ex。

一般代数方程的求解:solve(Equ):Equ为符号方程,该命令可以求Equ关于系统默认变量为自变量的符号方程的解。

solve(Equ,var):同上,但var为指定的自变量,求出的解是关于指定变量的解。solve('equ','equ',···,'equ')

[a1,a2,···,an]=solve('equ1','equ2',···,'equn','var1','var2',···,'varn')

最后两种调用格式相差无几,都是求代数方程组的解,只不过最后一种调用格式制定了自变量var1,var2,···,varn.事实上,var1,var2,···,varn可有可无,只是因为solvem命令只有当方程组的数目和自变量的数目相同时才能进行求解,并且解得的结果并不是按照solve命令括号中var1,var2,···,varn的顺序分别赋给a1,a2,··,an的,而是按照英文字母表的顺序依次赋给a1,a2,···,an。即当var1在所有变量中按字母表顺序排序时排在最后一个,那么在结果中an才是对应变量var1的解。

注意:lambertw是个函数(称为Lambert W 函数),lambertw(A)是指满足e=A这样的表达式所对应的值。

注意:当用表达式s1,s2···sn代替solve命令中的符号方程组equ1,equ2,···,equn时,就意味着所求的是以s1=0,s2=0,···,sn=0所构成的方程组的解。线性代数方程组的求解:

X=linsolve(A,B):求AX=B的解,返回X。常微分方程组的求解:

注意:Matlab中用D表示对变量求导数,Dy表示对y求一阶导数,Dny表示对y求n阶导数。因此,y''+2y'=x这一微分方程在Matlab中需描述为:D2y+2Dy=x.无初值条件的常微分方程:调用格式为:dsolve('equ')或desolve('equ','var')后者中“var”为指定变量。

有初值条件的常微分方程:dsolve('equ,''condition1,condition2,···,conditionn','var')dsolve('equ','condition1','condition2',···,'conditionn','var')求解常微分方程组:

dsolve('equ1','equ2',···,'equn','var')dsolve('equ1,equ2,···,equn','var')desolve('equ1','equ2',···,'equn','condition','condition1','condition2',···,'condition','var')desolve('equ1,equ2,···,equn','condition,condition1,condition2,···,condition','var')求解线性常微分方程组:使用这个函数: function y=dsolve(A)syms t real e=eig(A);%求变量的特征矢量。

[v,d]=eig(A);%求得A的特征值矩阵d和特征值矢量矩阵v y=exp(d*t)'*v;%求得线性齐次常微分方程组X'=AX的解。反函数和复合函数的求法:

g=finverse(f):返回值g是已知函数f的反函数(自变量由系统的默认变量确定)。若f为单符号变量(如x)的一个标量,那么g是一个涉及符号变量的标量,并且满足g(f(x))=x。

g=finverse(f,v):同上,但指定变量为v。该命令在f含有多个符号的情况下,求它关于某个变量的反函数时要比第一种调用格式显得明了了。求复合函数:

compose(f,g):返回值为f(g(y)),其中f=f(x),g=g(y)。compose(f,g,z):返回值为f(g(z)),其中f=f(x),g=g(y)compose(f,g,x,z):返回值f(g(z))且视x为f的自变量,即如果f=cos(g(z)txtxg(z)),则compose(f,g,x,z)返回值就是cos(),而compose(f,g,t,z),则返回值为cos()。

compose(f,g,x,y,z):返回值为f(g(z))且视x为f的自变量,视y为g的自变量。例如:xtyusin(zu)f=cos(),g=sin()则compose(f,g,x,y,z)返回值为cos(t),,而compose

sin(yz)(f,g,x,u,z)则返回为cos(t)。

第六章

傅立叶变换及其逆变换:

F=fourier(f):对自变量为x的表达式f(x)进行变换,返回值为F(w);当f是变量w的函数即f=f(w)时,则变量结果为F=F(t);如果变量表达式中没有t和x这两个变量,则该命令将对系统默认的变量进行傅立叶变换。

F=Fourier(f,v):指定了变量结果为变量v的函数。表现在计算过程中则公式变为:

F(v)=f(x)eivxdx。用MATLAB语言则可描述为:fourier(f,v)F(v)=int(f(x)*exp(-i*v*x),x,-inf,inf)F=fourier(f,u,v):指定了要对函数表达式做关于变量u的fourier变换。对应此时的傅立叶变换公式为:F(v)逆变换:

f(u)eivudu。

f=ifourier(F):F为待进行傅立叶逆变换的代数表达式。该命令对F(w)实行傅立叶逆变换得到一个自变量为x的函数f(x)。如果F=F(x)则该命令将返回一个自变量为t的函数f(t).f=fourier(F,u)f=fourier(F,v,u)后两种调用格式中u,v的用法和fourier命令中的用法完全一致。拉普拉斯变换及其逆变换:

拉普拉斯公式:L(s)F(t)e0stdt。

L=laplace(F):F为待进行拉普拉斯变换的代数表达式,其默认变量为t,若p不含t。则针对系统默认的变量对表达式进行拉普拉斯变换,该命令返回的函数其默认自变量为s。如果F=F(s)那么该命令的返回结果为L=L(t)。该命令可用MATLAB语言描述为:Laplace(F)L(s)=int(F(t)*exp(-s*t),0,inf)并且积分针对变量t进行。

L=laplace(F,t)指定返回结果L为自变量t的函数,而不是系统默认的S用MATLAB语言可以描述为:Laplace(F,t)L(t)=int(F(x)*exp(-x*t),0,inf)。用公式可表示为:L(t)F(x)e0txdx。

L=laplace(F,w,z)与傅立叶变换的解是类似。

ci拉普拉斯逆变换:公式为:F(t)F=ilaplace(L)F=ilaplace(L,y)F=ilaplace(L,y,x)这些与傅立叶变换的解释类似。

L(s)ecistds

Z变换:公式为F(z)F=ztrans(f).F=ztrans(f,w)F=ztrans(f,k,w)

0f(n)zn。

和傅立叶变换解释差不多。f=iztrans(F)f=iztrans(F,k)f=iztrans(F,w,k)和傅立叶变换解释差不多.几个补充命令:

1、double(X):返回值是X的双精度型矩阵,通常在循环语句中或者判断语句中使用double命令。

2、poly2sym(C):返回值对应矢量C的多项式表达式,返回结果的默认变量是X。

Poly2sym(C,‘v’):只不过将变量X换成v.3、sym2poly(P)与2的命令功能相反:该命令返回的结果是一个行矢量,该式量的元素是多项式的系数。

4、ccode(s):返回符号表达式s的C语言编码形式。

5、sinint正弦积分函数:sinint(x)=int(sin(t)/t,t,0,x)

6、余弦积分函数cosint(x)=Gamma+log(x)+int((cos(t)-1),t,0,s).其中Gamma是欧拉常数,为:=0.577215664901···

7、zeta(z)=sum(1/k^z,k,1,inf),即计算

8、zeta(n,z)=计算zeta(z)的k阶导数。

注意:浮点运算误差较大,而符号运算结果精确。

9、r=vpa(s):按Digit可控精度计算s的值。digits(n)可设定有效数值、vpa(s,d)指定s的精度为d为有效数值。

10、创建抽象函数的格式:f=sym('f(var1,var2,var3,···)')

11、用map命令创建抽象函数:

map(fcn,expr,arg1,arg2,···,argn)

map(fcn,arg1,expr,arg2,···,argn)以上命令中,fcn:一个操作手续或者名称;expr表达式;arg1:用于操作对象。

12、调用特殊函数可用mfun('函数')来调用。

13、函数计算器的使用:在命令栏中输入funtool,打开操作器。

第一排按钮是:df/dx:求函数的导数

intf:求函数的积分

simplef:对函数f(x)化简

numf:求函数的分子部分

denf:求函数的分子部分

1/f:求函数的倒数 finv:求函数的反函数。swap:交换f和g的值。

1kz的积分。

在命令栏中输入taylor可调出泰勒计算器。

第七章符号函数图形的绘制

fplot(fun,lims,str,tol):直接绘制函数y=fun(x)的图形其中lims为一个向量,若lims只包含两个元素,则表示x轴的范围;若lims包含四个元素则前两个元素表示x轴的范围,后两个元素表示y的范围。str可以指定图形的线性和颜色。tol值小于一,代表相对误差。

fplot(fun,lims,n):用最少为n+1个点来绘制函数fun的图形。用fplot(@humps,[-1,5])来绘制函数humps的图形比较光滑,其中@humps表示以函数句柄的形式引用函数,若是直接输入函数,而不是函数名,则用单引号括起。

fplot('[tan(x),sin(x),cos(x)]',[-2*pi,2*pi])plot('sin(1/x)',[0.01 0.1],1e-3)ezplot()可绘制二元函数:

1、ezplot(f):在默认区间x(2,2),上绘制函数f(x,y)的图形。

2、ezplot(f,[a,b]):在区间x(2,2)上绘制函数图形。对于隐函数f(x,y)来说,1、ezplot(f):在默认区间x(2,2),y(2,2)上绘制函数f(x,y)的图形。

2、ezplot(f,[x1,x2,y1,y2]):在这两个区间上绘制图形f(x,y).3、Ezplot('u^2-v^2-1',[-3,2,-2,3])就是区间u(-3,2),v(-2,3)上绘制u^2-v^2-1=0的函数图象,因为变量不是x,y所以区间按字母分配。

4、ezplot(x,y):在默认区间t(0,2*pi)上绘制函数x=x(t)和函数y=y(t)的图形。

5、ezplot(x,y,[tmin,tmax]):在区间(tmin,tmax)上绘制参数函数x=x(t),y=y(t)的图形

ezpolar绘制极坐标下的图形

ezpolar(f):在默认区间theta(0,2)上绘制函数rho=f(theta)的图形,其中theta为极角,rho为极径。

ezpolar(f,[a,b]):在区间theta(a,b)上绘制函数rho=f(theta)的图形。ezplot3绘制三维空间曲线

ezplot3(x,y,z):绘制三维曲线,含参数t.ezplot3(x,y,z,[tmin,tmax]):在区间t(tmin,tmax)内绘制三维曲线。ezplot3(x,y,z,[tmin,tmax],'animate'):产生空间曲线的动画绘制效果。

《MATLAB知识总结.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
MATLAB知识总结
点击下载文档
相关专题 matlab知识总结 知识 matlab matlab知识总结 知识 matlab
[其他工作总结]相关推荐
    [其他工作总结]热门文章
      下载全文