MATLAB学习笔记.docx

上传人:b****5 文档编号:8509729 上传时间:2023-01-31 格式:DOCX 页数:8 大小:27.45KB
下载 相关 举报
MATLAB学习笔记.docx_第1页
第1页 / 共8页
MATLAB学习笔记.docx_第2页
第2页 / 共8页
MATLAB学习笔记.docx_第3页
第3页 / 共8页
MATLAB学习笔记.docx_第4页
第4页 / 共8页
MATLAB学习笔记.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

MATLAB学习笔记.docx

《MATLAB学习笔记.docx》由会员分享,可在线阅读,更多相关《MATLAB学习笔记.docx(8页珍藏版)》请在冰豆网上搜索。

MATLAB学习笔记.docx

MATLAB学习笔记

Matlab学习笔记

《第一章》

矩阵及基本运算

1、rand相关

rand()随机矩阵,元素在(0,1)之间;

randn()正态分布随机矩阵!

元素大小是不限制的,方差为1

randperm(n)生成1到n之间n个随机数,相当于对n个数进行一个排列;

2、blkdiag(a,b,c...)产生以a,b,c为对角元素的对角矩阵;

3、numel(A)计算矩阵A中元素的个数;

4、compan计算友矩阵,对于计算特征值特征向量很有帮助,eig为计算特征值;5、linspace(a,b,n)将a,b等分为n等分,如果不输入n将视为默认100

6、几个特殊矩阵:

全一矩阵ones;单位矩阵eye;全零阵zeros

7、logspace(a,b):

产生在(10^a,10^b)之间的对数等分向量,同样可以在最后进行限制logspace(a,b,n),eg:

logspace(1,2,6)结果为:

ans=10.000015.848925.118939.810763.0957100.0000,另外还有一个:

y=logspace(a,pi),不太一样:

logspace(1,pi,5):

ans=10.00007.48665.60504.19633.1416,这个主要应该是由于pi是Matlab内部定义的常数。

8、哈达玛(Hadamard)矩阵是由+1和-1元素构成的正交方阵;

9、希尔伯特矩阵Hilbert:

hilb(n),其元素为H(i,j)=1/(i+j-1)。

10、Pascal矩阵,magic魔方矩阵,Hankel方阵,托普利兹矩阵toeplitz,Wilkinson特征值测试阵。

由于自己数学功底不是很强,这些矩阵还不是很理解,以后用到的时候再慢慢了解吧。

11、矩阵的乘法:

A*B:

两个矩阵相乘;A.*B:

矩阵对应元素相乘;dot(A,B):

矩阵的点成;cross(A,B):

矩阵的叉乘;conv:

矩阵的卷积;kron(A,B):

矩阵的张量积,这个相当于用A中每个元素乘以矩阵B,所以这个矩阵还是蛮大的。

12、关于集合的一些函数:

求两个函数的交集c=intersect(a,b),则c=a∩b;

求两个函数的并集c=union(a,b),则c=a∪b;

检测集合中的元素d=ismember(a,S),当a属于集合S的时候返回值d=1;

两个集合的差d=setdiff(a,b),表示d=a-b;

去集合的单值元素unique(a)

异或:

两个矩阵交集的非c=setxor(a,b)。

13、矩阵的除法:

Matlab提供了两种除法运算:

左除(\)和右除(/)。

一般情况下,X=A\B是方程A*X=B的解,而X=B/A是方程X*A=B的解;

14、方阵的行列式:

d=det(A).determinant;

15、矩阵的逆:

Y=inv(X)%求方阵X的逆矩阵。

若X为奇异阵或近似奇异阵,将给出警告信息;当矩阵为奇异矩阵的时候,使用矩阵的伪逆命令:

Y=pinv(X),可以在某种程度上代替矩阵的逆。

则若X是非奇异矩阵,inv(X)=pinv(X);

16、矩阵的迹:

Y=trace(X)%方阵X的对角线元素之和;

17、矩阵和向量的范数:

norm,n=norm(X).默认为二范数,n=norm(X).自己可以设定如:

n=norm(X,1)表示一范数,n=norm(X,inf)表示无穷范数;

18、矩阵的条件数:

d=cond(X).表示X的2-范数的条件数,即X的最大奇异值和最小奇异值的商;

19、矩阵的秩:

d=rank(A);

20、矩阵对角线元素的提取:

v=diag(A),同时,也可以进行设定v=diag(A,k):

k=0,表示抽取主对角线元素;k>0,表示抽取上方对角线元素;k<0,表示抽取下方对角线元素;

