通信系統(tǒng)仿真第二章教程文件_第1頁
通信系統(tǒng)仿真第二章教程文件_第2頁
通信系統(tǒng)仿真第二章教程文件_第3頁
通信系統(tǒng)仿真第二章教程文件_第4頁
通信系統(tǒng)仿真第二章教程文件_第5頁
已閱讀5頁,還剩102頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

通信系統(tǒng)仿真第二章矩陣元素可以是任何數(shù)值表達式例:>>

x=[-1.3,

sqrt(3),

(1+2+3)*4/5]矩陣元素賦值矩陣元素的單獨賦值例:>>

x(5)=abs(x(1))例:>>

x(5)=abs(x(6))

??Matlab自動將向量x

的長度擴展到5,并將未賦值部分置零。大矩陣可以把小矩陣作為其元素矩陣元素賦值例:>>

A=[A;

111213]在原矩陣的下方加一行如何在原矩陣的右邊添加一列?單個元素的引用例:>>

A(2,3)矩陣元素的引用多個元素的引用:冒號的特殊用法利用小括弧和元素所在的位置(下標)x

(

i

):向量x中的第i個元素A

(

i,

j

):矩陣A中的第i行,第j

列元素a:b:c產生一個由等差序列組成的向量;a是首項,b是公差,c確定最后一項;若b=1,則b可以省略。例:>>

x=1:2:5>>

y=1:2:6例:>>

x=2:1:5>>

y=2:5例:>>

x=3:2:1例:>>

x(1:3)>>

A(3,1:3)矩陣元素的引用A(i:j,m:n)表示由矩陣A的第

i

到第j

行和第m

到第n列交叉線上的元素組成的子矩陣??衫妹疤柼崛【仃嚨恼谢蛘小@?gt;>

A(1,:)>>

A(:,1:3)>>

A(:,:)Matlab幫助系統(tǒng)聯(lián)機幫助

help

顯示指定命令的簡短使用說明例:>>

helpeig>>

helphelp

詳細使用幫助

doc

以網(wǎng)頁形式顯示指定命令的幫助頁例:>>

doceig

其它相關命令helpdesk、helpwinMatlab查找命令

lookfor

按指定的關鍵詞查詢與之相關的命令例:>>

lookforinverse

which

顯示指定函數(shù)所在的目錄例:>>

whicheig

其它相關命令cd、dir、more變量命名原則Matlab變量以字母開頭后面可以跟字母、數(shù)字和下劃線

長度不超過63個字符(6.5版本以前為

19個)變量名區(qū)分字母的大小寫

Matlab語句的通常形式變量=

表達式表達式是用運算符將有關運算量連接起來的式子,其結果被賦給賦值號“=”左邊的變量Matlab不需要任何類型聲明和維數(shù)說明,變量名的第一個字符必須是字母。

a=1;num_students=25;分號和續(xù)行符的作用Matlab變量若不想在屏幕上輸出結果,可以在語句最后加分號

如果語句很長,可用續(xù)行符“…”(三個點)續(xù)行

續(xù)行符的前面最好留一個空格例:變量的查詢Matlab變量

who

顯示工作空間中的所有變量

whos

查看工作空間中變量的詳細屬性系統(tǒng)預定義變量Matlab變量

pi

:圓周率

,其值為

imag(log(-1))

inf,Inf

:無窮大

nan,NaN

:Not-a-Number,一個不定值,如

0/0

eps

:浮點運算相對精度特殊變量

ans

i,j

:虛部單位,即應盡量避免給系統(tǒng)預定義變量重新賦值!數(shù)與算術表達式Matlab數(shù)值運算

Matlab中的數(shù)默認是雙精度實數(shù),表示方法同C語言3,-9,0.4,1.603e-12,3.23e+20

浮點運算的相對誤差為

eps

浮點數(shù)表示范圍為:10-308

~10308

復數(shù)的輸入

z=3+4i

(4與i之間不能有空格)

