第04章-MATLAB矩陣及其運算_第1頁
第04章-MATLAB矩陣及其運算_第2頁
第04章-MATLAB矩陣及其運算_第3頁
第04章-MATLAB矩陣及其運算_第4頁
第04章-MATLAB矩陣及其運算_第5頁
已閱讀5頁,還剩101頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第4章MATLAB矩陣及其運算4.1變量和數(shù)據(jù)操作

4.2MATLAB矩陣

4.3MATLAB運算

4.4矩陣分析

4.5矩陣的超越函數(shù)

4.6字符串

4.7結構數(shù)據(jù)和單元數(shù)據(jù)

4.8稀疏矩陣4.1變量和數(shù)據(jù)操作4.1.1變量與賦值

1.變量命名

在MATLAB中,變量名是以字母開頭,后接字母、數(shù)字或下劃線的字符序列,最多63個字符。在MATLAB中,變量名區(qū)分字母的大小寫。2.賦值語句

(1)變量=表達式

(2)表達式

其中表達式是用運算符將有關運算量連接起來的式子,其結果是一個矩陣?!纠?-1】計算表達式的值,并顯示結果。

在MATLAB命令窗口輸入命令:

>>x=1+2i;

>>y=3-sqrt(17);

>>z=(cos(abs(x+y))-sin(78*pi/180))/(x+abs(y))

z=

-0.3488+0.3286i

預定義變量:

pi:圓周率πi:虛數(shù)單位。1.內(nèi)存變量的刪除與修改工作空間(workspace)用于內(nèi)存變量管理。工作空間中可顯示所有內(nèi)存變量的屬性。選中某些變量后,再單擊Delete按鈕,就能刪除這些變量。選中變量單擊OpenSelection按鈕,進入變量編輯器??芍苯佑^察修改具體元素4.1.2內(nèi)存變量的管理clear命令刪除MATLAB工作空間中的變量。who命令只顯示出駐留變量的名稱whos在給出變量名的同時,還給出它們的大小、所占字節(jié)數(shù)及數(shù)據(jù)類型等信息。2.內(nèi)存變量文件MAT文件:

把當前工作空間中的一些有用變量長久地保留下來,擴展名是.mat。MAT文件的生成和裝入由save和load命令來完成。常用格式為:

save文件名[變量名表][-append][-ascii]

load文件名[變量名表][-ascii]文件名可帶路徑,不需帶擴展名.mat;變量名表中的變量個數(shù)不限,以空格分隔,當變量名表省略時,保存或裝入全部變量;-ascii:使文件以ASCII格式處理,省略該選項時文件將以二進制格式處理;-append:變量追加到MAT文件中。

MATLAB提供了許多數(shù)學函數(shù),函數(shù)的自變量規(guī)定為矩陣變量,運算法則是將函數(shù)逐項作用于矩陣的元素上,因而運算的結果是一個與自變量同維數(shù)的矩陣。

函數(shù)使用說明:

(1)三角函數(shù)以弧度為單位計算。

(2)abs函數(shù)可以求實數(shù)的絕對值、復數(shù)的模、字符串的ASCII碼值。4.1.3MATLAB常用數(shù)學函數(shù)(3)用于取整的函數(shù)有fix、floor、ceil、round,要注意它們的區(qū)別。fix:趨向于0取整。a=[-1.9,-0.2,3.4,5.6]a=-1.9000-0.20003.40005.6000fix(a)ans=-1.000003.00005.0000floor:向左取整。a=[-1.9,-0.2,3.4,5.6]a=-1.9000-0.20003.40005.6000floor(a)ans=-2.0000-1.00003.00005.0000ceil:向右取整。a=[-1.9,-0.2,3.4,5.6]a=-1.9000-0.20003.40005.6000ceil(a)ans=-1.000004.00006.0000round:四舍五入取整。a=[-1.9,-0.2,3.4,5.6]a=-1.9000-0.20003.40005.6000round(a)ans=-2.000003.00006.0000

