第2章-數(shù)據(jù)及其運算_第1頁
第2章-數(shù)據(jù)及其運算_第2頁
第2章-數(shù)據(jù)及其運算_第3頁
第2章-數(shù)據(jù)及其運算_第4頁
第2章-數(shù)據(jù)及其運算_第5頁
已閱讀5頁,還剩41頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第2章MATLAB數(shù)據(jù)及其運算2.1MATLAB數(shù)據(jù)的特點2.2變量及其操作

2.3MATLAB矩陣的表示

2.4MATLAB數(shù)據(jù)的運算2.5字符串2.1MATLAB數(shù)據(jù)的特點矩陣:最基本、最重要的數(shù)據(jù)對象。

單個數(shù)據(jù):1行1列的矩陣;向量:1行或1列的矩陣;字符串:是用單撇號“`”括起來的字符序列。是以ASCII形式儲存的。2.2變量及其操作2.2.1變量與賦值變量:代表一個或多個內(nèi)存單元.

1.變量命名:以字母開頭,后接字母、數(shù)字或下劃線的字符序列,最多63個字符。如:ab12,a1b2_3c,ab_(合法)

1a,_a(不合法)

在MATLAB中,變量名區(qū)分字母的大小寫。如:myvar,Myvar,MYVAR表示不同的變量2.賦值語句

(1)變量=表達(dá)式a=3;

(2)表達(dá)式3+4;a+6

(表達(dá)式的值賦給預(yù)定義變量ans)

其中表達(dá)式是用運算符將有關(guān)運算量連接起來的式子,其結(jié)果是一個矩陣。例2.1計算表達(dá)式的值,并將結(jié)果賦給變量x,然后顯示計算結(jié)果。

在命令窗口輸入命令:

x=(5+cos(47*pi/180))/(1+sqrt(7)-2*i)

其中pi和i都是MATLAB預(yù)先定義的變量,分別代表代表圓周率π和虛數(shù)單位。

輸出結(jié)果是:

x=

1.1980+0.6572i3.預(yù)定義變量

在MATLAB工作空間中,還駐留幾個由系統(tǒng)本身定義的變量。例如,用pi表示圓周率π的近似值,用i,j表示虛數(shù)單位。

*預(yù)定義變量有特定的含義,在使用時,應(yīng)盡量避免對這些變量重新賦值。見表2.1(P18)2.2.3數(shù)據(jù)的輸出格式

在一般情況下,MATLAB內(nèi)部每一個數(shù)據(jù)元素都是用雙精度數(shù)來表示和存儲的。缺省的輸出格式是short格式:小數(shù)點后4位,最多不超過7位數(shù)字。

1)小于1000:

---日常計數(shù)法:123.4567

2)大于1000:46123.4567---科學(xué)計數(shù)法(5位有效數(shù)字):4.6123e+0041.78e4,6.7E2i2.3MATLAB矩陣的表示

2.3.1矩陣的建立

1.直接輸入法(元素個數(shù)少)

最簡單的建立矩陣的方法是從鍵盤直接輸入矩陣的元素。方法:將矩陣的元素用方括號括起來,按矩陣行的順序輸入各元素,同一行的各元素之間用空格或逗號分隔,不同行的元素之間用分號分隔。

A=[123;456;789]也可以用回車鍵代替分號A=[123456789]2.利用M文件建立矩陣

對于比較大且比較復(fù)雜的矩陣,可以為它專門建立一個M文件。下面通過一個簡單例子來說明如何利用M文件創(chuàng)建矩陣。例2.2利用M文件建立MYMAT矩陣(1)啟動有關(guān)編輯程序并輸入待建矩陣.

(2)把輸入的內(nèi)容以純文本方式存盤(設(shè)文件名為mymatrix.m)。

(3)在MATLAB命令窗口中輸入mymatrix,即運行該M文件,就會自動建立一個變量名為a的矩陣,可供以后使用。2.3.2冒號表達(dá)式(有規(guī)律的)1)冒號表達(dá)式可以產(chǎn)生一個行向量,一般格式是:e1:e2:e3

其中e1為初始值,e2為步長,e3為終止值。

x=0:1:5x=[0,1,2,3,4,5]

x=0:2:4x=[0,2,4]x=0:2:5x=?

如果省略e2,則步長為1.x=0:1:5=0:5;y=1:100

?剛才建立的矩陣MYMATRIX用向量如何表示?2)還可以用linspace函數(shù)產(chǎn)生行向量

其調(diào)用格式為:linspace(a,b,n)

其中a和b是生成向量的第一個和最后一個元素,n是元素總數(shù)。

y1=linspace(0,5,6)y1=[0,1,2,3,4,5]y2=linspace(0,5,7)y2=[0,0.8333,1.6667,2.5000,3.3333,4.1667,5.0000]2.3.3矩陣的拆分1.矩陣元素:可以對一個矩陣的單個元素進(jìn)行賦值和操作;方法:通過下標(biāo)引用矩陣的元素。

1)賦值:例如想將矩陣A的第3行第2列的賦值為200,則可表達(dá)為:A(3,2)=200

如果行下標(biāo)或列下標(biāo)大于原來矩陣的行數(shù)和列數(shù),則自動擴(kuò)展原來的矩陣。例如:A(4,5)=1002)引用:*按照下標(biāo)(行號和列號)引用:例如:b=A(1,1)*按照矩陣元素的序號引用,即按相應(yīng)元素在內(nèi)存中的排列順序。例如:c=A(3)2.矩陣拆分:利用冒號表達(dá)式獲得子矩陣

①A(i,:)表示A矩陣第i行的全部元素;

A(:,j)表示取A矩陣的第j列全部元素

如:A(1,:)A矩陣的第一行元素

A(:,1)A矩陣的第一列元素②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列中的所有元素。如:A(1:3,:)A矩陣的第1、2、3行元素

A(:,2:3)A矩陣的第2、3列元素?A(1:2,2:3)

還可利用一般向量和end運算符來表示矩陣下標(biāo),從而獲得子矩陣。end表示某一維的末尾元素下標(biāo)。如:A(end,:)%取A最后一行?取A最后一列取不連續(xù)的元素:如:取第一列和第三列的元素A(:,[1,3])

問:取A矩陣第2、4行和第3列的元素取A矩陣最末行和第2、3、4列的元素矩陣的拆分A(i,j)圓括號,行號和列號由(,)分開

1:3連續(xù)的行號/列號[1,3]不連續(xù)的行號/列號reshape(A,m,n)矩陣總元素不變,將矩陣A重新排列成m×n的矩陣。矩陣元素在MATLAB中按列存儲,即首先存儲第一列元素,然后再是第二列元素,…..一直到最后一列元素。b=[123456]reshape(b,3,2)ans=1543?c=1:12,reshape(c,2,6)26reshape(c,4,3)(2)利用空矩陣刪除矩陣的元素

在MATLAB中,定義[]為空矩陣。給變量X賦空矩陣的語句為X=[]。用途1:刪除A的第4列和第5列元素

A(:,[4,5])=[]

用途2:利用空矩陣建立大型矩陣:

B=[],然后在工作空間中輸入大型矩陣,保存所有變量:工作空間--保存--*.mat

保存1個或幾個變量:>>saveabcBC2.4MATLAB數(shù)據(jù)的運算算術(shù)運算:數(shù)學(xué)計算

關(guān)系運算:數(shù)值大小的比較邏輯運算:與、或、非2.4.1算術(shù)運算1.基本算術(shù)運算

MATLAB的基本算術(shù)運算有:

+-*/\^(加)(減)(乘)(右除)(左除)(乘方)

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

假定有兩個矩陣A和B

運算規(guī)則是:若A和B矩陣的維數(shù)相同,則可以執(zhí)行矩陣的加減運算,A和B矩陣的相應(yīng)元素相加減若A與B的維數(shù)不相同,則MATLAB將給出錯誤信息,提示用戶兩個矩陣的維數(shù)不匹配。如:A=[11;11],B=[22;22],C=[33;33;33]A+B=[33;33]A-B=[-1-1;-1-1]?A+C

一個標(biāo)量也可以和一個矩陣進(jìn)行加減運算。

如:a=[123;456]a1=a-1=[012;345]?a+10=(2)矩陣乘法

假定有兩個矩陣A和B,若A為m×n矩陣,

B為n×p矩陣,則C=A*B為m×p矩陣。

如:a=[123;456]2×3b=[10;10;10]3×2c=a*b=[60;150]2×2?d=b*a=?b*d=**矩陣的維數(shù)必須匹配**標(biāo)量也可以與矩陣相乘:

如:d=2*a=[246;81012](3)矩陣除法有兩種矩陣除法運算:\和/,分別表示左除和右除。------A(或B)矩陣是非奇異方陣

A\B=inv(A)*B(A的逆左乘B矩陣);A/B=A*inv(B)(B矩陣的逆右乘A矩陣)

對于矩陣來說,左除和右除表示兩種不同的除數(shù)矩陣和被除數(shù)矩陣的關(guān)系。對于矩陣運算,一般A\B≠B/A。對于含有標(biāo)量的運算,兩種除法運算的結(jié)果相同,如:3/4和4\3有相同的值,都等于0.75。(4)矩陣的乘方:

一個矩陣的乘方運算可以表示成A^x,要求A為方陣,x為標(biāo)量。如:A^2=A*A

?若A是2行3列矩陣,A^2=?

矩陣的開方:A^0.12.點運算點運算:運算符是在有關(guān)算術(shù)運算符前面加點。兩矩陣進(jìn)行點運算是指它們的對應(yīng)元素進(jìn)行相關(guān)運算,要求兩矩陣的維參數(shù)相同。點運算符有:.*(乘法)./.\和.^如:A=[12;34];B=[55;55];A.*B=[510;1520]矩陣乘法與點乘的區(qū)別A=[24;24],B=[22;41]A.*B=[48;84]A*B=[208;208]A./B=[12;0.54]A.\B=?是對應(yīng)元素計算。例當(dāng)x=0.1、0.4、0.7、1時,分別求y=sinxcosx的值。

x=0.1:0.3:1y=sin(x).*cos(x)?y=sin(x)*cos(x)X0.10.40.71sin(x)0.09980.38940.64420.8415

1*4

cos(x)0.99500.92110.76480.54031*43.MATLAB常用數(shù)學(xué)函數(shù)

MATLAB提供了許多數(shù)學(xué)函數(shù):函數(shù)的自變量規(guī)定為矩陣變量;運算法則是將函數(shù)逐項作用于矩陣的元素上;運算的結(jié)果是一個與自變量同維數(shù)的矩陣。常用數(shù)學(xué)函數(shù)(小寫)(p29表2.3)函數(shù)名功能sin正弦函數(shù)exp自然指數(shù)函數(shù)cos余弦函數(shù)abs絕對值函數(shù)tan正切函數(shù)rem求余數(shù)asin反正弦函數(shù)fix向零方向取整sqrt平方根函數(shù)floor不大于自變量的最大整數(shù)log自然對數(shù)函數(shù)ceil不小于自變量的最小整數(shù)log10常用對數(shù)函數(shù)round四舍五入到最近的整數(shù)函數(shù)使用說明:(1)三角函數(shù)以弧度為單位計算。

如:Sin30。=sin(30*pi/180)*(變量)(2)abs函數(shù)可以求實數(shù)的絕對值、復(fù)數(shù)的模、字符串的ASCII碼值。

如:x=abs(-4.5)x=4.5y=abs(3+4i)y=5z=abs(‘a(chǎn)’)z=97(3)用于取整的函數(shù)有fix、floor、ceil、round,要注意它們的區(qū)別。

fix:向零方向取整;

floor:小于或等于自變量的最大整數(shù);

ceil:大于或等于自變量的最小整數(shù);

round:四舍五入到最臨近的整數(shù)。

x=2.45(正數(shù))?x=-3.6y1=fix(x),y2=floor(x),y3=ceil(x),y4=round(x)2232

2.4.2關(guān)系運算

MATLAB提供了6種關(guān)系運算符:<(小于)、<=(小于或等于)、>(大于)、>=(大于或等于)、==(等于)、~=(不等于)。注意其書寫方法與數(shù)學(xué)中的不等式符號不盡相同。

關(guān)系運算符的運算法則為:

(1)當(dāng)兩個比較量是標(biāo)量時,直接比較兩數(shù)的大小。若關(guān)系成立,關(guān)系表達(dá)式結(jié)果為1,否則為0。

如:>>2+3==4ans=0

>>2+3==5?a=2+4==5ans=1ans=?(2)當(dāng)參與比較的量是兩個維數(shù)相同的矩陣時,比較是對兩矩陣相同位置的元素按標(biāo)量關(guān)系運算規(guī)則逐個進(jìn)行,并給出元素比較結(jié)果。最終的關(guān)系運算的結(jié)果是一個維數(shù)與原矩陣相同的矩陣,它的元素由0或1組成。如:m=[4,3],n=[1,5]m>=nans=[1,0]m<=nans=[0,1](3)當(dāng)參與比較的一個是標(biāo)量,而另一個是矩陣時,則把標(biāo)量與矩陣的每一個元素按標(biāo)量關(guān)系運算規(guī)則逐個比較,并給出元素比較結(jié)果。最終的關(guān)系運算的結(jié)果是一個維數(shù)與原矩陣相同的矩陣,它的元素由0或1組成。如:m=[4,7]m>=3ans=[1,1]m<=3ans=[0,0]

例2.3產(chǎn)生5階方陣A,然后判斷A的元素是否能被3整除??(見P31)

Z=[12345;678910;1112131415;1617181920;2122232425]P=rem(Z,3)==0

其中,rem(A,3)是矩陣A的每個元素除以3的余數(shù)矩陣。

P是進(jìn)行等于(==)比較的結(jié)果矩陣。2.4.3邏輯運算

3種邏輯運算符:&(與)、|(或)和~

(非)。

邏輯運算的運算法則為:

(1)在邏輯運算中,確認(rèn)非零元素為真,用1表示,零元素為假,用0表示。

(2)設(shè)參與邏輯運算的是兩個標(biāo)量a和b,那么,

a&b:a,b全為非零時,運算結(jié)果為1,否則為0。

a|b:a,b中只要有一個非零,運算結(jié)果為1。

~a:當(dāng)a是零時,運算結(jié)果為1;當(dāng)a非零時,運算結(jié)果為0。如:3&03|0~3ans=0ans=1ans=0(3)若參與邏輯運算的是兩個同維矩陣,那么運算將對矩陣相同位置上的元素按標(biāo)量規(guī)則逐個進(jìn)行。最終運算結(jié)果是一個與原矩陣同維的矩陣,其元素由1或0組成。

A&B;A|B;~A

如:A=40B=224422

>>A&B>>A|B

溫馨提示

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

最新文檔

評論

0/150

提交評論