z=3+4*i復數(shù)作為矩陣元素輸入時,加號兩邊不能有空格!數(shù)學運算符

+

加法Matlab數(shù)值運算

-

減法

*乘法

/和

\

除法(右除和左除)

^

冪運算命令分隔符:逗號和分號輸出格式Matlab的輸出

Matlab以雙精度執(zhí)行所有的運算,運算結果可以在屏幕上輸出,同時賦給指定變量;若無指定變量,則系統(tǒng)會自動將結果賦給變量“ans”

Matlab中數(shù)的輸出格式可以通過format

命令指定format只改變變量的輸出格式,但不會影響變量的值!各種format格式格式解釋例format短格式(缺省顯示格式),同short3.1416formatshort短格式(缺省顯示格式),只顯示5位3.1416formatlong長格式,雙精度數(shù)15位,單精度數(shù)7位3.14159265358979formatshorte短格式e方式(科學計數(shù)格式)3.1416e+000formatlonge長格式e方式3.141592653589793e+000formatshortg短格式g方式3.1416formatlongg長格式g方式3.14159265358979formatcompact壓縮格式formatloose自由格式format+/formatbank/formatrat/formathex(詳情查看聯(lián)機幫助)變量的存儲存儲當前工作空間中的變量

save

將所有變量存入文件

matlab.mat

savemydata

將所有變量存入指定文件

mydata.mat存儲指定的變量

savemydata.mat

將所有變量存入文件

mydata.matsave

文件名變量名列表例:>>

savemydataAxz

變量名列表中各變量之間用空格分隔變量的讀取將數(shù)據(jù)文件中的變量載入當前工作空間

loadmydata

載入數(shù)據(jù)文件中的所有變量

loadmydata

Ax

從數(shù)據(jù)文件中提取指定變量清除當前工作空間中的變量

clear清除當前工作空間中的所有變量

clearAx

清除指定的變量幾個小技巧

Matlab的命令記憶功能:上下箭頭鍵命令補全功能:Tab鍵

可以先輸入命令的前幾個字符,再按上下鍵縮小搜索范圍用Esc鍵刪除命令行(1)用線性等間距生成向量矩陣(start:step:end)》a=[1:2:10]a=13579(2)a=linspace(n1,n2,n)在線性空間上,行矢量的值從n1到n2,數(shù)據(jù)個數(shù)為n,缺省n為100。》a=linspace(1,10,10)a=12345678910(3)a=logspace(n1,n2,n)在對數(shù)空間上,行矢量的值從10n1到10n2,數(shù)據(jù)個數(shù)為n,缺省n為50。這個指令為建立對數(shù)頻域軸坐標提供了方便。》a=logspace(1,3,3)a=1010010002.用matlab函數(shù)創(chuàng)建矩陣空陣[]—matlab允許輸入空陣,當一項操作無結果時,返回空陣。rand——隨機矩陣eye——單位矩陣zeros——全部元素都為0的矩陣ones——全部元素都為1的矩陣常見矩陣生成函數(shù)zeros(m,n)生成一個m

行n

列的零矩陣,m=n

時可簡寫為zeros(n)ones(m,n)生成一個m行n列的元素全為1的矩陣,

m=n

時可寫為ones(n)eye(m,n)生成一個主對角線全為1的m

行n

列矩陣,

m=n

時可簡寫為eye(n),即為n

維單位矩陣diag(X)若X是矩陣,則diag(X)為X的主對角線向量若X是向量,diag(X)產生以X為主對角線的對角矩陣tril(A)提取一個矩陣的下三角部分triu(A)提取一個矩陣的上三角部分rand(m,n)產生0~1間均勻分布的隨機矩陣m=n

時簡寫為rand(n)randn(m,n)產生均值為0,方差為1的標準正態(tài)分布隨機矩陣

m=n

時簡寫為randn(n)其它特殊矩陣生成函數(shù):magic、hilb、pascal》eye(2,3)ans=100010》zeros(2,3)ans=000000》ones(2,3)ans=111111》V=[572];A=diag(V)A=500070002》eye(2)ans=1001》zeros(2)ans=0000》ones(2)ans=1111如果已知A為方陣,則V=diag(A)可以提取A的對角元素構成向量V。