21、上下三角阵的提取:

tril(A)提取矩阵A的下三角阵,triu(A)提取矩阵A的上三角阵。

22、矩阵的变维:

通常有两种方法实现:

“:

”和“reshape”命令。

前者主要是针对已知两个矩阵的操作,后者主要是对一个矩阵的操作;矩阵的旋转:

B=rot90(A):

将矩阵A旋转900;矩阵的翻转:

fliplr,矩阵的左右翻转;flipud,矩阵的上下翻转。

23、复制和平铺矩阵:

B=repmat(A,m,n),将矩阵A复制m*n块得到矩阵B;

24、矩阵的比较:

矩阵的比较关系是针对于两个矩阵对应元素的,所以在使用关系运算时,首先应该保证两个矩阵的维数一致或其中一个矩阵为标量。

关系运算是对两个矩阵的对应运算进行比较,若关系满足,则将结果矩阵中该位置元素置为1,否则置0;

25、关于矩阵取整:

floor(A),将A的元素负无穷取整;ceil(A),将A的元素按正无穷方向取整;fix(A),将A的元素按离0近的方向取整;round(A),将A的元素按四舍五入取整。

26、矩阵元素的余数:

rem(A,x);

27、矩阵的逻辑运算:

逻辑与A&B,逻辑或A|B,逻辑非~A,异或xor;

28、符号矩阵sym。

将数值矩阵转化为符号矩阵B=sym(A);另外可以对矩阵进行索引和修改操作,B(m,n)=(l,k);

29、因式分解factor(a)。

注:

因式分解的定义,把一个多项式化为几个最简整式的积的形式。

在MATLAB中建立M文件可以直接使用命令edit;

30、符号矩阵(函数)的展开:

expand命令Eg:

symsx;y=(x+2)^4;z=expand(y)则:

z=x^4+8*x^3+24*x^2+32*x+16;collect:

合并同类项;

31、符号矩阵的简化:

simple或simplify,pretty命令可以使的结果更好看一些;

32、矩阵的分解:

cholesky分解[R,p]=chol(A),如果X为n阶对称正定矩阵,则存在一个实的非奇异上三角阵R,满足R'*R=X,若X为正定阵,则p=0,R与上相同;若X非正定,则p为正整数,R是有序的上三角阵;

33、LU分解,又称矩阵的三角分解,[L,U]=lu(A):

它的目的是将一个矩阵分解成一个下三角矩阵L和一个上三角矩阵U的乘积,即A=LU;广义上也有[L,U,P]=lu(A),满足LU=PA;

34、QR分解:

[Q,R]=qr(A),将矩阵A分解成一个正交矩阵与一个上三角矩阵的乘积;函数qrdelete:

[Q,R]=qrdelete(Q,R,j):

返回将矩阵A的第j列移去后的新矩阵的qr分解;[Q,R]=qrinsert(Q,R,j,x):

在矩阵A中第j列插入向量x后的新矩阵进行qr分解。

若j大于A的列数,表示在A的最后插入列x;

35、schur分解:

T=schur(A):

产生schur矩阵T,即T的主对角线元素为特征值的三角阵;也可使用广义命令[U,T]=schur(A):

返回正交矩阵U和schur矩阵T,满足A=U*T*U';函数rsf2csf:

将实Schur分解转化成复Schur分解;

36、矩阵的特征值分解:

d=eig(A);或者[V,D]=eig(A)计算A的特征值对角阵D和特征向量V,使AV=VD成立;

37、矩阵的奇异值分解:

[U,S,V]=svd(X),返回一个与X同大小的对角矩阵S,两个酉矩阵U和V,且满足=U*S*V'。

若A为m×n阵,则U为m×m阵,V为n×n阵。

奇异值在S的对角线上,非负且按降序排列;广义奇异值分解:

[U,V,X,C,S]=gsvd(A,B),返回酉矩阵U和V、一个普通方阵X、非负对角矩阵C和S,满足A=U*C*X',B=V*S*X',C'*C+S'*S=I(I为单位矩阵);A和B的列数必须相同,行数可以不同;

38、特征值问题的qz分解。

[AA,BB,Q,Z,V]=qz(A,B),A、B为方阵,产生上三角阵AA和BB,正交矩阵Q、Z或其列变换形式,V为特征向量阵。

且满足:

Q*A*Z=AA和Q*B*Z=BB;

39、海森伯格(Hessenberg)矩阵:

