怎么利用矩阵MATLAB计算? 怎么用matlab求一个矩阵的的值

\u600e\u4e48\u7528matlab\u6c42\u77e9\u9635a\u7684\u9006\u77e9\u9635

\u7b2c\u4e00\u6b65\uff1a\u542f\u52a8MATLAB\u3002

\u7b2c\u4e8c\u6b65\uff1a\u8f93\u5165\u2018clear\u2019\u548c\u2018clc\u2019\u4ee3\u7801\u3002\uff08\u6e05\u5c4f\uff09

\u7b2c\u4e09\u6b65\uff1a\u6839\u636e\u4f60\u7684\u9700\u6c42\u8bbe\u7f6e\u4e00\u4e2a\u77e9\u9635\u3002\uff08\u56fe\u4e2d\u793a\u4f8b\u8bbe\u7f6e\u4e3a\u77e9\u9635A=[1 2 ;3 4 ]\uff0c\u2018A\u2019\u53ef\u4ee5\u5b9a\u4e49\u4e3a\u4f60\u9700\u8981\u7684\u4efb\u4f55\u5b57\u6bcd\uff09

\u7b2c\u56db\u6b65\uff1a\u7528\u4ee3\u7801B=inv\uff08A\uff09\uff0c\u2018B\u2019\u53ef\u4ee5\u5b9a\u4e49\u4e3a\u4f60\u9700\u8981\u7684\u5176\u4ed6\u5b57\u6bcd\uff0cinv\uff08\uff09\u91cc\u7684\u5b57\u6bcd\u4e3a\u4f60\u9700\u8981\u6c42\u9006\u7684\u77e9\u9635\u3002

\u7b2c\u4e94\u6b65\uff1a\u9a8c\u8bc1\u81ea\u5df1\u6c42\u89e3\u7684\u9006\uff0c\u4e24\u4e2a\u77e9\u9635\u7684\u4e58\u79ef\u4e3a\u5355\u4f4d\u9635\uff0c\u5219\u6c42\u9006\u6b63\u786e\u3002

\u4f7f\u7528det\u547d\u4ee4\u5373\u53ef\u6c42\u89e3\u884c\u5217\u5f0f\u7684\u503c\u3002
\u5177\u4f53\u793a\u4f8b\u5982\u4e0b\uff1a
A = [1 -2 4; -5 2 0; 1 0 3]d = det(A)\u7ed3\u679c\u4e3a\uff1a
A = 1 -2 4 -5 2 0 1 0 3d = -32

  矩阵分析是解决很多问题的好方法,但是很多时候矩阵的运算比较繁琐,特别是高阶矩阵运算。这时候如果用matlab来计算就方便快捷得多。下面介绍一些基本的矩阵运算方法。如加,减,乘,除,转置,求逆。

  约定:

  a=[1,3,5;2,4,6;7,9,8]    b=[9,6,4;3,4,5;2,3,4]

  工具/原料

  1、加和减:

  加减法的命令很简单,直接用加或者减号就可以了。如:

  c=a+b

  d=a-b

  2、乘法:

  一般乘法:c=a*b,要求a的列数等于b的行数。

  如果a,b是一般的向量,如a=[1,2,3]   b=[3,4,5]

  点积:      dot(a,b),

  叉积:      cross(a,b)

  卷积:       conv(a,b)

  3、除法:一般在解线性方程组时会用到。

  x=a\b       如果ax=b,则 x=a\b是矩阵方程的解。

  x=b/a       如果xa=b,  则x=b/a是矩阵方程的解。

  4、转置:

  转置时,矩阵的第一行变成第一列,第二行变成第二列,。。。

  x=a.'

  5、求逆:

  要求矩阵为方阵。这在矩阵运算中很常用。

  x=inv(a)



A+B,A-B,8A,A的平方,A*B,矩阵A的逆.

1.A+B

>>A=ones(3);B=magic(3);C=A+B

2.A-B

>>%同上

3.8A
>>8*A

4.A的平方,A*B,矩阵A的逆.
>>A.^2;A^2;A*B;A.*B;inv(A);

注意:像带点"."时对应元素相乘((如A.*B)),不带时矩阵相乘(如A*B).