還有伴隨矩陣、稀疏矩陣、魔方矩陣、對角矩陣、范德蒙矩陣等的創(chuàng)建。注意:matlab嚴格區(qū)分大小寫字母,因此a與A是兩個不同的變量。

matlab函數(shù)名必須小寫。例子建立隨機矩陣:

(1)在區(qū)間[20,50]內均勻分布的5階隨機矩陣。

(2)均值為0.6、方差為0.1的5階正態(tài)分布隨機矩陣。

命令如下:

x=20+(50-20)*rand(5)

y=0.6+sqrt(0.1)*randn(5)

此外,常用的函數(shù)還有reshape(A,m,n),它在矩陣總元素保持不變的前提下,將矩陣A重新排成m×n的二維矩陣。2.用于專門學科的特殊矩陣

(1)魔方矩陣

魔方矩陣有一個有趣的性質,其每行、每列及兩條對角線上的元素和都相等。對于n階魔方陣,其元素由1,2,3,…,n2共n2個整數(shù)組成。MATLAB提供了求魔方矩陣的函數(shù)magic(n),其功能是生成一個n階魔方陣。將101~125等25個數(shù)填入一個5行5列的表格中,使其每行每列及對角線的和均為565。

M=100+magic(5)

(2)范得蒙矩陣

范得蒙(Vandermonde)矩陣最后一列全為1,倒數(shù)第二列為一個指定的向量,其他各列是其后列與倒數(shù)第二列的點乘積??梢杂靡粋€指定向量生成一個范得蒙矩陣。在MATLAB中,函數(shù)vander(V)生成以向量V為基礎向量的范得蒙矩陣。例如,A=vander([1;2;3;5])即可得到上述范得蒙矩陣。

(3)希爾伯特矩陣

在MATLAB中,生成希爾伯特矩陣的函數(shù)是hilb(n)。

使用一般方法求逆會因為原始數(shù)據(jù)的微小擾動而產生不可靠的計算結果。MATLAB中,有一個專門求希爾伯特矩陣的逆的函數(shù)invhilb(n),其功能是求n階的希爾伯特矩陣的逆矩陣。例求4階希爾伯特矩陣及其逆矩陣。

命令如下:

formatrat%以有理形式輸出

H=hilb(4)

H=invhilb(4)

(4)托普利茲矩陣

托普利茲(Toeplitz)矩陣除第一行第一列外,其他每個元素都與左上角的元素相同。生成托普利茲矩陣的函數(shù)是toeplitz(x,y),它生成一個以x為第一列,y為第一行的托普利茲矩陣。這里x,y均為向量,兩者不必等長。toeplitz(x)用向量x生成一個對稱的托普利茲矩陣。例如

T=toeplitz(1:6)(5)伴隨矩陣

MATLAB生成伴隨矩陣的函數(shù)是compan(p),其中p是一個多項式的系數(shù)向量,高次冪系數(shù)排在前,低次冪排在后。例如,為了求多項式的x3-7x+6的伴隨矩陣,可使用命令:

p=[1,0,-7,6];

compan(p)(6)帕斯卡矩陣

我們知道,二次項(x+y)n展開后的系數(shù)隨n的增大組成一個三角形表,稱為楊輝三角形。由楊輝三角形表組成的矩陣稱為帕斯卡(Pascal)矩陣。函數(shù)pascal(n)生成一個n階帕斯卡矩陣。例子例求(x+y)5的展開式。

在MATLAB命令窗口,輸入命令:

pascal(6)

矩陣次對角線上的元素1,5,10,10,5,1即為展開式的系數(shù)。例子產生5階隨機方陣A,其元素為[10,90]區(qū)間的隨機整數(shù),然后判斷A的元素是否能被3整除。

(1)生成5階隨機方陣A。

A=fix((90-10+1)*rand(5)+10)

