符号矩阵Word文档下载推荐.docx
- 文档编号:17403660
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:9
- 大小:19.68KB
符号矩阵Word文档下载推荐.docx
《符号矩阵Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《符号矩阵Word文档下载推荐.docx(9页珍藏版)》请在冰豆网上搜索。
S=
[2/s,3/(-1+s),4/(-2+s)]
[1/(1+s),4/s,s/(-1+s)]
[4/(2+s),5/(1+s),6/s]
S=sym(3,3,'
m'
,'
n'
(m-n)/(m-n-t)'
)%usemandninanotherformula
[0,-1/(-1-t),-2/(-2-t)]
[1/(1-t),0,-1/(-1-t)]
[2/(2-t),1/(1-t),0]
函数sym也可以把数值矩阵转换成符号形式
M=[1.1,1.2,1.3;
2.1,2.2,2.3;
3.1,3.2,3.3]%anumericmatrix
M=
1.10001.20001.3000
2.10002.20002.3000
3.10003.20003.3000
S=sym(M)%converttosymbolicform
[11/10,6/5,13/10]
[21/10,11/5,23/10]
[31/10,16/5,33/10]
如果数值矩阵的元素可以指定为小的整数之比,则函数sym将采用有理分式表示。
如果元素是无理数,则在符号形式中sym将用符号浮点数表示元素。
E=[exp
(1)sqrt
(2)]
E=
2.71831.4142
sym(E)
ans=
[3060513257434036*2^(-50),3184525836262886*2^(-51)]
用函数symsize可以得到符号矩阵的大小(行,列数)。
函数返回数值或向量,而不是符号表达式。
symsize的四种形式说明如下:
S=sym('
[a,b,c;
d,e,f]'
)%createasymbolicmatrix
[a,b,c]
[d,e,f]
d=symsize(S)%returnthesizeofSasthe2-elementvectord
d=
23
[m,n]=symsize(S)%returnthenumberofrowsinm,andcolumninn
m=
2
n=
3
m=symsize(S,1)%returnthenumberofrows
n=symsize(S,2)%returnthenumberofcolumns
数值数组用N(m,n)形式来访问单个元素,但符号数组元素必须用函数如sym(S,m,n)来获取。
若能用相同的句法当然好,但MATLAB符号表达式的表示不方便。
在内部,符号数组表示成一个字符串数组;
而S(m,n)返回单个字母。
所以,符号数组的各个元素,必须由符号函数,如sym,来指定,而不是直接指定。
G=sym('
[ab,cd;
ef,gh]'
)%createa2-by-2symbolicmatrix
[ab,cd]
[ef,gh]
G(1,2)%thisisthesecondcharacterofthefirstrowofG
a
r=sym(G,1,2)%thisisthesecondexpressinoninthefirstrowofG
r=
cd
记住,在上例中的符号矩阵G,实际是以2×
7字符数组存储在计算机中。
第一行为'
[ab,cd]'
,所以第二个元素是'
a'
。
最后,sym可以用于改变符号数组的一个元素。
sym(G,2,2,'
pq'
)%changethe(2,2)elementinGfrom'
gh'
to'
[ef,pq]
代数运算
用函数symadd,symsub,symmul和symdiv,对符号矩阵可以执行许多通用的代数运算,用sympow可计算乘幂,用transpose计算符号矩阵的转置。
[cos(t),sin(t0;
-sin(t0,cos(t)]'
[cos(t),sin(t)]
[-sin(t),cos(t)]
symadd(G,'
t'
)%add'
toeachelement
[cos(t)+t,sin(t)+t]
[-sin(t)+t,cos(t)+t]
symmul(G,G)%multiplyGbyG;
Synpow(G,2)doesthesamething
[cos(t)^2-sint(t)^2,2*cos(t)*sin(t)]
[-2*cos(t)*sin(t),cos(t)^2-sin(t)^2]
simple(G)%trytosimplify
[cos(2*t),sin(2*t)]
[-sin(2*t),cos(2*t)]
下面通过证明G的转置是它的逆来证明G是正交阵。
I=symmul(G,transpose(G))%multiplyGbyitstranspose
I=
[cos(t)^2+sin(t)^2,0]
[0,cos(t)^2+sin(t)^2]
simplify(I)%thereappearstobeatrigidentityhere
[1,0]
[0,1]
正如所期望的那样,这是单位阵。
线性代数运算
用函数inverse和determ,可计算符号矩阵的逆阵以及行列式。
H=sym(hilb(3))%thesymbolicformofthenumeric3-by-3Hilbertmatrix
H=
[1,1/2,1/3]
[1/2,1/3,1/4]
[1/3,1/4,1/5]
determ(H)%dindthedeterminantofH
1/2160
J=inverse(H)%findtheinverseofH
J=
[9,-36,30]
[-36,192,-180]
[30,-180,180]
determ(J)%findthedeterminantoftheinverse
2160
用函数linsolve求解齐次线性方程;
这是等价于基本的MATLAB的逆斜杠\算子的符号,linsolve(A,B)对X方阵求解矩阵方程A*X=B。
回到以前的硬币问题:
黛安娜想去看电影,她从小猪存钱罐倒出硬币并清点,她发现:
10美分的硬币数加上5美分的硬币总数的一半等于25美分的硬币数。
1美分的硬币数比5美分、10美分以及25美分的硬币总数多10。
25美分和10美分的硬币总数等于1美分的硬币数加上1/4的5美分的硬币数
25美分的硬币数和1美分的硬币数比5美分的硬币数加上8倍的10美分的硬币数多1。
象上次所做的那样,列出线性方程组,令p,n,d和q分别为1美分,5美分,10美分,和25美分的硬币数
重新以p,n,d,q的顺序排列表达式
p/2+n/2+d-q=0p-n-d-q=-10-p-n/4+d+q=0
p-n-8d+q=1
接下来,列出方程系数的符号数组。
A=sym('
[1/2,1/2,1,-1;
1,-1,-1,-1;
-1,-1/4,1,1;
1,-1,-8,1]'
)
[1/2,1/2,1,-1]
[1,-1,-1,-1]
[-1,-1/4,1,1]
[1,-1,-8,1]
B=sym('
[0;
-10;
0;
-1]'
)%CreatethesymbolicvectorB
B=
[0]
[-10]
[-1]
X=linsolve(A,B)%solvethesymbolicsystemA'
X=Bforx
x=
[16]
[8]
[3]
[15]
结果是相同的,黛安娜有16枚1美分的硬币,8枚5美分的硬币,3枚10美分的硬币,15枚25美分的硬币。
其他特性
symop将其参量串接起来,并计算所得到的表达式。
f='
cos(x)'
%createanexpression
f=
cos(x)
symop('
atan('
,f,'
+'
,a,'
)'
,'
^2'
atan(cos(x)+a)^2
在用函数symop时,若将数组和标量混合应慎重。
例如:
M=sym('
[ab;
cd]'
[a,b]
[c,d]
symop(M,'
[a+t,b]
[c,d+t]
是把t加到M的对角线上。
函数charpoly求解矩阵的特征多项式。
[1,1/2;
1/3,1/4]'
[1,1/2]
[1/3,1/4]
charpoly(G)%findthecharacteristicpolynomialofG
x'
2-5/4*x+1/12
用函数eigensys可以求得符号矩阵的特征根和特征向量
F=sym('
[1/2,1/4;
1/4,1/2]'
F=
[1/2,1/4]
[1/4,1/2]
eigensys(F)%findtheeigenvaluesofF
[3/4]
[1/4]
[V,E]=eigensys(F)%findeigenvaluesEandeigenvectorsv
V=
[-1,1]
[1,1]
矩阵的约当(Jordan)标准型是特征值的对角矩阵;
转换矩阵的列是特征向量。
对于给定的矩阵A,jordan(A)求出非奇异的矩阵V,使得inv(V)*A*V成为约当标准型,函数jordan有两种形式
jordan(F)%findtheJordanformofF,above
[1/4,0]
[0,3/4]
[V,J]=jordan(F)%findtheJordanformandeigenvectors
[1/2,1/2]
[-1/2,1/2]
标准形和特征向V的列是某些F可能的特征向量。
因为F是非奇异的,F的零空间的基是空矩阵,而列空间的基是单位阵。
F=sym('
1/4,1/2]'
)%recreateF
[1/2,1/4]
[1/4,1/2]
nullspace(F)%thenullspaceofFistheemptymatrix
[]
colspace(F)%findthecolumnspaceofF
用函数singvals可求解矩阵奇异值。
A=sym(magic(3))%Generatea3-by-3matrix
[8,1,6]
[3,5,7]
[4,9,2]
singvals(A)%findthesingularexpressions
[15.00000000000000]
[6.928203230275511]
[3.464101615137752]
函数jacobian(w,v)可相对于v求解w的雅可比(Jacobia)值。
其结果的第(i,j)项是df(i)/dv(j)。
注意,当f是标量时,f的雅可比值是f的梯度。
jacobian('
u*exp(v)'
,sym('
u,v'
))
[exp(v,u*exp(v)]
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 符号 矩阵