(4)rem與mod函數(shù)的區(qū)別。rem(x,y)和mod(x,y)要求x,y必須為相同大小的實矩陣或為標量。x、y同號時作用相同。rem([1:5],3)ans=12012mod(magic(3),3)ans=210021102magic(3)ans=816357492-x和y:rem:0~sign(X)*abs(Y)之間的整數(shù)rem(23,-5)ans=3rem(-23,5)ans=-3mod(

)=rem(

)+Y>>mod(23,-5)ans=-2>>mod(-23,5)ans=24.1.4數(shù)據(jù)的輸出格式

以十進制數(shù)表示常數(shù),可用日常記數(shù)法和科學記數(shù)法兩種方法。

日常記數(shù)法:3.1416

科學記數(shù)法:3.1416e+00

一般情況下,每一數(shù)據(jù)元素用雙精度數(shù)來表示和存儲。

format命令:設置或改變數(shù)據(jù)輸出格式。 format格式符格式符最常用的是long和short。long:double為15位有效數(shù)字;single為8位short:double和single均為5位有效數(shù)字注意:

double和single是表示數(shù)值存儲的字節(jié)數(shù)(大?。ouble占8字節(jié),single占4字節(jié);可用single(a)將變量a用single存儲;

long和short是表示有效數(shù)字的多少(精度);系統(tǒng)缺省為:double+short;(8字節(jié)+5有效數(shù)字)

format不帶參數(shù)可以恢復為缺省的short。>>formatlong>>realmax('single')ans=3.4028235e+038>>realmax('double')ans=1.797693134862316e+308>>formatshort>>realmax('single')ans=3.4028e+038>>realmax('double')ans=1.7977e+3084.2MATLAB矩陣4.2.1矩陣的建立

1.直接輸入法 鍵盤直接輸入矩陣的元素。 所有元素用方括號括起來,按矩陣行的順序輸入各元素,行元素之間用空格或逗號分隔,行之間用分號分隔。>>a=[123;45678,9]a=123456789冒號表達式可以產(chǎn)生行向量,一般格式是:

1).A=i:j2).A=i:k:j其中i為初始值,k為步長,j為終止值。2.冒號表達式建立向量>>a=1:7a=1234567>>a=1:3:7a=1471).linspace(a,b):a~b之間100個均布元素

2).linspace(a,b,n)

a:startb:endn:元素總數(shù)。>>a=linspace(1,20,8)a=Columns1through51.00003.71436.42869.142911.8571Columns6through814.571417.285720.00003.用函數(shù)生成向量由方括號中已有小矩陣或向量建立起來。4.建立大矩陣>>a=1:3:7a=147>>b=[a;a*2;a-5]b=1472814-4-12>>c=[b,b-1;b+2,b]c=14703628141713-4-12-5-21369147410162814-214-4-125.利用M文件建立矩陣 對于比較大且比較復雜的矩陣,可以為它專門建立一個M文件。 下面通過一個簡單例子來說明如何利用M文件創(chuàng)建矩陣。例【4-2】利用M文件建立mymatrix矩陣。

(1)啟動編輯程序或M-fileEditor,并輸入待建矩陣;(2)把輸入的內(nèi)容以純文本(ASCII)方式存盤(設文件名為mymatrix.m);(3)在MATLAB命令窗口中輸入mymatrix,即運行該M文件,就會自動建立一個M文件中的矩陣。6.從外部數(shù)據(jù)文件調(diào)入矩陣

MATLAB中存儲的二進制文件單獨編輯的文本文件此方法建立或保存的矩陣大小沒有限制,還可以將其他應用程序生成的數(shù)據(jù)調(diào)入MATLAB使用。1).通用的特殊矩陣eye(m,n) m×n單位陣zeros(m,n) m×n全0陣ones(m,n) m×n全1陣rand(m,n) m×n0~1間均勻分布隨機陣randn: 標準正態(tài)分布隨機矩陣(均值為0,方差為1)7.用函數(shù)生成矩陣例【4-3】分別建立3×2和與矩陣A同樣大小的零矩陣。