(2)判斷A的元素是否可以被3整除。

P=rem(A,3)==0

其中,rem(A,3)是矩陣A的每個元素除以3的余數(shù)矩陣。此時,0被擴展為與A同維數(shù)的零矩陣,P是進行等于(==)比較的結果矩陣。建立矩陣A,然后找出大于4的元素的位置。

(1)建立矩陣A。

A=[4,-65,-54,0,6;56,0,67,-45,0]

(2)找出大于4的元素的位置。

find(A>4)先建立5×5矩陣A,然后將A的第一行元素乘以1,第二行乘以2,…,第五行乘以5。

A=[17,0,1,0,15;23,5,7,14,16;4,0,13,0,22;10,12,19,21,3;...

11,18,25,2,19];

D=diag(1:5);

D*A%用D左乘A,對A的每行乘以一個指定常數(shù)

2.三角陣

三角陣又進一步分為上三角陣和下三角陣,所謂上三角陣,即矩陣的對角線以下的元素全為0的一種矩陣,而下三角陣則是對角線以上的元素全為0的一種矩陣。(1)上三角矩陣

求矩陣A的上三角陣的MATLAB函數(shù)是triu(A)。

triu(A)函數(shù)也有另一種形式triu(A,k),其功能是求矩陣A的第k條對角線以上的元素。例如,提取矩陣A的第2條對角線以上的元素,形成新的矩陣B。

(2)下三角矩陣

在MATLAB中,提取矩陣A的下三角矩陣的函數(shù)是tril(A)和tril(A,k),其用法與提取上三角矩陣的函數(shù)triu(A)和triu(A,k)完全相同。2.4.2矩陣的轉置與旋轉

1.矩陣的轉置

轉置運算符是單撇號(‘)。

2.矩陣的旋轉

利用函數(shù)rot90(A,k)將矩陣A旋轉90o的k倍,當k為1時可省略。3.矩陣的左右翻轉

對矩陣實施左右翻轉是將原矩陣的第一列和最后一列調換,第二列和倒數(shù)第二列調換,…,依次類推。MATLAB對矩陣A實施左右翻轉的函數(shù)是fliplr(A)。

4.矩陣的上下翻轉

MATLAB對矩陣A實施上下翻轉的函數(shù)是flipud(A)。2.4.3矩陣的逆與偽逆

1.矩陣的逆

對于一個方陣A,如果存在一個與其同階的方陣B,使得:

A·B=B·A=I(I為單位矩陣)

則稱B為A的逆矩陣,當然,A也是B的逆矩陣。

求一個矩陣的逆是一件非常煩瑣的工作,容易出錯,但在MATLAB中,求一個矩陣的逆非常容易。求方陣A的逆矩陣可調用函數(shù)inv(A)。

例用求逆矩陣的方法解線性方程組。

Ax=b

其解為:

x=A-1b2.矩陣的偽逆

如果矩陣A不是一個方陣,或者A是一個非滿秩的方陣時,矩陣A沒有逆矩陣,但可以找到一個與A的轉置矩陣A‘同型的矩陣B,使得:

A·B·A=A

B·A·B=B

此時稱矩陣B為矩陣A的偽逆,也稱為廣義逆矩陣。在MATLAB中,求一個矩陣偽逆的函數(shù)是pinv(A)。2.4.4方陣的行列式

把一個方陣看作一個行列式,并對其按行列式的規(guī)則求值,這個值就稱為矩陣所對應的行列式的值。在MATLAB中,求方陣A所對應的行列式的值的函數(shù)是det(A)。2.4.5矩陣的秩與跡

1.矩陣的秩

矩陣線性無關的行數(shù)與列數(shù)稱為矩陣的秩。在MATLAB中,求矩陣秩的函數(shù)是rank(A)。

2.矩陣的跡

矩陣的跡等于矩陣的對角線元素之和,也等于矩陣的特征值之和。在MATLAB中,求矩陣的跡的函數(shù)是trace(A)。2.4.6向量和矩陣的范數(shù)