% 由m行n列构成的数组称为(m×n)阶矩阵。
% 用"[]"方括号定义矩阵;
% 其中方括号内","逗号或" "空格号分隔矩阵列数值;
% ";"分号或"Enter"回车键分隔矩阵行数值。
% 例:a=[a11 a12 a13;a21 a22 a23]或a=[a11,a12,a13;a21,a22,a23]定义了一个2*3
% 阶矩阵a。
% aij可以为数值、变量、表达式或字符串,如为数值与变量得先赋值,表达式和变量可以
% 以任何组合形式出现,字符串须每一行中的字母个数相等 ,调用时缺省状态按行顺序取字
% 母,如a(1)为第一行第一个字母。
%
% 常用函数如下:函数命令 说明
% size(a)
% [d1,d2,d3,..]=size(a) 求矩阵的大小,对m*n二维矩阵,第一个为行数m,第二个为
% 列数n;
% 对多维矩阵,第N个为矩阵第N维的长度。
% cat(k,a,b) 矩阵合并,运行a = magic(3)
% b = pascal(3)
% c = cat(4,a,b)
% 改4为3或2或1,自己体会合并后的效果。
% k=1,合并后形如 [a;b],行添加矩阵(要求a,b的列数相等才能合并);
% k=2,合并后形如[a,b],列添加矩阵(要求a,b的行数相等才能合并),以此类推,n维的矩
% 阵合并,要求n-1维维数相等才可以)。
% fliplr(a) 矩阵左右翻转
% flipud(a) 矩阵上下翻转
% rot90(a)
% rot90(a,k) 矩阵逆时针旋转90度(把你的头顺时针旋转90看原数就可以知道结果了)
% k参数定义为逆时针旋转90*k度。
% flipdim(a,k) 矩阵对应维数数值翻转,如k=1时,行(上下)翻转,k=2时,列(左右)翻转。
% tril(a)
% tril(a,k) 矩阵的下三角部分(包括对角线元素),对应k=0时的取值数。
% k参数设置为正负数值对应对角线向上或向下移动k行划分下三角元素。
% triu(a)
% tril(a,k) 矩阵的上三角部分(包括对角线元素),对应k=0时的取值数。
% k参数设置为正负数值对应对角线向上或向下移动k行划分上三角元素。
% diag(a)
% diag(a,k) 生成对角矩阵或取出对角元素,对应k=0时的取值数。
% k参数设置为正负数值对应对角线向上或向下移动k行取对角元素或生成对角矩阵。
% repmat(a,m,n) 矩阵复制,把矩阵a作为一个单位计算,复制成m*n的矩阵,其每
% 一元素都含一个矩阵a,实际结果为一个size(a,1)*m行,size(a,2)*n列的矩阵。
% w=meshgrid(s,t)
% [u,v]=meshgrid(s,t) 生成行m=size(t,1)*size(t,2),列n=size(s,1)*size(s,2))
% 阶的两个矩阵。其中u为按行顺序取s的n个矩阵元数,按列排列重复m行,v为按列顺序取t的
% m个矩阵元数 ,按行排列重复n列。只生成一个矩阵时,w=u。
% eye(a)
% eye(a,k) 生成a阶单位方阵
% k参数设置为生成a×k阶单位矩阵,即生成a阶单位方阵后,取前k列,不足补0。
% ones(a)
% ones(a,k) 生成a阶全1方阵
% k参数设置生成a×k阶全1矩阵。
% zeros(a)
% zeros(a,k) 生成a阶全0方阵
% k参数设置生成a×k阶全0矩阵。
% inv(a) 生成a的逆矩阵

% l 求矩阵的长度的函数
a=[10,2,12;34,2,4;98,34,6];
size(a)
%
% ans =
%
% 3 3
%
length(a)
%
% ans =
%
% 3

% 1. 通过在矩阵变量后加’的方法来表示转置运算

a=[10,2,12;34,2,4;98,34,6];

a'
%
% ans =
%
% 10 34 98
%
% 2 2 34
%
% 12 4 6

% 2. 矩阵求逆

inv(a)

% ans =
%
% -0.0116 0.0372 -0.0015
%
% 0.0176 -0.1047 0.0345
%
% 0.0901 -0.0135 -0.0045

% 3. 矩阵求伪逆

pinv(a)
%
% ans =
%
% -0.0116 0.0372 -0.0015
%
% 0.0176 -0.1047 0.0345
%
% 0.0901 -0.0135 -0.0045
%
% 4. 左右反转

fliplr(a)
%
% ans =
%
% 12 2 10
%
% 4 2 34
%
% 6 34 98
%
% 5. 矩阵的特征值

[u,v]=eig(a)

% u =
%
% -0.2960 0.3635 -0.3600
%
% -0.2925 -0.4128 0.7886
%
% -0.9093 -0.8352 0.4985
%
% v =
%
% 48.8395 0 0
%
% 0 -19.8451 0
%
% 0 0 -10.9943

% 6. 上下反转

flipud(a)

% ans =
%
% 98 34 6
%
% 34 2 4
%
% 10 2 12
%
% 7. 旋转90度