(1)建立一個3×2零矩陣。

>>zeros(3,2)

(2)設A為2×3矩陣,則可以用zeros(size(A))建立一個與矩陣A同樣大小零矩陣。

>>A=[123;456];%產(chǎn)生一個2×3階矩陣A

>>zeros(size(A))%產(chǎn)生與A同樣維數(shù)的零矩陣例【4-4】建立隨機矩陣(1)在區(qū)間[20,50]內(nèi)均勻分布的5階隨機矩陣。

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

命令如下:

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

y=0.6+sqrt(0.1)*randn(5)2).用于專門學科的特殊矩陣魔方矩陣

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

>>M=100+magic(5)M=117124101108115123105107114116104106113120122110112119121103111118125102109范得蒙矩陣

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

矩陣元素H(i,j)=1/(i+j-1)。MATLAB中,有一個專門求希爾伯特矩陣的逆的函數(shù)invhilb(n),其功能是求n階的希爾伯特矩陣的逆矩陣,避免了一般方法求逆會因為原始數(shù)據(jù)的微小擾動而產(chǎn)生不可靠的計算結果。例【4-6】求4階希爾伯特矩陣及其逆矩陣。>>h=hilb(4)h=1.00000.50000.33330.25000.50000.33330.25000.20000.33330.25000.20000.16670.25000.20000.16670.1429>>invh=invhilb(4)invh=16-120240-140-1201200-27001680240-27006480-4200-1401680-42002800托普利茲矩陣(Toeplitz)

除第一行第一列外,其他每個元素都與左上角的元素相同。toeplitz(x,y):它生成一個以x為第一列,y為第一行的托普利茲矩陣。這里x,y均為向量,兩者不必等長。toeplitz(x)用向量x生成一個對稱的托普利茲矩陣。例如>>T1=toeplitz(1:4,1:7)T1=1234567212345632123454321234伴隨矩陣compan(p):其中p是一個多項式的系數(shù)向量,高次冪系數(shù)排在前,低次冪排在后。數(shù)學上,伴隨陣的特征值就是多項式的根。例【4-7】求多項式的x3-7x+6的伴隨矩陣.>>p=[1,0,-7,6]p=10-76>>compan(p)ans=07-6100010>>eig(a)ans=-3.00002.00001.0000帕斯卡矩陣

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

>>pascal(6)ans=1111

1

11234

5

61361015

2114102035

5615153570

126

162156126252

次對角線上的元素1,5,10,10,5,1即為展開式的系數(shù)。4.2.2矩陣的拆分1.矩陣元素通過下標引用矩陣的元素:例如A(3,2)=200

通過序號引用矩陣的元素:矩陣元素的序號就是相應元素在內(nèi)存中的排列順序。矩陣元素按列存儲,先第一列,再第二列,依次類推。例如

>>A=[1,2,3;4,5,6];

>>A(3)

ans=22.矩陣拆分利用冒號表達式獲得子矩陣

A(:,j):取A第j列全部元素;

A(i,:):取A第i行全部元素;

A(i,j):取A第i行、第j列的元素。

A(i:i+m,:):取A第i~i+m行的全部元素;

A(:,k:k+m):取A第k~k+m列的全部元素;

A(i:i+m,k:k+m):取A第i~i+m行內(nèi),并在第k~k+m列中的所有元素。(2)利用空矩陣刪除矩陣的元素

在MATLAB中,定義[]為空矩陣。給變量X賦空矩陣的語句為X=[]。注意,X=[]與clearX不同,clear是將X從工作空間中刪除,而空矩陣則存在于工作空間中,只是維數(shù)為0。4.3MATLAB運算4.3.1算術運算

1.基本算術運算

+、-、*、/(右除)、\(左除)、^

注意,運算是在矩陣意義下進行的,單個數(shù)據(jù)的算術運算只是一種特例。