矩陣或向量的范數(shù)用來度量矩陣或向量在某種意義下的長度。范數(shù)有多種方法定義,其定義不同,范數(shù)值也就不同。1.向量的3種常用范數(shù)及其計算函數(shù)

在MATLAB中,求向量范數(shù)的函數(shù)為:

(1)norm(V)或norm(V,2):計算向量V的2—范數(shù)。

(2)norm(V,1):計算向量V的1—范數(shù)。

(3)norm(V,inf):計算向量V的∞—范數(shù)。2.矩陣的范數(shù)及其計算函數(shù)

MATLAB提供了求3種矩陣范數(shù)的函數(shù),其函數(shù)調用格式與求向量的范數(shù)的函數(shù)完全相同。

2.4.7矩陣的條件數(shù)

在MATLAB中,計算矩陣A的3種條件數(shù)的函數(shù)是:

(1)cond(A,1)計算A的1—范數(shù)下的條件數(shù)。

(2)cond(A)或cond(A,2)計算A的2—范數(shù)下的條件數(shù)。

(3)cond(A,inf)計算A的∞—范數(shù)下的條件數(shù)。2.4.8矩陣的特征值與特征向量

在MATLAB中,計算矩陣A的特征值和特征向量的函數(shù)是eig(A),常用的調用格式有3種:

(1)E=eig(A):求矩陣A的全部特征值,構成向量E。

(2)[V,D]=eig(A):求矩陣A的全部特征值,構成對角陣D,并求A的特征向量構成V的列向量。(3)[V,D]=eig(A,‘nobalance’):與第2種格式類似,但第2種格式中先對A作相似變換后求矩陣A的特征值和特征向量,而格式3直接求矩陣A的特征值和特征向量。例用求特征值的方法解方程。

3x5-7x4+5x2+2x-18=0

p=[3,-7,0,5,2,-18];

A=compan(p);%A的伴隨矩陣

x1=eig(A)%求A的特征值

x2=roots(p)%直接求多項式p的零點2.5矩陣的超越函數(shù)

1.矩陣平方根sqrtm

sqrtm(A)計算矩陣A的平方根。

2.矩陣對數(shù)logm

logm(A)計算矩陣A的自然對數(shù)。此函數(shù)輸入?yún)?shù)的條件與輸出結果間的關系和函數(shù)sqrtm(A)完全一樣3.矩陣指數(shù)expm、expm1、expm2、expm3

expm(A)、expm1(A)、expm2(A)、expm3(A)的功能都求矩陣指數(shù)eA。

4.普通矩陣函數(shù)funm

funm(A,‘fun’)用來計算直接作用于矩陣A的由‘fun’指定的超越函數(shù)值。當fun取sqrt時,funm(A,‘sqrt’)可以計算矩陣A的平方根,與sqrtm(A)的計算結果一樣。

2.6字符串

在MATLAB中,字符串是用單撇號括起來的字符序列。

MATLAB將字符串當作一個行向量,每個元素對應一個字符,其標識方法和數(shù)值向量相同。也可以建立多行字符串矩陣。字符串是以ASCII碼形式存儲的。abs和double函數(shù)都可以用來獲取字符串矩陣所對應的ASCII碼數(shù)值矩陣。相反,char函數(shù)可以把ASCII碼矩陣轉換為字符串矩陣。例建立一個字符串向量,然后對該向量做如下處理:

(1)取第1~5個字符組成的子字符串。

(2)將字符串倒過來重新排列。

(3)將字符串中的小寫字母變成相應的大寫字母,其余字符不變。

(4)統(tǒng)計字符串中小寫字母的個數(shù)。命令如下:

ch='ABc123d4e56Fg9';

subch=ch(1:5)%取子字符串

revch=ch(end:-1:1)%將字符串倒排

k=find(ch>='a'&ch<='z');%找小寫字母的位置

ch(k)=ch(k)-('a'-'A');%將小寫字母變成相應的大寫字母