矩阵H的第一子对角线下元素都是0,函数格式H=hess(A);

40、线性方程组的解:

①直接法:

AX=B的解为X=A\B,XA=B的解为X=B/A;②用函数rref进行求解C=[A,B],C为系数矩阵A和常数构成的增广矩阵,当使用rref命令(求解最简行解)之后最后一列就是所求的解;

41、矩阵的LU分解,又称为Gauss分解,将任意方阵分解为下三角阵和上三角阵的乘积。

即A=L*U,L*U*X=B,这样可以提高运算速度,命令为[L,U]=lu(A);Cholesky分解:

若A为对称正定矩阵,则Cholesky分解可将矩阵A分解成上三角矩阵和其转置的乘积,即:

A=R*R’,其中R为上三角阵,命令为R=chol(A);对于任何长方矩阵A,都可以进行QR分解,其中Q为正交矩阵,R为上三角矩阵的初等变换形式,即:

A=QR;

42、null求解零空间,即满足AX=0,实际上是求解出解空间的一组基(基础解系),注:

formatrat指定有理式格式输出,B=null(A,’r’);

43、让矩阵输出的结果更漂亮一些:

pretty(X),在此举一个综合一点的例子,求A*X=0的通解A=[1221;21-2-2;1-1-4-3];formatrat%指定有理数格式输出;B=null(A,’r’);symsk1k2%定义符号变量;X=k1*B(:

1)+k2*B(:

2);pretty(X);

44、求解非齐次线性方程组的通解,首先需要先判断方程组是否有解,若有解,再去求通解。

因此,步骤为:

第一步:

判断AX=b是否有解,(注:

判断系数矩阵A的秩是否和其增广矩阵的秩是否相等,若相等,方程有解R(A)=R(B)

)若有解则进行第二步;第二步:

求AX=b的一个特解;第三步:

求AX=0的通解;第四步:

AX=b的通解为AX=0的通解加上AX=b的一个特解;

45、平衡矩阵B,[T,B]=balance(A),满足B=T-1AT;

46、复对角矩阵转化为实对角矩阵:

cdf2rdf,将复对角阵d变为实对角阵D,在对角线上,用2×2实数块代替共轭复数对;

47、正交基orth,B=orth(A):

将矩阵A正交规范化;B*B’=eye(rank(A));

48、求行阶梯矩阵及向量组的基:

[R,jb]=rref(A),R表示将矩阵A化成行最简形,jb是一个向量,其含义为:

r=length(jb)为A的秩;A(:

jb)为A的列向量基;jb中元素表示基向量所在的列;

49、稀疏矩阵的创建S=sparse(A);将矩阵A转化为稀疏矩阵形式,即由A的非零元素和下标构成稀疏矩阵S,sparse是用来产生稀疏矩阵的,详细一点的S=sparse(i,j,s,m,n),利用向量i,j,s来产生一个m*n的矩阵,产生方法为

S(i(k),j(k))=s(k);full函数,将稀疏矩阵转换为满矩阵(相当于sparse函数的逆)A=full(S);另外,find命令用于查找稀疏矩阵中的非零元素,[i,j,v]=find(X):

检索X中非零元素的行标i和列标j以及对应的元素值v;

50、基本稀疏矩阵,带状(对角)稀疏矩阵:

[B,d]=spdiags(A),从矩阵A中提取所有非零对角元素,这些元素保存在矩阵B中,向量d表示非零元素的对角线位置;单位稀疏矩阵:

speye(m,n),生成m*n的单位对角矩阵;稀疏均匀分布随即矩阵R=sprand(S):

生成与S具有相同稀疏结构的均匀分布随机矩阵;稀疏正态分布随机矩阵R=sprandn(S);稀疏对称随机矩阵sprandsym,R=sprandsym(S),生成稀疏对称随机矩阵,其下三角和对角线与S具有相同的结构,其元素服从均值为0、方差为1的标准正态分布;

51、稀疏矩阵的运算:

①稀疏矩阵非零元素的个数n=nnz(x);②稀疏矩阵的非零元素s=nonzeros(A),返回矩阵A中非零元素按列顺序构成的列向量;③稀疏矩阵非零元素的内存分配n=nzmax(S),返回非零元素分配的内存总数n;④、稀疏矩阵的存贮空间:

S=spalloc(m,n,nzmax),产生一个m×n阶只有nzmax个非零元素的稀疏矩阵,这样可以有效减少存贮空间和提高运算速度;⑤稀疏矩阵的非零元素应用:

