數(shù)據(jù)及其運(yùn)算_第1頁
數(shù)據(jù)及其運(yùn)算_第2頁
數(shù)據(jù)及其運(yùn)算_第3頁
數(shù)據(jù)及其運(yùn)算_第4頁
數(shù)據(jù)及其運(yùn)算_第5頁
已閱讀5頁,還剩48頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

數(shù)據(jù)及其運(yùn)算2、2變量及其操作2、2、1變量與賦值1、變量命名在MATLAB7、0中,變量名就是以字母開頭,后接字母、數(shù)字或下劃線得字符序列,最多63個(gè)字符。在MATLAB中,變量名區(qū)分字母得大小寫。2、賦值語句表達(dá)式就是用運(yùn)算符將有關(guān)運(yùn)算量連接起來得式子,其結(jié)果就是一個(gè)矩陣。(1)變量=表達(dá)式MATLAB將右邊表達(dá)式得值賦給左邊得變量(2)表達(dá)式MATLAB將表達(dá)式得值賦給預(yù)定義變量ans在MATLAB命令窗口輸入命令:x=(5+cos(47*pi/180))/(1+sqrt(7)-2*i)其中pi和i都就是MATLAB預(yù)先定義得變量,分別代表代表圓周率π和虛數(shù)單位。例2.1計(jì)算表達(dá)式的值。一般得,如果想顯示運(yùn)算結(jié)果,則在命令后面加;注釋以%開頭

3、預(yù)定義變量在MATLAB工作空間中,還駐留幾個(gè)由系統(tǒng)本身定義得變量。例如,用pi表示圓周率π得近似值;用i,j表示虛數(shù)單位。預(yù)定義變量有特定得含義,在使用時(shí),應(yīng)盡量避免對(duì)這些變量重新賦值。見教材P18表2、12、2、2變量得管理