char(ch)

length(k)%統(tǒng)計小寫字母的個數(shù)

與字符串有關的另一個重要函數(shù)是eval,其調用格式為:

eval(t)

其中t為字符串。它的作用是把字符串的內容作為對應的MATLAB語句來執(zhí)行。3.矩陣的修改直接修改可用鍵找到所要修改的矩陣,用鍵移動到要修改的矩陣元素上即可修改。指令修改可以用A(,)=來修改。例如a=[120;305;789]a=120305789a(3,3)=0a=120305780矩陣加、減(+,-)運算規(guī)則:相加、減的兩矩陣必須有相同的行和列兩矩陣對應元素相加減。允許參與運算的兩矩陣之一是標量。標量與矩陣的所有元素分別進行加減操作。三、矩陣運算2.矩陣乘()運算規(guī)則:A矩陣的列數(shù)必須等于B矩陣的行數(shù)標量可與任何矩陣相乘。a=[123;456;780];b=[1;2;3];c=a*bc=143223

d=[-1;0;2];f=pi*df=-3.141606.2832

矩陣除的運算在線性代數(shù)中沒有,有矩陣逆的運算,在matlab中有兩種矩陣除運算

a^p——a自乘p次冪

方陣>1的整數(shù)3.矩陣乘方——a^n,a^p,p^a對于p的其它值,計算將涉及特征值和特征向量,如果p是矩陣,a是標量a^p使用特征值和特征向量自乘到p次冪;如a,p都是矩陣,a^p則無意義。

a=[1,2,3;4,5,6;7,8,9];a^2ans=303642668196102126150※當一個方陣有復數(shù)特征值或負實特征值時,非整數(shù)冪是復數(shù)陣。

a^0.5ans=

0.4498+0.7623i0.5526+0.2068i0.6555-0.3487i1.0185+0.0842i1.2515+0.0228i1.4844-0.0385i1.5873-0.5940i1.9503-0.1611i2.3134+0.2717ia=[12;34];b=[35;59]》c=a+bd=a-b》c=d=47-2-3813-2-5》a*b=[1323;2951]》a/b=[-0.500.50;3.50–1.50]》a\b=[-1-1;23]》a^3=[3754;81118]》a.*b=[310;1536]》a./b=[0.330.40;0.600.44]》a.\b=[3.002.50;1.672.25]》a.^3=[18;2764]只有維數(shù)相同的矩陣才能進行加減運算。注意只有當兩個矩陣中前一個矩陣的列數(shù)和后一個矩陣的行數(shù)相同時,才可以進行乘法運算。a\b運算等效于求a*x=b的解;而a/b等效于求x*b=a的解。只有方陣才可以求冪。點運算是兩個維數(shù)相同矩陣對應元素之間的運算,本書定義為數(shù)組運算。inv——矩陣求逆det——行列式的值eig——矩陣的特征值diag——對角矩陣’——矩陣轉置sqrt——矩陣開方4.矩陣的其它運算求逆和行列式要求矩陣必須為方陣

》a=[123;456;235];》b=inv(a)b=-2.33330.33331.00002.66670.3333-2.0000-0.6667-0.33331.0000》det(a)ans=-3轉置:對于實矩陣用(’)符號或(.’)求轉置結果是一樣的;然而對于含復數(shù)的矩陣,則(’)將同時對復數(shù)進行共軛處理,而(.’)則只是將其排列形式進行轉置。》a=[123;456]'a=142536》a=[123;456].'a=142536》b=[1+2i2-7i]'b=1.0000-2.0000i2.0000+7.0000i》b=[1+2i2-7i].'b=1.0000+2.0000i2.0000-7.0000i5.矩陣的一些特殊操作矩陣的變維

a=[1:12];b=reshape(a,3,4)c=zeros(3,4);c(:)=a(:)矩陣的變向

rot90:旋轉;fliplr:上翻;flipud:下翻矩陣的抽取

diag:抽取主對角線;tril:抽取主下三角;