(1)矩陣加減運算

假定有兩個矩陣A和B,則可以由A+B和A-B實現(xiàn)矩陣的加減運算。運算規(guī)則是:若A和B矩陣的維數(shù)相同,則可以執(zhí)行矩陣的加減運算,A和B矩陣的相應元素相加減。如果A與B的維數(shù)不相同,則MATLAB將給出錯誤信息,提示用戶兩個矩陣的維數(shù)不匹配。

(2)矩陣乘法

假定有兩個矩陣A和B,若A為m×n矩陣,B為n×p矩陣,則C=A*B為m×p矩陣。

(3)矩陣除法

兩種矩陣除法運算:\和/,分別表示左除和右除。如果A矩陣是非奇異方陣,則A\B和B/A運算可以實現(xiàn)。A\B=inv(A)*BB/A=B*inv(A)

標量的兩種除法運算結果相同,如3/4和4\3有相同的值,都等于0.75。又如,設a=[10.5,25],則a/5=5\a=[2.10005.0000]。對于矩陣來說,左除和右除表示兩種不同的除數(shù)矩陣和被除數(shù)矩陣的關系。一般A\B≠B/A。

(4)矩陣的乘方

A^x,要求A為方陣,x為標量。

2.點運算

在有關算術運算符前面加點,所以叫點運算。點運算符有.*、./、.\和.^。點運算是指它們的對應元素進行相關運算,要求兩矩陣的維數(shù)相同。4.3.2關系運算

MATLAB提供了6種關系運算符:<(小于)、<=(小于或等于)、>(大于)、>=(大于或等于)、==(等于)、~=(不等于)。它們的含義不難理解,但要注意其書寫方法與數(shù)學中的不等式符號不盡相同。關系運算符的運算法則為:

(1)當兩個比較量是標量時,直接比較兩數(shù)的大小。若關系成立,關系表達式結果為1,否則為0。

(2)當參與比較的量是兩個維數(shù)相同的矩陣時,比較是對兩矩陣相同位置的元素按標量關系運算規(guī)則逐個進行,給出元素比較結果是一個維數(shù)與原矩陣相同的矩陣,它的元素由0或1組成。(3)當參與比較的一個是標量,而另一個是矩陣時,則把標量與矩陣的每一個元素按標量關系運算規(guī)則逐個比較,給出元素比較結果是一個維數(shù)與原矩陣相同的矩陣,它的元素由0或1組成。例【4-8】產(chǎn)生3階隨機方陣A,元素為[10,90]區(qū)間的隨機整數(shù),然后判斷A的元素是否能被3整除。>>A=fix((90-10+1)*rand(3)+10)A=475277432611786465>>P=rem(A,3)==0P=0000001004.3.3邏輯運算3種邏輯運算符:&(與)、|(或)和~(非)。運算法則為:

(1)在邏輯運算中,非零元素為真,用1表示,零元素為假,用0表示。(2)設參與邏輯運算的是兩個標量a和b,a&b

a,b全為非零時,結果為1,否則為0。

a|b

a,b中只要有一個非零,運算結果為1。

~aa為零,結果為1;a非零,運算0(取反)。(3)若參與邏輯運算的是兩個同維矩陣,那么運算將對矩陣相同位置上的元素按標量規(guī)則逐個進行。最終運算結果是一個與原矩陣同維的矩陣,其元素由1或0組成。(4)若參與邏輯運算的一個是標量,一個是矩陣,那么運算將在標量與矩陣中的每個元素之間按標量規(guī)則逐個進行。最終運算結果是一個與矩陣同維的矩陣,其元素由1或0組成。(5)邏輯非~是單目運算符,也服從矩陣運算規(guī)則。(6)在算術、關系、邏輯運算中,算術運算優(yōu)先級最高,邏輯運算優(yōu)先級最低。算術運算關系運算邏輯運算高低例【4-9】建立矩陣A,然后找出大于4的元素的位置。