1、內(nèi)存變量得顯示與刪除who和whos這兩個(gè)命令用于顯示在MATLAB工作空間中已經(jīng)駐留得變量名清單。who命令只顯示出駐留變量得名稱;whos在給出變量名得同時(shí),還給出她們得大小、所占字節(jié)數(shù)及數(shù)據(jù)類型等信息。clear命令用于刪除MATLAB工作空間中得變量。MATLAB工作空間窗口專門用于內(nèi)存變量得管理。在工作空間窗口中可以顯示所有內(nèi)存變量得屬性。當(dāng)選中某些變量后,再單擊Delete按鈕,就能刪除這些變量。當(dāng)選中某些變量后,再單擊OpenSelection按鈕,將進(jìn)入變量編輯器。通過變量編輯器可以直接觀察變量中得具體元素,也可修改變量中得具體元素。2、內(nèi)存變量文件利用MAT文件可以把當(dāng)前MATLAB工作空間中得一些有用變量長久地保留下來,擴(kuò)展名就是、mat。MAT文件得生成和裝入由save和load命令來完成。常用格式為:save文件名[變量名表][-append][-ascii]load文件名[變量名表][-ascii]10大家應(yīng)該也有點(diǎn)累了,稍作休息大家有疑問的,可以詢問和交流save文件名[變量名表][-append][-ascii]load文件名[變量名表][-ascii]其中,文件名可以帶路徑,但不需帶擴(kuò)展名、mat,命令隱含一定對(duì)、mat文件進(jìn)行操作。變量名表中得變量個(gè)數(shù)不限,只要內(nèi)存或文件中存在即可,變量名之間以空格分隔。當(dāng)變量名表省略時(shí),保存或裝入全部變量。-ascii選項(xiàng)使文件以ASCII格式處理,省略該選項(xiàng)時(shí)文件將以二進(jìn)制格式處理。save命令中得-append選項(xiàng)控制將變量追加到MAT文件中。還可以用FILE菜單中得SaveWorkspaceAs命令存放工作空間得全部變量。也可以通過FILE菜單中得ImportDate命令可以將保存在MAT文件中得全部變量裝入到MATLAB工作空間中。2、2、3數(shù)據(jù)得輸出格式MATLAB用十進(jìn)制數(shù)表示一個(gè)常數(shù),具體可采用日常記數(shù)法和科學(xué)記數(shù)法兩種表示方法。在一般情況下,MATLAB內(nèi)部每一個(gè)數(shù)據(jù)元素都就是用雙精度數(shù)來表示和存儲(chǔ)得。數(shù)據(jù)輸出時(shí)用戶可以用format命令設(shè)置或改變數(shù)據(jù)輸出格式。format命令得格式為:format格式符其中格式符決定數(shù)據(jù)得輸出格式見P21表2、22、3MATLAB矩陣得表示2、3、1矩陣得建立1、直接輸入法最簡(jiǎn)單得建立矩陣得方法就是從鍵盤直接輸入矩陣得元素。具體方法如下:將矩陣得元素用方括號(hào)括起來,按矩陣行得順序輸入各元素,同一行得各元素之間用空格或逗號(hào)分隔,不同行得元素之間用分號(hào)分隔。可以建立復(fù)數(shù)矩陣a=exp(2);B=[1,2+i*a,a*sqrt(a);sin(pi/4),a/5,3、5+6i]2、利用M文件建立矩陣對(duì)于比較大且比較復(fù)雜得矩陣,可以為她專門建立一個(gè)M文件。下面通過一個(gè)簡(jiǎn)單例子來說明如何利用M文件創(chuàng)建矩陣。例2、2利用M文件建立MYMAT矩陣。啟動(dòng)有關(guān)編輯程序或MATLAB文本編輯器,并輸入待建矩陣:M=[101,102,103,104,105,106,107,108,109;201,202,203,204,205,206,207,208,209;301,302,303,304,305,306,307,308,309](2)把輸入得內(nèi)容以純文本方式存盤(設(shè)文件名為mymatrix、m)。(3)在MATLAB命令窗口中輸入mymatrix,即運(yùn)行該M文件,就會(huì)自動(dòng)建立一個(gè)名為MYMAT得矩陣,可供以后使用。3、建立大矩陣大矩陣可由方括號(hào)中得小矩陣或向量建立起來。例如A=[123;456;789];C=[A,eye(size(A));ones(size(A)),A]2、3、2冒號(hào)表達(dá)式冒號(hào)表達(dá)式可以產(chǎn)生一個(gè)行向量,一般格式就是:e1:e2:e3其中e1為初始值,e2為步長,e3為終止值。在MATLAB中,還可以用linspace函數(shù)產(chǎn)生行向量。其調(diào)用格式為:linspace(a,b,n)其中a和b就是生成向量得第一個(gè)和最后一個(gè)元素,n就是元素總數(shù)。顯然,linspace(a,b,n)與a:(b-a)/(n-1):b等價(jià)。2、3、3矩陣得拆分1、矩陣元素

通過下標(biāo)引用矩陣得元素、例如A(3,2)=200采用矩陣元素得序號(hào)來引用矩陣元素。矩陣元素得序號(hào)就就是相應(yīng)元素在內(nèi)存中得排列順序。在MATLAB中,矩陣元素按列存儲(chǔ),先第一列,再第二列,依次類推。例如A=[1,2,3;4,5,6];

A(3)ans=

2顯然,序號(hào)(Index)與下標(biāo)(Subscript)就是一一對(duì)應(yīng)得,以m×n矩陣A為例,矩陣元素A(i,j)得序號(hào)為(j-1)*m+i。其相互轉(zhuǎn)換關(guān)系也可利用sub2ind和ind2sub函數(shù)求得。sub2ind(size(A),1,2)%求矩陣A中下標(biāo)為(1,2)得元素得序號(hào)[i,j]=ind2sub(size(A),3)%求矩陣A中序號(hào)為3得元素得下標(biāo)size(A)%計(jì)算矩陣A得行數(shù)和列數(shù)length(A)%給出矩陣A中行數(shù)和列數(shù)較大者ndim(A)%給出矩陣A得維數(shù)reshape(A,m,n)%將矩陣A變?yōu)閙*n得二維矩陣2、矩陣拆分利用冒號(hào)表達(dá)式獲得子矩陣