f=spfun('function',S),用S中非零元素对函数'function'求值,如果'function'不是对稀疏矩阵定义的,同样可以求值;⑥:

把稀疏矩阵的非零元素全换为1,R=spones(S),将稀疏矩阵S中的非零元素全换为1;

52、画稀疏矩阵非零元素的分布图形:

spy函数,具体spy(S,'LineSpec',markersize)其中LineSpec指定绘图标记和颜色,markersize为整数,指定点阵大小;

53、矩阵变换:

列近似最小度排序A=colamd(S)返回稀疏矩阵S的列的近似最小度排序向量A;稀疏对称最小度排列,p=symmmd(S),返回S的对称最小度排列向量p,S为对称正定矩阵;

54、稀疏矩阵的近似欧几里得范数和条件数:

c=condest(A),计算方阵A的1-范数中条件数的下界值c;nrm=normest(S),返回矩阵S的2-范数的估计值,相对误差为10-6;稀疏矩阵的不完全LU分解:

[L,U]=luinc(X,'0');X为稀疏方阵;L为下三角矩阵的置换形式;U为上三角矩阵;'0'是一种分解标准。

《第二章》

数值计算与数据分析

55、基本数学函数:

正弦函数Y=sin(X),双曲正弦函数Y=sinh(X),反正弦函数Y=asin(X),反双曲正弦函数Y=asinh(X);余弦函数Y=cos(X),双曲余弦函数Y=cosh(X),反余弦函数Y=cos(X),反双曲余弦函数Y=acosh(X);正切函数Y=tan(X),双曲正切函数Y=谈话(X),反正切函数Y=atan(X),反双曲正切函数Y=atanh(X);余切函数Y=cot(X),双曲余切函数Y=coth(X),反余切函数Y=acot(X),反双曲余切函数Y=acoth(X),另外还有正割sec(1/cos)和余割csc(1/sin),PS:

四象限的反正切函数P=atan2(Y,X),返回一与参量X和Y同型的、与X和Y元素的实数部分对应的、元素对元素的四象限的反正切函数阵列P,其中X和Y的虚数部分将忽略。

阵列P中的元素分布在闭区间[-pi,pi]上。

特定的象限将取决于sign(Y)与sign(X);

56、取余rem或mod,p=rem(X,Y);exp:

以e为底的指数函数y=exp(x),expm(x):

求矩阵的以e为底的指数函数,Y=expm(X);log以e为底的对数,y=log(x),log2(x)、long10(X)分别是以2和10为底的对数。

57、sort命令:

把输入参量中的元素按从小到大的方向重新排列;

58、abs:

数值的绝对值或复数的幅值;复数的共轭conj,复数的虚部imag,复数的实部real,复数的相角:

P=angle(Z);

59、用实数和虚数部分创建复数:

c=complex(a,b);带符号的除法余数mod,M=mod(X,Y),若运算数x与y有相同的符号,则mod(X,Y)等于rem(X,Y)。

总之,对于整数x,y,有:

mod(-x,y)=rem(-x,y)+y;

60、二项式系数或所有的组合数,C=nchoosek(n,k)参量n,k为非负整数,返回n!

/((n-k)!

k!

),即一次从n个物体中取出k个的组合数,相当于

=n!

/((n-k)!

k!

)命令,另外阶乘的函数为factorial;

61、yi=interp1(x,Y,xi,method),用指定的算法计算插值,主要包括‘nearest’最近邻点插值,’linear’线性插值,‘spline’三次样条函数插值,‘pchip’分段三次Hermite插值,‘cubic’:

双三次插值;

62、rat与rats:

有理分式近似。

rat对于有连续出现的小数的数值,将会用有理式近似表示它们,函数rats调用函数rat,且返回字符串。

rats=formatrat

Ps:

inline函数,matlab中定义的一个内置函数,可以直接内嵌在命令行中;

63、常微分方程数值解:

ode45、ode23、ode113、ode15s、ode23s、ode23t、ode23tb

《第三章》

符号运算

64、定义符号变量:

symsa,b,c,d;

65、基本运算:

合并同类项collect,列空间的基colspace,B=colspace(A)返回矩阵B,其列向量形成由矩阵A的列向量形成的空间的坐标基,其中A可以是符号或数值矩阵。

而size(colspace(A),2)等于rank(A)。

即由A生成的空间维数等于A的秩;compose,复合函数的计算,compose(f,g):

返回复合函数f[g(y)],其中f=f(x),g=g(y);