triu:抽取主上三角矩陣的擴展關系運算關系符號意義<<=>>===~=小于小于或等于大于大于或等于等于不等于4.數(shù)組運算(1)數(shù)組的加和減(2)數(shù)組的乘和除(3)數(shù)組的乘方

數(shù)組運算指元素對元素的算術運算,與通常意義上的由符號表示的線性代數(shù)矩陣運算不同數(shù)組加減(.+,.-)a.+ba.-b5.矩陣的數(shù)組運算對應元素相加減(與矩陣加減等效)2.數(shù)組乘除(,./,.\)ab——a,b兩數(shù)組必須有相同的行和列兩數(shù)組相應元素相乘。a=[123;456;789];b=[246;135;7910];a.*bans=281841530497290a=[123;456;789];b=[246;135;7910];a*bans=253746558510985133172a./b=b.\aa.\b=b./aa./b=b.\a—都是a的元素被b的對應元素除a.\b=b./a—都是a的元素被b的對應元素除例:a=[123];b=[456];c1=a.\b;c2=b./ac1=4.00002.50002.0000c2=4.00002.50002.0000——給出a,b對應元素間的商.3.數(shù)組乘方(.^)—元素對元素的冪例:a=[123];b=[456];z=a.^2z=1.004.009.00z=a.^bz=1.0032.00729.00應用舉例1、行列式計算;2、求解線性方程組;3、解特征值問題4、矩陣分解6、矩陣分解(1)奇異值分解[U,S,V]=svd(A)例:a=9868可以驗證:u*u’=Iv*v’=Iu*s*v’=a求矩陣A的奇異值及分解矩陣,滿足U*S*V’=A,其中U、V矩陣為正交矩陣(U*U’=I),S矩陣為對角矩陣,它的對角元素即A矩陣的奇異值。[u,s,v]=svd(a)u=0.7705-0.63750.63750.7705s=15.5765001.5408v=0.6907-0.72310.72310.6907(2)特征值分解[V,D]=eig(A)例:a=9868[v,d]=eig(a)v=0.7787-0.73200.62740.6813d=15.4462001.5538求矩陣A的特征向量V及特征值D,滿足A*V=V*D。其中D的對角線元素為特征值,V的列為對應的特征向量。如果D=eig(A)則只返回特征值??梢则炞C:A*V=V*D(3)正交分解[Q,R]=qr(A)例:a=9868[q,r]=qr(a)q=-0.8321-0.5547-0.55470.8321r=-10.8167-11.094002.2188將矩陣A做正交化分解,使得Q*R=A,其中Q為正交矩陣(其范數(shù)為1,指令norm(Q)=1),R為對角化的上三角矩陣。norm(q)ans=1q*rans=9.00008.00006.00008.0000(4)三角分解[L,U]=lu(A)將A做對角線分解,使得A=L*U,其中L為下三角矩陣,U為上三角矩陣。注意:L實際上是一個“心理上”的下三角矩陣,它事實上是一個置換矩陣P的逆矩陣與一個真正下三角矩陣L1(其對角線元素為1)的乘積。[L1,U1,P]=lu(A)例:a=[123;456;789]

比較:[l1,u1,p]=lu(a)[l,u]=lu(a)l1=1.00000.141.0000.570.501.00u1=7.008.009.0000.861.71000.00p=001100010l=0.141.0000.570.501.001.0000u=7.008.009.0000.861.71000.00可以驗證:u1=u,inv(p)*l1=la=l*up*a=l1*u1matlab語言把多項式表達成一個行向量,該向量中的元素是按多項式降冪排列的。

f(x)=anxn+an-1xn-1+……+a0

可用行向量p=[anan-1……a1+a0]表示poly——產生特征多項式系數(shù)向量特征多項式一定是n+1維的特征多項式第一個元素一定是1四、多項式運算例:a=[123;456;780];p=poly(a)p=1.00-6.00-72.00-27.00p是多項式p(x)=x3-6x2-72x-27的matlab描述方法,我們可用:p1=poly2str(p,‘x’)—函數(shù)文件,顯示數(shù)學多項式的形式p1=x^3-6x^2-72x-272.roots——求多項式的根a=[123;456;780];p=poly(a)p=1.00-6.00-72.00-27.00r=roots(p)r=12.12-5.73——顯然r是矩陣a的特征值