rot90(a)
%
% ans =
%
% 12 4 6
%
% 2 2 34
%
% 10 34 98
%
% 8. 取出上三角和下三角

triu(a)
%
% ans =
%
% 10 2 12
%
% 0 2 4
%
% 0 0 6

tril(a)
%
% ans =
%
% 10 0 0
%
% 34 2 0
%
% 98 34 6

[l,u]=lu(a)
%
% l =
%
% 0.1020 0.1500 1.0000
%
% 0.3469 1.0000 0
%
% 1.0000 0 0
%
% u =
%
% 98.0000 34.0000 6.0000
%
% 0 -9.7959 1.9184
%
% 0 0 11.1000
%
% 9. 正交分解

[q,r]=qr(a)
%
% q =
%
% -0.0960 -0.1232 -0.9877
%
% -0.3263 -0.9336 0.1482
%
% -0.9404 0.3365 0.0494
%
% r =
%
% -104.2113 -32.8179 -8.0989
%
% 0 9.3265 -3.1941
%
% 0 0 -10.9638
%
% 10.奇异值分解

[u,s,v]=svd(a)
%
% u =
%
% 0.1003 -0.8857 0.4532
%
% 0.3031 -0.4066 -0.8618
%
% 0.9477 0.2239 0.2277
%
% s =
%
% 109.5895 0 0
%
% 0 12.0373 0
%
% 0 0 8.0778
%
% v =
%
% 0.9506 -0.0619 -0.3041
%
% 0.3014 0.4176 0.8572
%
% 0.0739 -0.9065 0.4156
%
% 11.求矩阵的范数

norm(a)
%
% ans =
%
% 109.5895

norm(a,1)
%
% ans =
%
% 142

norm(a,inf)
%
% ans =
%
% 138

开玩笑啊!!
矩阵之间的乘除都必须加“.”

刚刚这个一定是错的“
C1=A+B
C2=A-B
C3=8*A
C4=A^2
C5=A*B

正确答案是:
C1=A+B
C2=A-B
C3=8*A
C4=A.^2
C5=A.*B

举个例子吧。

%MATLAB计算矩阵A+B,A-B,8A,A的平方,A*B,矩阵A的逆.
A=magic(4)
B=A'
C1=A+B
C2=A-B
C3=8*A
C4=A^2
C5=A*B

运行结果:
A =

16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1

B =

16 5 9 4
2 11 7 14
3 10 6 15
13 8 12 1

C1 =

32 7 12 17
7 22 17 22
12 17 12 27
17 22 27 2

C2 =

0 -3 -6 9
3 0 3 -6
6 -3 0 -3
-9 6 3 0

C3 =

128 16 24 104
40 88 80 64
72 56 48 96
32 112 120 8

C4 =

345 257 281 273
257 313 305 281
281 305 313 257
273 281 257 345

C5 =

438 236 332 150
236 310 278 332
332 278 310 236
150 332 236 438