66、符号复数的共轭conj(X),real(Z)返回符号复数的实数部分,real(Z)返回符号复数的虚部部分;Y=cosint(X),返回余弦函数的整函数,Ps:

γ:

欧拉常数,可以通过vpa(‘eulergamma’)获得;

67、digits:

设置变量的精度;R=double(S),将符号对象S转换为数值对象R;expand,R=expand(S)对符号表达式S中每个因式的乘积进行展开计算。

该命令通常用于计算多项式函数、三角函数、指数函数与对数函数等表达式的展开式;符号因式分解:

factor(X),参量x可以是正整数、符号表达式阵列或符号整数阵列。

若X为一正整数,则factor(X)返回X的质数分解式。

若x为多项式或整数矩阵,则factor(X)分解矩阵的每一元素。

若整数阵列中有一元素位数超过16位,用户必须用命令sym生成该元素。

68、simple:

搜索符号表达式的最简形式,r=simple(S),该命令试图找出符号表达式S的代数上的简单形式,显示任意的能使表达式S长度变短的表达式,且返回其中最短的一个。

若S为一矩阵,则结果为整个矩阵的最短形式,而非是每一个元素的最简形式。

若没有输出参量r,则该命令将显示所有可能使用的算法与表达式,同时返回最短的一个;

69、符号矩阵的维数:

size,d=size(A)若A为m*n阶的符号矩阵,则输出结果d=[m,n];代数方程的符号解析解solve,g=solve(eq);

70、特征多项式:

p=poly(A);poly2sym将多项式系数向量转化为带符号变量的多项式,记得pretty可以对结果进行简化得到我们熟知的形式;

71、r=findsym(S):

从一符号表达式中或矩阵中找出符号变量;g=finverse(f),返回函数f的反函数。

其中f为单值的一元数学函数,如f=f(x)。

若f的反函数存在,设为g,则有g[f(x)]=x;

72、horner:

套嵌形式的多项式表达式;r=symsum(S,a,b),符号表达式求和,首先定义符号函数,然后对从a项到b项求和操作;广义超几何函数函数hypergeom;

73、limit极限,limit(F):

用命令findsym(F)确定F中的自变量,设为变量x,再计算F的极限值,当x→0时;limit(F,x,a),计算符号表达式F=F(x)的极限值,当x→a时;

74、diff(S,'v',n):

对表达式S中指定的符号变量v计算S的n阶导数;

75、R=int(S,v,a,b):

对表达式s中指定的符号变量v计算从a到b的定积分;dslove,常微分方程的符号解,r=dsolve('eq1,eq2,…','cond1,cond2,…','v'),ps:

若没有指定变量v,则缺省变量为t;

76、画符号函数的等高线图,ezcontour(f),画出二元符号函数f=f(x,y)的等高线图,函数f将被显示于缺省的平面区域[-2π

min

n的缺省值为60;用不同颜色填充的等高线图ezcontourf(f);

77、在matlab中特别在使用句柄函数@的时候,记得在前面加上“.”,代表元素运算,当不加点的时候表示矩阵或者数组相乘,eg:

A.*B代表矩阵A、B对应元素相乘而A*B则代表A和B矩阵的相乘;

78、符号函数的三维网格图ezmesh(f),画二元数学符号函数f=f(x,y)的网格图,ezmeshc,同时画出曲面网格图与等高线图;

79、画符号函数的图形ezplot(f),对于显式函数f=f(x),在缺省的范围[-π

80、三维参量曲线图,ezplot3(x,y,z),在缺省的范围0

81、画极坐标图形,格式ezpolar(f),在缺省的范围0

且将函数关系式显示于图形下方。

ezpolar(f,[a,b])在指定的范围a

且将函数关系式显示于图形下方;

82、三维带颜色的曲面图,ezsurf(f),画出二元数学符号函数z=f(x,y)的曲面图形,同样的使用ezsurfc命令可同时画出曲面图与等高线图;

83、Fourier积分变换,格式F=fourier(f),对符号单值函数f中的缺省变量x(由命令findsym确定)计算Fourier变换形式。

缺省的输出结果F是变量w的函数

;运行了一个例子:

symsxwuv

f=sin(x)*exp(-x^2);F1=fourier(f),结果却并不是期望得到的:

transform:

:

fourier(sin(x)/exp(x^2),x,-w),这时候使用命令simplify(fourier(sin(x)/exp(x^2),x,-w))才可以得到正确的结果。

84、

85、

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 高中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1