>>A=[4,-65,-54,0,6;56,0,67,-45,0]A=4-65-540656067-450>>find(A>4)ans=2694.4矩陣分析4.4.1對角陣與三角陣

1.對角陣

對角矩陣:只有對角線上有非0元素的矩陣;數(shù)量矩陣:對角線上元素相等的對角矩陣;單位矩陣:對角線上元素都為1的對角矩陣。提取矩陣的對角線元素

diag(A):提取矩陣A主對角線元素,產(chǎn)生一個具有min(m,n)個元素的列向量。

diag(A,k):提取第k條對角線的元素。A為矩陣。>>A=[4,-65,-54,0,6;56,0,67,-45,0]A=4-65-540656067-450>>diag(A)ans=40>>diag(A,2)ans=-54-45>>diag(A,0)ans=40(2)構造對角矩陣

diag(V):產(chǎn)生一個m×m對角矩陣,主對角線元素即為V的元素。

diag(V,k):產(chǎn)生一個n×n(n=m+k)對角陣,第k條對角線的元素為V的元素。V為具有m個元素的向量。>>v=[2,7]v=27>>diag(v)ans=2007>>diag(v,2)ans=0020000700000000例【4-10】先建立4×4矩陣A,然后將A的第一行元素乘1,第二行乘2,…,第四行乘4。>>A=[17,0,1,0;5,7,14,16;4,0,13,0;10,12,21,3]A=17010571416401301012213>>B=diag(1:4)B=1000020000300004>>D=B*AD=170101014283212039040488412>>C=A*BC=17030514426440390102463122.三角陣

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

triu(A):求矩陣A的上三角陣;triu(A,k):求矩陣A的第k條對角線以上的元素。(2)下三角矩陣

tril(A)。tril(A,k)用法與triu(A)和triu(A,k)相同。>>A=[17,0,1;5,7,14;4,0,13;10,12,3]A=17015714401310123>>triu(A)ans=170107140013000>>triu(A,1)ans=00100140000004.4.2矩陣的轉置與旋轉

1.矩陣的轉置

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

2.矩陣的旋轉

利用函數(shù)rot90(A,k)將矩陣A逆時針旋轉90o的k倍,當k為1時可省略。>>A=[17,0,1;5,7,14;4,0,13;10,12,3]A=17015714401310123>>A'ans=17541007012114133>>rot90(A)ans=114133070121754103.矩陣的左右翻轉

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

4.矩陣的上下翻轉

flipud(A):對矩陣A實施上下翻轉。>>A=[17,0,1;5,7,14;4,0,13;10,12,3]A=17015714401310123>>fliplr(A)ans=10171475130431210>>flipud(A)ans=101234013571417014.4.3矩陣的逆與偽逆

1.矩陣的逆

對于一個方陣A,A·B=B·A=I(I為單位矩陣)

則稱B為A的逆矩陣,A也是B的逆矩陣。inv(A):求矩陣的逆陣可用于線性方程組求解。>>A=[17,0,1;5,7,14;4,0,13]A=170157144013>>inv(A)ans=0.05990-0.0046-0.00590.1429-0.1534-0.018400.07832.矩陣的偽逆

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

A·B·A=A

B·A·B=B

此時稱矩陣B為矩陣A的偽逆,也稱為廣義逆矩陣。pinv(A):求一個矩陣偽逆的函數(shù)是。>>A=[17,0,1;5,7,14;4,0,13]A=170157144013>>B=pinv(A)B=0.05990.0000-0.0046-0.00590.1429-0.1534-0.01840.00000.0783>>A*B*Aans=17.00000.00001.00005.00007.000014.00004.00000.000013.00004.4.4方陣的行列式

把一個方陣看作一個行列式,并對其按行列式的規(guī)則求值,這個值就稱為矩陣所對應的行列式的值。det(A):求方陣A所對應的行列式的值。>>A=[17,0,1;5,7,14;4,0,13]A=170157144013>>det(A)ans=15194.4.5矩陣的特征值與特征向量

