日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Matlab入门基础 note2——向量和矩阵基础

發(fā)布時(shí)間:2023/12/31 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Matlab入门基础 note2——向量和矩阵基础 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Matlab Chapter II

向量
*表示向量數(shù)乘;
'表示向量轉(zhuǎn)置;
matlab允許向量和合并:w = [ u; v ]或者f = [ u v ];
我們可以用x = [0(初值):2(步長(zhǎng)*可以為負(fù)):10(終止值)]來創(chuàng)造一個(gè)從0到10點(diǎn)偶數(shù)向量組:

>> x = [ 0; 2; 10] x = 0 2 4 6 8 10

.^表示向量的乘方,而不能直接用^符號(hào)
linspace(a,b,n)可以創(chuàng)建a、b之間含有n個(gè)等差元素的向量;

向量運(yùn)算
dot(a,b)或者.*均可以表示向量點(diǎn)乘;
我們可以用如下命令來計(jì)算向量的模:

>> J = [ 0; 3; 4]; mag = sqrt(dot(a,a)) mag =5

cross(A,B)表示向量的叉乘,叉乘的向量必須是三維的:

>> A = [ 1 2 3]; B = [ 2 3 4]; >> C = cross(A, B) C =-1 2 -1

V(i)引用v的第i個(gè)元素;
v(:)將引用全部元素;
v(4:6)表示一定范圍內(nèi)的元素,例如:

>> v = A (4:6) v =044

表示從A中選取第4個(gè)到第6個(gè)元素組成新的向量

矩陣
.*表示矩陣的數(shù)組乘法(而非矩陣乘法),意味著對(duì)應(yīng)元素相乘;
*則表示矩陣乘法,它要求運(yùn)算的矩陣符合矩陣相乘的條件;
./和.\分別表示數(shù)組的右除和左除;
eye(n)可以創(chuàng)建nxn的單元矩陣,zeros(n)可以創(chuàng)建nxn的零矩陣,ones(n)可以創(chuàng)建nxn的1矩陣;

引用矩陣元素
Matlab中矩陣的單個(gè)元素或整列都可以被引用:
A = [ 1 2 3; 4 5 6; 7 8 9]
我們可以用`A(m,n)選出m行n列的元素:

>> A(2,3) ans =6

可以用A(:,i)引用第i列的所有元素:

>> A (:,2) ans =258
  • 可以用A(:,i:j)選出從第i列到第j列的所有元素;
  • 可以用A(m:n,i:j)或A([m,n],[i,j])選取子矩陣;

可以通過空數(shù)組來刪除矩陣的行或列:

>> A(2,:)=[] A = 1 2 37 8 9

上述操作將3x3矩陣變?yōu)?x3矩陣;

行列式與線性求解
det(A)表示計(jì)算矩陣A的行列式:

>> A = [1 3; 4 5] >> det(A) = ans =-7

我們可以用行列式判斷矩陣解的情況,當(dāng)我們需要表示多個(gè)解時(shí),我們就需要一組基礎(chǔ)解系:
null()函數(shù)表示了矩陣的零空間,我們可以用null(A,'r')來返回一組有理基礎(chǔ)解:

>> A = [3 0 -1 0; 8 0 0 -2; 0 2 -2 -1]; z=null(A)z =700/4999 502/717 799/1902 601/1073 >>y=null(A,'r')y =1/4 5/4 3/4 1
  • rank(A)=n 等價(jià)于 null(A)為nx0的空矩陣,即Ax=b有唯一解;

秩&逆矩陣

矩陣的秩是矩陣向量間線性無關(guān)性的度量,可以用rank(A)求出;

我們也可以通過秩來判斷解的情況:

對(duì)于mxn階矩陣Ax=b而言,當(dāng)且僅當(dāng)rank(A)=rank(A b)時(shí)系統(tǒng)有解; 如果秩等于n,則解唯一;如果秩小于n,則有無窮多解;

inv(A)表示A的逆矩陣,當(dāng)且僅當(dāng)det(A)不等于0時(shí),逆矩陣才存在,我們稱其為可逆矩陣或非奇異矩陣(這樣的矩陣一定是滿秩的);

  • matlab同樣可以求偽逆矩陣(或廣義逆矩陣):pinv(A)

梯形陣
rref(A)可以求出A的最簡(jiǎn)梯形陣,例如對(duì)于幻方矩陣而言,手算是十分復(fù)雜的,而matlab可以輕易處理:

>> A=magic(5)A =17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9 >> rref(A)ans =1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1
  • magic(n)是求一個(gè)n階幻方矩陣的語法,這樣的矩陣各行和列包括對(duì)角線的和都相等,我們不妨來驗(yàn)證一下

sum語法結(jié)構(gòu): sum(A,dim)
A表示矩陣, dim={1,2};1表示對(duì)列求和, 2表示對(duì)行進(jìn)行求和

我們繼續(xù)以剛剛的A為例:

>> sum(A,1)ans =65 65 65 65 65 >> sum(A,2)ans =65 65 65 65 65

再通過一個(gè)簡(jiǎn)單的循環(huán)對(duì)對(duì)角線求和:

>> e=0;d=0;for i=1:5; j=6-i;b=A(i,i); c=A(i,j);d=d+b; e=e+c;end; e,de =65 d =65

不難看到行、列與對(duì)角線之和均相等

矩陣分解
matlab可以快速對(duì)矩陣進(jìn)行各類分解:

  • [L,U]=lu(A)表示對(duì)A進(jìn)行LU分解;
>> A= [-1 2 0; 4 1 8; 2 7 1]; [L,U]=lu(A)L =-1/4 9/26 1 1 0 0 1/2 1 0 U =4 1 8 0 13/2 -3 0 0 79/26

總結(jié)

以上是生活随笔為你收集整理的Matlab入门基础 note2——向量和矩阵基础的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。