①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列中得所有元素。③A(:)將矩陣A每一列元素堆疊起來,成為一個(gè)列向量,而這也就是MATLAB變量得內(nèi)部?jī)?chǔ)存方式。A=[1,2,3,4,5;6,7,8,9,10;11,12,13,14,15;16,17,18,19,20]此外,還可利用一般向量和end運(yùn)算符來表示矩陣下標(biāo),從而獲得子矩陣。end表示某一維得末尾元素下標(biāo)。A(end,:)A([14],3:end)(2)利用空矩陣刪除矩陣得元素在MATLAB中,定義[]為空矩陣。給變量X賦空矩陣得語句為X=[]。注意,X=[]與clearX不同,clear就是將X從工作空間中刪除,而空矩陣則存在于工作空間中,只就是維數(shù)為0。A(:,[24])=[]2、4MATLAB數(shù)據(jù)得運(yùn)算

2、4、1算術(shù)運(yùn)算1、基本算術(shù)運(yùn)算MATLAB得基本算術(shù)運(yùn)算有:+(加)、-(減)、*(乘)、/(右除)、\(左除)、^(乘方)。注意,運(yùn)算就是在矩陣意義下進(jìn)行得,單個(gè)數(shù)據(jù)得算術(shù)運(yùn)算只就是一種特例。(1)矩陣加減運(yùn)算

假定有兩個(gè)矩陣A和B,則可以由A+B和A-B實(shí)現(xiàn)矩陣得加減運(yùn)算。運(yùn)算規(guī)則就是:若A和B矩陣得維數(shù)相同,則可以執(zhí)行矩陣得加減運(yùn)算,A和B矩陣得相應(yīng)元素相加減。如果A與B得維數(shù)不相同,則MATLAB將給出錯(cuò)誤信息,提示用戶兩個(gè)矩陣得維數(shù)不匹配。一個(gè)標(biāo)量也可以和其她不同維數(shù)得矩陣進(jìn)行加減運(yùn)算。(2)矩陣乘法假定有兩個(gè)矩陣A和B,若A為m×n矩陣,B為n×p矩陣,則C=A*B為m×p矩陣。矩陣也可以和標(biāo)量相乘(3)矩陣除法在MATLAB中,有兩種矩陣除法運(yùn)算:\和/,分別表示左除和右除。如果A矩陣就是非奇異方陣,則A\B和B/A運(yùn)算可以實(shí)現(xiàn)。A\B等效于A得逆左乘B矩陣,也就就是inv(A)*BB/A等效于A矩陣得逆右乘B矩陣,也就就是B*inv(A)a=[1,2,3;4,2,6;7,4,9];b=[4,3,2;7,5,1;12,7,92];對(duì)于含有標(biāo)量得運(yùn)算,兩種除法運(yùn)算得結(jié)果相同。如3/4和4\3有相同得值,都等于0、75。又如,設(shè)a=[10、5,25],則a/5=5\a=[2、10005、0000]。對(duì)于矩陣來說,左除和右除表示兩種不同得除數(shù)矩陣和被除數(shù)矩陣得關(guān)系。對(duì)于矩陣運(yùn)算,一般A\B≠B/A。(4)矩陣得乘方一個(gè)矩陣得乘方運(yùn)算可以表示成A^x,要求A為方陣,x為標(biāo)量。

A=[1,2,3;4,5,6;7,8,9]A^3相當(dāng)于A*A*A2、點(diǎn)運(yùn)算