首先输入矩阵A和B的值;
A=[...;...;...;]%分号表示一行元素已经输完
B=[...;...;...;]%分号表示一行元素已经输完
求A+B;(存于c中)
c=A+B;
求A-B;(存于c中)
c=A-B;
求8A;(存于c中)
c=8*A;
求A的平方;
c=A^2;
求A*B;
矩阵乘法:c=A*B;
对应项点乘:c=A*.B;
求矩阵的逆;
c=inv(A);
要看结果在工作空间直接查看变量值c就行;
这里把结果都存于c中

  • 濡備綍鐢╩atlab璁$畻瀵硅鐭╅樀?
    绛旓細鏉愭枡/宸ュ叿锛氱數鑴戙matlab杞欢 1銆侀鍏堟墦寮鐢佃剳涓婄殑鈥渕atlab鈥濊蒋浠讹紝鍦ㄥ懡浠よ绐楀彛杈撳叆涓涓悜閲弉锛屽悜閲弉鏈4涓厓绱犮傛帴鐫浣跨敤diag鍑芥暟鐢熸垚瀵硅鐭╅樀銆2銆乨iag(n,k)鍙互鎶婂悜閲忔斁鍦ㄧk鏉″瑙掔嚎涓婏紝k涓烘鍊硷紝琛ㄧず鍙充笂銆俴涓鸿礋鍊硷紝鍒欒〃绀哄乏涓嬨傚湪鍛戒护琛岃緭鍏iag(n,2)锛屽嵆鍙妸鍚戦噺鏀惧湪鍙充笂鐨勭浜屾潯瀵硅绾夸笂...
  • 鎬庢牱鐢∕ATLAB姹傝В鐭╅樀?
    绛旓細缁冧範1锛1銆佸鐭╅樀杩涜琛岀害鍑忥紝鍗虫瘡涓琛屾暟鎹噺鍘绘湰琛屾暟鎹腑鐨勬渶灏忔暟锛屽緱鐭╅樀浜岋紱2銆佹鏌ョ煩闃典簩锛岃嫢鐭╅樀浜屽悇琛屽悇鍒楀潎鏈0锛屽垯璺宠繃姝ゆ锛屽惁鍒欒繘琛屽垪绾﹀噺锛屽嵆姣忎竴鍒楁暟鎹噺鍘绘湰鍒楁暟鎹腑鐨勬渶灏忓硷紝寰楃煩闃典笁锛涙敞鎰忥細涔熷彲鍏堣繘琛屽垪绾﹀噺鍐嶈繘琛岃绾﹀噺銆3銆佺敾鈥滅洊0鈥濈嚎锛屽嵆鐢绘渶灏戠殑绾垮皢鐭╅樀涓変腑鐨0鍏ㄩ儴...
  • matlab璁$畻涓鐭╅樀鐐逛箻
    绛旓細1銆佹墦寮matlab锛屽湪鍛戒护琛岀獥鍙d腑杈撳叆a=[2 4;6 9]锛宐=[1 5;5 8]锛屽垱寤2琛2鍒楃殑a,b鐭╅樀锛屽涓嬪浘鎵绀恒2銆浣跨敤鐭╅樀鐐逛箻锛屼袱涓煩闃电殑瀵瑰簲浣嶇疆鍏冪礌鐩镐箻锛屽湪鍛戒护绐楀彛涓緭鍏モ渁.*b鈥濓紝濡備笅鍥炬墍绀恒3銆佹寜鍥炶溅閿箣鍚庯紝鍙互鐪嬪埌寰楀埌鐨勭粨鏋滄槸a鍜宐鐭╅樀瀵瑰簲椤圭浉涔樼殑缁撴灉锛屼竴鑸袱涓煩闃电浉涔樼殑璇濓紝閮...
  • matlab涓煩闃A鐨勮鍒楀紡濡備綍璁$畻?
    绛旓細MATLAB涓煩闃A鐨勮鍒楀紡锛屽彲浠ョ洿鎺鐢∕ATLAB鐨鍑芥暟det瑙e喅銆傝皟鐢ㄦ牸寮忔槸锛歽=det(A)娉ㄦ剰锛氬叾涓紝A蹇呴』鏄柟闃碉紝鍚﹀垯锛屽嚱鏁拌繍琛屼細鎶ラ敊銆傞檮褰曪細MATLAB鐭╅樀鍑芥暟 1.鐭╅樀鐨勭敓鎴愮煩闃 锛1锛墇eros锛堬級鍑芥暟銆倆eros锛堬級鍑芥暟鑳藉鐢熸垚鍏冪礌鍏ㄤ负0鐨勭煩闃点傦紙2锛塷nes锛堬級 鍑芥暟銆俹nes锛堬級鍑芥暟鑳藉鐢熸垚鍏冪礌鍏ㄤ负1鐨勭煩闃点傦紙3锛...
  • 濡備綍鐢∕ATLAB姹鐭╅樀鐨勭壒寰佸?
    绛旓細6銆佹渶鍚庣殑缁撴灉浼氫繚鐣欏湪MatAns涓紙SHIFT,4,6,=鎵撳紑锛夛紝鍏剁粨鏋滃氨鏄鐭╅樀鐗瑰緛鍊笺傜煩闃垫槸楂樼瓑浠f暟瀛︿腑鐨勫父瑙佸伐鍏凤紝涔熷父瑙佷簬缁熻鍒嗘瀽绛夊簲鐢ㄦ暟瀛﹀绉戜腑銆傚湪鐗╃悊瀛︿腑锛岀煩闃典簬鐢佃矾瀛︺佸姏瀛︺佸厜瀛﹀拰閲忓瓙鐗╃悊涓兘鏈夊簲鐢紱璁$畻鏈虹瀛︿腑锛屼笁缁村姩鐢诲埗浣滀篃闇瑕鐢鍒扮煩闃点 鐭╅樀鐨杩愮畻鏄暟鍊煎垎鏋愰鍩熺殑閲嶈闂銆傚皢鐭╅樀...
  • 鎬庝箞鐢╩atlab杩涜鐭╅樀杩愮畻
    绛旓細鐭╅樀鍒嗘瀽鏄В鍐冲緢澶氶棶棰樼殑濂芥柟娉曪紝浣嗘槸寰堝鏃跺欑煩闃电殑杩愮畻姣旇緝绻佺悙锛岀壒鍒槸楂橀樁鐭╅樀杩愮畻銆傝繖鏃跺欏鏋鐢╩atlab鏉璁$畻灏辨柟渚垮揩鎹峰緱澶氥備笅闈㈡垜灏嗕粙缁嶄竴浜涘熀鏈殑鐭╅樀杩愮畻鏂规硶銆傚鍔狅紝鍑忥紝涔橈紝闄わ紝杞疆锛屾眰閫嗐傜害瀹氾細a=[1,3,5;2,4,6;7,9,8] b=[9,6,4;3,4,5;2,3,4]宸ュ叿/鍘熸枡 matlab 鏂规硶...
  • MATLAB涓鐨鐭╅樀濡備綍琛ㄧず鍜屾搷浣?
    绛旓細涓銆鐭╅樀鐨勮〃绀哄湪MATLAB涓鍒涘缓鐭╅樀鏈変互涓嬭鍒欙細1銆佺煩闃靛厓绱犲繀椤诲湪鈥漑 ]鈥濆唴锛2銆佺煩闃电殑鍚岃鍏冪礌涔嬮棿鐢绌烘牸锛堟垨鈥,鈥濓級闅斿紑锛3銆佺煩闃电殑琛屼笌琛屼箣闂寸敤鈥;鈥濓紙鎴栧洖杞︾锛夐殧寮锛4銆佺煩闃电殑鍏冪礌鍙互鏄暟鍊笺佸彉閲忋佽〃杈惧紡鎴栧嚱鏁帮紱5銆佺煩闃电殑灏哄涓嶅繀棰勫厛瀹氫箟銆備簩銆佸熀鏈煩闃靛嚱鏁板涓嬶細1銆 ones()鍑芥暟锛氫骇鐢熷叏...
  • matlab濡備綍璁$畻鐭╅樀鐨勮鍒楀紡
    绛旓細matlab璁$畻鐭╅樀鐨勮鍒楀紡鐨勬柟娉 琛屽垪寮 det(A) 閫嗙煩闃 inv(A) 鎴 A^-1 鐗瑰緛鏍癸紝鐗瑰緛鍚戦噺 [d锛寁] = eig(A) d 涓瑙掔嚎鍏冪礌涓虹壒寰佸 v 涓垪鍚戦噺涓哄搴旂殑鐗瑰緛鍚戦噺
  • Matlab鐭╅樀杩愮畻闂
    绛旓細绗簩闂湁浜涢毦搴︼細鎵惧埌鐭╅樀E锛屼娇寰桝鈯橢=A銆傜敱浜庣櫨搴︾煡閬撶郴缁熺殑鎺掔増缂洪櫡锛屽叕寮忕殑琛ㄨ揪姣旇緝鍥伴毦锛屾墍浠ワ紝鍏蜂綋鐨勫垎鏋愯繃绋嬫垜灏变笉鍐欎簡銆傚熀鏈殑鎬濊矾灏辨槸锛岃瀹氱煩闃礎鍜孍鐨勫厓绱鐢aij銆乪ij琛ㄧず锛屽垯鏍规嵁杩愮畻鐨勮鍒欙紝鍙互鎺ㄥ鍑猴紝姣忎釜eij閮藉簲璇ユ弧瓒充竴缁勪笉绛夊紡锛歟ij <= [akj-aki], k=1..n骞朵笖蹇呴』鏈変竴涓瓑寮...
  • matlab鎬庝箞璁$畻鐭╅樀鐨勭壒寰佸煎拰鐗瑰緛鍚戦噺
    绛旓細鍦matlab涓锛屽彲浠鐢eig鍑芥暟璁$畻鐭╅樀鐨勭壒寰佸煎拰鐗瑰緛鍚戦噺銆備妇渚嬪涓嬶細>>a=[1,2,3;4,5,6;7,8,9]%鍘熷鏁版嵁鐭╅樀a=123456789>>[V,D]=eig(a)%鐗瑰緛鍊煎垎瑙o紝鍏朵腑V鐨勬瘡涓鍒楄〃绀虹煩闃礱鐨勪竴涓壒寰佸悜閲忥紝D鏄竴涓瑙掔煩闃碉紝瀵硅
  • 扩展阅读:matlab随机生成3 3矩阵 ... 用matlab计算复杂公式 ... matlab计算两个矩阵和 ... matlab怎么计算矩阵方程 ... matlab计算矩阵代码 ... matlab如何生成稀疏矩阵 ... matlab用0扩充矩阵 ... matlab计算矩阵各行的总和 ... matlab计算可达矩阵 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网