-0.39當然我們可用poly令其返回多項式形式p2=poly(r)p2=1.00-6.00-72.00-27.00matlab規(guī)定多項式系數(shù)向量用行向量表示,一組根用列向量表示。3.conv,convs多項式乘運算例:a(x)=x2+2x+3;b(x)=4x2+5x+6;c=(x2+2x+3)(4x2+5x+6)a=[123];b=[456];c=conv(a,b)=conv([123],[456])c=4.0013.0028.0027.0018.00p=poly2str(c,'x')p=4x^4+13x^3+28x^2+27x+184.deconv多項式除運算a=[123];c=[4.0013.0028.0027.0018.00]d=deconv(c,a)d=4.005.006.00[d,r]=deconv(c,a)余數(shù)c除a后的整數(shù)5.多項式微分matlab提供了polyder函數(shù)多項式的微分。命令格式:polyder(p):求p的微分polyder(a,b):求多項式a,b乘積的微分[p,q]=polyder(a,b):求多項式a,b商的微分例:a=[12345];poly2str(a,'x')ans=x^4+2x^3+3x^2+4x+5b=polyder(a)b=4664poly2str(b,'x')ans=4x^3+6x^2+6x+4五、代數(shù)方程組求解matlab中有兩種除運算左除和右除。對于方程ax+b,a為an×m矩陣,有三種情況:當n=m時,此方程成為“恰定”方程當n>m時,此方程成為“超定”方程當n<m時,此方程成為“欠定”方程

matlab定義的除運算可以很方便地解上述三種方程1.恰定方程組的解方程ax+b(a為非奇異)x=a-1

b

矩陣逆兩種解:x=inv(a)b—采用求逆運算解方程x=a\b—采用左除運算解方程方程ax=ba=[12;23];b=[8;13];x=inv(a)*b

x=a\bx=x=2.002.003.003.00

=

ax=b例:x1+2x2=82x1+3x2=132.超定方程組的解方程ax=b,m<n時此時不存在唯一解。方程解(a'a)x=a'bx=(a'

a)-1a'b——求逆法

x=a\b——matlab用最小二乘法找一個準確地基本解。例:x1+2x2=12x1+3x2=23x1+4x2=3

解1x=a\b

解2x=inv(a'a)a'b

x=x=1.001.0000.00

=

ax=b3.欠定方程組的解

當方程數(shù)少于未知量個數(shù)時,即不定情況,有無窮多個解存在。matlab可求出兩個解:用除法求的解x是具有最多零元素的解是具有最小長度或范數(shù)的解,這個解是基于偽逆pinv求得的。

x1+2x2+3x3=12x1+3x2+4x3=2a=[123;234];b=[1;2];x=a\bx=pinv(a)bx=x=1.000.8300.330-0.17=ax=b六、函數(shù)優(yōu)化尋優(yōu)函數(shù):fmin——單變量函數(shù)fmins——多變量函數(shù)constr——有約束條件無約束條件七、數(shù)據(jù)分析與插值函數(shù)max——各列最大值mean——各列平均值sum——各列求和std——各列標準差var——各列方差sort——各列遞增排序矩陣的函數(shù)>>helpmatfunMatrixfunctions-numericallinearalgebra.

Matrixanalysis.norm-Matrixorvectornorm.normest-Estimatethematrix2-norm.rank-Matrixrank.det-Determinant.trace-Sumofdiagonalelements.null-Nullspace.orth-Orthogonalization.rref-Reducedrowechelonform.subspace-Anglebetweentwosubspaces.

3.矩陣的函數(shù)

Linearequations.\and/-Linearequationsolution;use"helpslash".inv-Matrixinv

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論