計算矩陣A的特征值和特征向量的函數(shù)是eig(A),常用的調(diào)用格式有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的特征值和特征向量。例4-12用求特征值的方法解方程。

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的零點>>p=[3,-7,0,5,2,-18];>>A=compan(p);>>x1=eig(A)x1=2.18371.0000+1.0000i1.0000-1.0000i-0.9252+0.7197i-0.9252-0.7197i>>x2=roots(p)x2=2.18371.0000+1.0000i1.0000-1.0000i-0.9252+0.7197i-0.9252-0.7197i4.5矩陣的超越函數(shù)1.矩陣平方根sqrtm

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

2.矩陣對數(shù)logm

logm(A):計算矩陣A的自然對數(shù)。3.矩陣指數(shù)

expm(A):求矩陣指數(shù)eA。

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

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

4.6字符串單引號括起來的字符序列。

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

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

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

(3)統(tǒng)計字符串中小寫字母的個數(shù)。(4)將字符串中的小寫字母變成相應的大寫字母,其余字符不變。

命令如下:

ch=‘MatLabR14’;

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

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

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

char(ch)

length(k) %統(tǒng)計小寫字母的個數(shù)ch(k)=ch(k)-(‘a(chǎn)’-‘A’);%將小寫字母轉換為相應的大寫字母

>>ch='MatLabR14'ch=MatLabR14>>subch=ch(1:5)subch=MatLa>>revch=ch(end:-1:1)revch=41RbaLtaM>>k=find(ch>='a'&ch<='z')k=2356>>length(k)ans=4>>char(ch)ans=MatLabR14>>ch(k)=ch(k)-('a'-'A')ch=MATLABR14eval(t):>>magic_str=['M',int2str(3),'=magic(3)']magic_str=M3=magic(3)>>eval(magic_str)M3=816357492它的作用是把字符串的內(nèi)容作為對應的MATLAB語句來執(zhí)行。其中t為字符串。>>A=magic(4);>>A(:,:,2)=A';>>AA(:,:,1)=16231351110897612414151A(:,:,2)=16594211714310615138121>>[d1,d2,d3]=eval('size(A)')d1=4d2=4d3=2命令文件:test.ma=[1,2,3;4,5,6;7,8,9];p=input(‘inputafunandpara:','s');eval(p);執(zhí)行:>>testinputafunandpara:a*aans=303642668196102126150>>testinputafunandpara:a'ans=147258369計算“表達式”串,產(chǎn)生向量值。>>t=pi;>>cem='[t/2,t*2,sin(t)]';>>y=eval(cem)

y=1.57086.28320.0000計算“語句”串,創(chuàng)建變量。>>t=pi;>>eval('theta=t/2,y=sin(theta)');>>who

theta=1.5708y=1Yourvariablesare:tthetay計算“替代”串。>>A=ones(2,1);>>B=ones(1,3);>>c=eval('B*A','A*B')>>errmessage=lasterr

c=111111errmessage=Errorusing==>*Innermatrixdimensionsmustagree.4.7稀疏矩陣4.7.1矩陣存儲方式

MATLAB的矩陣有兩種存儲方式:完全存儲方式和稀疏存儲方式。

1.完全存儲方式

完全存儲方式是將矩陣的全部元素按列存儲。以前講到的矩陣的存儲方式都是按這個方式存儲的,此存儲方式對稀疏矩陣也適用。2.稀疏存儲方式

僅存儲矩陣所有的非零元素的值及其位置,即行號和列號。在MATLAB中,稀疏存儲方式也按列存儲。

注意,在講稀疏矩陣時,有兩個不同的概念,指矩陣的0元素較多,該矩陣是一個具有稀疏特征的矩陣,指采用稀疏方式存儲的矩陣。4.7.2稀疏存儲方式的產(chǎn)生1.將完全存儲

溫馨提示

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

評論

0/150

提交評論