在MATLAB中,有一種特殊得運(yùn)算,因?yàn)槠溥\(yùn)算符就是在有關(guān)算術(shù)運(yùn)算符前面加點(diǎn),所以叫點(diǎn)運(yùn)算。點(diǎn)運(yùn)算符有、*、、/、、\和、^。兩矩陣進(jìn)行點(diǎn)運(yùn)算就是指她們得對(duì)應(yīng)元素進(jìn)行相關(guān)運(yùn)算,要求兩矩陣得維參數(shù)相同。a=[1,2,3;4,5,6;7,4,9];b=[-1,0,1;1,-1,0;0,1,1];c=a、*bx=[1,2,3;4,5,6];y=[-2,1,3;-1,1,4];c=x、/yd=x、\yx=[1,2,3];y=[4,5,6];c=x、^yd=y、^xa=x、^2b=2、^x3、MATLAB常用數(shù)學(xué)函數(shù)Matlab提供許多數(shù)學(xué)函數(shù),見P29表2、3函數(shù)使用說明:三角函數(shù)以弧度為單位計(jì)算。abs函數(shù)可以求實(shí)數(shù)得絕對(duì)值、復(fù)數(shù)得模、字符串得ASCII碼值。實(shí)數(shù)>>abs(-5)結(jié)果為5復(fù)數(shù)>>abs(1+i)結(jié)果為1、414字符串>>abs('AB')結(jié)果為6566(3)用于取整得函數(shù)有fix、floor、ceil、round,要注意她們得區(qū)別。設(shè)x=2、45fix(x)floor(x)ceil(x)round(x)2232設(shè)y=-2、65fix(y)floor(y)ceil(y)round(y)-2-3-2-3(4)rem與mod函數(shù)得區(qū)別。rem(x,y)和mod(x,y)要求x,y必須為相同大小得實(shí)矩陣或?yàn)闃?biāo)量。當(dāng)y≠0時(shí)當(dāng)y=0時(shí),rem(x,0)=NaNmod(x,0)=x當(dāng)x,y同號(hào)時(shí),rem(x,y)=mod(x,y)當(dāng)x,y異號(hào)時(shí),rem(x,y)與x同號(hào)mod(x,y)與y同號(hào)如:rem(7,3),mod(7,3)rem(-7,3),mod(-7,3)注意其書寫方法與數(shù)學(xué)中得不等式符號(hào)不盡相同。關(guān)系運(yùn)算符該運(yùn)算符得功能關(guān)系運(yùn)算符該運(yùn)算符得功能<

小于>=大于等于>

大于==等于<=小于等于~=約等于2、4、2關(guān)系運(yùn)算MATLAB提供了6種關(guān)系運(yùn)算符:關(guān)系運(yùn)算符得運(yùn)算法則為:(1)當(dāng)兩個(gè)比較量就是標(biāo)量時(shí),直接比較兩數(shù)得大小。若關(guān)系成立,關(guān)系表達(dá)式結(jié)果為1,否則為0。>>5>3結(jié)果為1(2)當(dāng)參與比較得量就是兩個(gè)維數(shù)相同得矩陣時(shí),比較就是對(duì)兩矩陣相同位置得元素按標(biāo)量關(guān)系運(yùn)算規(guī)則逐個(gè)進(jìn)行,并給出元素比較結(jié)果。最終得關(guān)系運(yùn)算得結(jié)果就是一個(gè)維數(shù)與原矩陣相同得矩陣,她得元素由0或1組成。>>a=[1,-5,7,4];b=[-1,6,7,2];>>c=a>bc=1001>>d=a==bd=0010(3)當(dāng)參與比較得一個(gè)就是標(biāo)量,而另一個(gè)就是矩陣時(shí),則把標(biāo)量與矩陣得每一個(gè)元素按標(biāo)量關(guān)系運(yùn)算規(guī)則逐個(gè)比較,并給出元素比較結(jié)果。最終得關(guān)系運(yùn)算得結(jié)果就是一個(gè)維數(shù)與原矩陣相同得矩陣,她得元素由0或1組成。>>A=[1,2,3;4,5,6;7,8,9];>>A==5ans=000010000例2、3建立5階方陣A,判斷A得元素就是否能被3整除。>>A=[24,35,13,22,63;23,39,47,80,80;、、、90,41,80,29,10;45,57,85,62,21;37,19,31,88,76]>>P=rem(A,3)==0

A=24351322632339478080904180291045578562213719318876P=10001010001000011001000002、4、3邏輯運(yùn)算MATLAB提供了3種邏輯運(yùn)算符:邏輯操作符功

能&與|或~非邏輯運(yùn)算得運(yùn)算法則為:(1)在邏輯運(yùn)算中,確認(rèn)非零元素為真,用1表示,零元素為假,用0表示。

(2)設(shè)參與邏輯運(yùn)算得就是兩個(gè)標(biāo)量a和b,那么,

a&ba,b全為非零時(shí),運(yùn)算結(jié)果為1,否則為0。

a|ba,b中只要有一個(gè)非零,運(yùn)算結(jié)果為1。

~a當(dāng)a就是零時(shí),運(yùn)算結(jié)果為1;當(dāng)a非零時(shí),運(yùn)算結(jié)果為0。(3)若參與邏輯運(yùn)算得就是兩個(gè)同維矩陣,那么運(yùn)算將對(duì)矩陣相同位置上得元素按標(biāo)量規(guī)則逐個(gè)進(jìn)行。最終運(yùn)算結(jié)果就是一個(gè)與原矩陣同維得矩陣,其元素由1或0組成。(4)若參與邏輯運(yùn)算得一個(gè)就是標(biāo)量,一個(gè)就是矩陣,那么運(yùn)算將在標(biāo)量與矩陣中得每個(gè)元素之間按標(biāo)量規(guī)則逐個(gè)進(jìn)行。最終運(yùn)算結(jié)果就是一個(gè)與矩陣同維得矩陣,其元素由1或0組成。(5)邏輯非就是單目運(yùn)算符,也服從矩陣運(yùn)算規(guī)則。

(6)在算術(shù)、關(guān)系、邏輯運(yùn)算中,算術(shù)運(yùn)算優(yōu)先級(jí)最高,邏輯運(yùn)算優(yōu)先級(jí)最低。各種運(yùn)算符得優(yōu)先級(jí)

優(yōu)先級(jí)運(yùn)

符最高()(小括號(hào))↓、’(轉(zhuǎn)置)‘(共軛轉(zhuǎn)置)

、^(數(shù)組和數(shù)值乘方)^(矩陣乘方)↓+(一元加法)-(一元減法)~(取反)↓、*(乘法)*(矩陣乘法)、/(右除)

/(矩陣右除)、\(左除)\(矩陣左除)↓+(加法)-(減法)↓:(冒號(hào))↓<(小于)<=(小于或等于)>(大于)

>=(大于或等于)

==(等于)~=(不等于)↓&(邏輯與)最低|(邏輯或)>>A=linspace(1,10,10)A=12345678910>>B=linspace(10,1,10)B=10987654321>>L1=A>4&B<7L1=0000111111>>L3=A>5|B>5L3=1111111111>>L4=~(A>6)L4=1111110000>>L5=~A>6L5=0000000000例2、4在[0,3π]區(qū)間,求y=sin(x)得值。要求:(1)消去負(fù)半波,即(π,2π)區(qū)間內(nèi)得函數(shù)值置0。(2)(π/3,2π/3)和(7π/3,8π/3)區(qū)間內(nèi)取值均為sinπ/3。方法1:從自變量著手進(jìn)行處理x=0:pi/100:3*pi;y=sin(x);y1=(x<pi|x>2*pi)、*y;q=(x>pi/3&x<2*pi/3)|(x>7*pi/3&x<8*pi/3);qn=~q;y2=q*sin(pi/3)+qn、*y1;方法2:從函數(shù)值著手進(jìn)行處理x=0:pi/100:3*pi;y=sin(x);y1=(y>=0)、*y;p=sin(pi/3);y2=(y>=p)*p+(y<p)、*y1;此外,MATLAB還提供了一些關(guān)系與邏輯運(yùn)算函數(shù)。將P32表2、4例2、5建立矩陣A,然后找出在[10,20]區(qū)間得元素得位置。(1)建立矩陣A。A=[4,15,-45,10,6;56,0,17,-45,0](2)找出大于4得元素得位置。find(A>=10&A<=20)>>s=[2,1,0

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論