版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
數(shù)據(jù)及其運算詳解演示文稿當(dāng)前第1頁\共有54頁\編于星期五\0點優(yōu)選數(shù)據(jù)及其運算當(dāng)前第2頁\共有54頁\編于星期五\0點2.2變量及其操作2.2.1變量與賦值1.變量命名在MATLAB7.0中,變量名是以字母開頭,后接字母、數(shù)字或下劃線的字符序列,最多63個字符。在MATLAB中,變量名區(qū)分字母的大小寫。當(dāng)前第3頁\共有54頁\編于星期五\0點2.賦值語句表達式是用運算符將有關(guān)運算量連接起來的式子,其結(jié)果是一個矩陣。(1)變量=表達式MATLAB將右邊表達式的值賦給左邊的變量(2)表達式MATLAB將表達式的值賦給預(yù)定義變量ans當(dāng)前第4頁\共有54頁\編于星期五\0點在MATLAB命令窗口輸入命令:x=(5+cos(47*pi/180))/(1+sqrt(7)-2*i)其中pi和i都是MATLAB預(yù)先定義的變量,分別代表代表圓周率π和虛數(shù)單位。例2.1計算表達式的值。當(dāng)前第5頁\共有54頁\編于星期五\0點一般的,如果想顯示運算結(jié)果,則在命令后面加;注釋以%開頭當(dāng)前第6頁\共有54頁\編于星期五\0點
3.預(yù)定義變量在MATLAB工作空間中,還駐留幾個由系統(tǒng)本身定義的變量。例如,用pi表示圓周率π的近似值;用i,j表示虛數(shù)單位。預(yù)定義變量有特定的含義,在使用時,應(yīng)盡量避免對這些變量重新賦值。見教材P18表2.1當(dāng)前第7頁\共有54頁\編于星期五\0點2.2.2變量的管理
1.內(nèi)存變量的顯示與刪除who和whos這兩個命令用于顯示在MATLAB工作空間中已經(jīng)駐留的變量名清單。who命令只顯示出駐留變量的名稱;whos在給出變量名的同時,還給出它們的大小、所占字節(jié)數(shù)及數(shù)據(jù)類型等信息。當(dāng)前第8頁\共有54頁\編于星期五\0點clear命令用于刪除MATLAB工作空間中的變量。MATLAB工作空間窗口專門用于內(nèi)存變量的管理。在工作空間窗口中可以顯示所有內(nèi)存變量的屬性。當(dāng)選中某些變量后,再單擊Delete按鈕,就能刪除這些變量。當(dāng)選中某些變量后,再單擊OpenSelection按鈕,將進入變量編輯器。通過變量編輯器可以直接觀察變量中的具體元素,也可修改變量中的具體元素。當(dāng)前第9頁\共有54頁\編于星期五\0點2.內(nèi)存變量文件利用MAT文件可以把當(dāng)前MATLAB工作空間中的一些有用變量長久地保留下來,擴展名是.mat。MAT文件的生成和裝入由save和load命令來完成。常用格式為:save文件名[變量名表][-append][-ascii]load文件名[變量名表][-ascii]當(dāng)前第10頁\共有54頁\編于星期五\0點save文件名[變量名表][-append][-ascii]load文件名[變量名表][-ascii]其中,文件名可以帶路徑,但不需帶擴展名.mat,命令隱含一定對.mat文件進行操作。變量名表中的變量個數(shù)不限,只要內(nèi)存或文件中存在即可,變量名之間以空格分隔。當(dāng)變量名表省略時,保存或裝入全部變量。-ascii選項使文件以ASCII格式處理,省略該選項時文件將以二進制格式處理。save命令中的-append選項控制將變量追加到MAT文件中。當(dāng)前第11頁\共有54頁\編于星期五\0點還可以用FILE菜單中的SaveWorkspaceAs命令存放工作空間的全部變量。也可以通過FILE菜單中的ImportDate命令可以將保存在MAT文件中的全部變量裝入到MATLAB工作空間中。當(dāng)前第12頁\共有54頁\編于星期五\0點2.2.3數(shù)據(jù)的輸出格式MATLAB用十進制數(shù)表示一個常數(shù),具體可采用日常記數(shù)法和科學(xué)記數(shù)法兩種表示方法。在一般情況下,MATLAB內(nèi)部每一個數(shù)據(jù)元素都是用雙精度數(shù)來表示和存儲的。數(shù)據(jù)輸出時用戶可以用format命令設(shè)置或改變數(shù)據(jù)輸出格式。format命令的格式為:
format格式符其中格式符決定數(shù)據(jù)的輸出格式見P21表2.2當(dāng)前第13頁\共有54頁\編于星期五\0點2.3MATLAB矩陣的表示2.3.1矩陣的建立1.直接輸入法最簡單的建立矩陣的方法是從鍵盤直接輸入矩陣的元素。具體方法如下:將矩陣的元素用方括號括起來,按矩陣行的順序輸入各元素,同一行的各元素之間用空格或逗號分隔,不同行的元素之間用分號分隔。當(dāng)前第14頁\共有54頁\編于星期五\0點可以建立復(fù)數(shù)矩陣a=exp(2);B=[1,2+i*a,a*sqrt(a);sin(pi/4),a/5,3.5+6i]當(dāng)前第15頁\共有54頁\編于星期五\0點2.利用M文件建立矩陣對于比較大且比較復(fù)雜的矩陣,可以為它專門建立一個M文件。下面通過一個簡單例子來說明如何利用M文件創(chuàng)建矩陣。當(dāng)前第16頁\共有54頁\編于星期五\0點例2.2利用M文件建立MYMAT矩陣。啟動有關(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,即運行該M文件,就會自動建立一個名為MYMAT的矩陣,可供以后使用。當(dāng)前第17頁\共有54頁\編于星期五\0點3.建立大矩陣大矩陣可由方括號中的小矩陣或向量建立起來。例如A=[123;456;789];C=[A,eye(size(A));ones(size(A)),A]當(dāng)前第18頁\共有54頁\編于星期五\0點2.3.2冒號表達式冒號表達式可以產(chǎn)生一個行向量,一般格式是:
e1:e2:e3其中e1為初始值,e2為步長,e3為終止值。在MATLAB中,還可以用linspace函數(shù)產(chǎn)生行向量。其調(diào)用格式為:linspace(a,b,n)其中a和b是生成向量的第一個和最后一個元素,n是元素總數(shù)。顯然,linspace(a,b,n)與a:(b-a)/(n-1):b等價。當(dāng)前第19頁\共有54頁\編于星期五\0點2.3.3矩陣的拆分1.矩陣元素
通過下標(biāo)引用矩陣的元素.例如A(3,2)=200采用矩陣元素的序號來引用矩陣元素。矩陣元素的序號就是相應(yīng)元素在內(nèi)存中的排列順序。在MATLAB中,矩陣元素按列存儲,先第一列,再第二列,依次類推。例如A=[1,2,3;4,5,6];
A(3)ans=
2顯然,序號(Index)與下標(biāo)(Subscript)是一一對應(yīng)的,以m×n矩陣A為例,矩陣元素A(i,j)的序號為(j-1)*m+i。其相互轉(zhuǎn)換關(guān)系也可利用sub2ind和ind2sub函數(shù)求得。當(dāng)前第20頁\共有54頁\編于星期五\0點sub2ind(size(A),1,2)%求矩陣A中下標(biāo)為(1,2)的元素的序號[i,j]=ind2sub(size(A),3)%求矩陣A中序號為3的元素的下標(biāo)size(A)%計算矩陣A的行數(shù)和列數(shù)length(A)%給出矩陣A中行數(shù)和列數(shù)較大者ndim(A)%給出矩陣A的維數(shù)reshape(A,m,n)%將矩陣A變?yōu)閙*n的二維矩陣當(dāng)前第21頁\共有54頁\編于星期五\0點2.矩陣拆分利用冒號表達式獲得子矩陣
①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每一列元素堆疊起來,成為一個列向量,而這也是MATLAB變量的內(nèi)部儲存方式。A=[1,2,3,4,5;6,7,8,9,10;11,12,13,14,15;16,17,18,19,20]當(dāng)前第22頁\共有54頁\編于星期五\0點此外,還可利用一般向量和end運算符來表示矩陣下標(biāo),從而獲得子矩陣。end表示某一維的末尾元素下標(biāo)。A(end,:)A([14],3:end)當(dāng)前第23頁\共有54頁\編于星期五\0點(2)利用空矩陣刪除矩陣的元素在MATLAB中,定義[]為空矩陣。給變量X賦空矩陣的語句為X=[]。注意,X=[]與clearX不同,clear是將X從工作空間中刪除,而空矩陣則存在于工作空間中,只是維數(shù)為0。A(:,[24])=[]當(dāng)前第24頁\共有54頁\編于星期五\0點2.4MATLAB數(shù)據(jù)的運算
2.4.1算術(shù)運算1.基本算術(shù)運算MATLAB的基本算術(shù)運算有:
+(加)、-(減)、*(乘)、/(右除)、\(左除)、^(乘方)。注意,運算是在矩陣意義下進行的,單個數(shù)據(jù)的算術(shù)運算只是一種特例。當(dāng)前第25頁\共有54頁\編于星期五\0點(1)矩陣加減運算
假定有兩個矩陣A和B,則可以由A+B和A-B實現(xiàn)矩陣的加減運算。運算規(guī)則是:若A和B矩陣的維數(shù)相同,則可以執(zhí)行矩陣的加減運算,A和B矩陣的相應(yīng)元素相加減。如果A與B的維數(shù)不相同,則MATLAB將給出錯誤信息,提示用戶兩個矩陣的維數(shù)不匹配。一個標(biāo)量也可以和其他不同維數(shù)的矩陣進行加減運算。當(dāng)前第26頁\共有54頁\編于星期五\0點(2)矩陣乘法假定有兩個矩陣A和B,若A為m×n矩陣,B為n×p矩陣,則C=A*B為m×p矩陣。矩陣也可以和標(biāo)量相乘當(dāng)前第27頁\共有54頁\編于星期五\0點(3)矩陣除法在MATLAB中,有兩種矩陣除法運算:\和/,分別表示左除和右除。如果A矩陣是非奇異方陣,則A\B和B/A運算可以實現(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];當(dāng)前第28頁\共有54頁\編于星期五\0點對于含有標(biāo)量的運算,兩種除法運算的結(jié)果相同。如3/4和4\3有相同的值,都等于0.75。又如,設(shè)a=[10.5,25],則a/5=5\a=[2.10005.0000]。對于矩陣來說,左除和右除表示兩種不同的除數(shù)矩陣和被除數(shù)矩陣的關(guān)系。對于矩陣運算,一般A\B≠B/A。當(dāng)前第29頁\共有54頁\編于星期五\0點(4)矩陣的乘方一個矩陣的乘方運算可以表示成A^x,要求A為方陣,x為標(biāo)量。
A=[1,2,3;4,5,6;7,8,9]A^3相當(dāng)于A*A*A當(dāng)前第30頁\共有54頁\編于星期五\0點2.點運算
在MATLAB中,有一種特殊的運算,因為其運算符是在有關(guān)算術(shù)運算符前面加點,所以叫點運算。點運算符有.*、./、.\和.^。兩矩陣進行點運算是指它們的對應(yīng)元素進行相關(guān)運算,要求兩矩陣的維參數(shù)相同。當(dāng)前第31頁\共有54頁\編于星期五\0點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.\y當(dāng)前第32頁\共有54頁\編于星期五\0點x=[1,2,3];y=[4,5,6];c=x.^yd=y.^xa=x.^2b=2.^x當(dāng)前第33頁\共有54頁\編于星期五\0點3.MATLAB常用數(shù)學(xué)函數(shù)Matlab提供許多數(shù)學(xué)函數(shù),見P29表2.3函數(shù)使用說明:三角函數(shù)以弧度為單位計算。abs函數(shù)可以求實數(shù)的絕對值、復(fù)數(shù)的模、字符串的ASCII碼值。實數(shù)>>abs(-5)結(jié)果為5復(fù)數(shù)>>abs(1+i)結(jié)果為1.414字符串>>abs('AB')結(jié)果為6566當(dāng)前第34頁\共有54頁\編于星期五\0點(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當(dāng)前第35頁\共有54頁\編于星期五\0點(4)rem與mod函數(shù)的區(qū)別。rem(x,y)和mod(x,y)要求x,y必須為相同大小的實矩陣或為標(biāo)量。當(dāng)y≠0時當(dāng)y=0時,rem(x,0)=NaNmod(x,0)=x當(dāng)x,y同號時,rem(x,y)=mod(x,y)當(dāng)x,y異號時,rem(x,y)與x同號mod(x,y)與y同號如:rem(7,3),mod(7,3)rem(-7,3),mod(-7,3)當(dāng)前第36頁\共有54頁\編于星期五\0點注意其書寫方法與數(shù)學(xué)中的不等式符號不盡相同。關(guān)系運算符該運算符的功能關(guān)系運算符該運算符的功能<
小于>=大于等于>
大于==等于<=小于等于~=約等于2.4.2關(guān)系運算MATLAB提供了6種關(guān)系運算符:當(dāng)前第37頁\共有54頁\編于星期五\0點關(guān)系運算符的運算法則為:(1)當(dāng)兩個比較量是標(biāo)量時,直接比較兩數(shù)的大小。若關(guān)系成立,關(guān)系表達式結(jié)果為1,否則為0。>>5>3結(jié)果為1(2)當(dāng)參與比較的量是兩個維數(shù)相同的矩陣時,比較是對兩矩陣相同位置的元素按標(biāo)量關(guān)系運算規(guī)則逐個進行,并給出元素比較結(jié)果。最終的關(guān)系運算的結(jié)果是一個維數(shù)與原矩陣相同的矩陣,它的元素由0或1組成。>>a=[1,-5,7,4];b=[-1,6,7,2];>>c=a>bc=1001>>d=a==bd=0010當(dāng)前第38頁\共有54頁\編于星期五\0點(3)當(dāng)參與比較的一個是標(biāo)量,而另一個是矩陣時,則把標(biāo)量與矩陣的每一個元素按標(biāo)量關(guān)系運算規(guī)則逐個比較,并給出元素比較結(jié)果。最終的關(guān)系運算的結(jié)果是一個維數(shù)與原矩陣相同的矩陣,它的元素由0或1組成。>>A=[1,2,3;4,5,6;7,8,9];>>A==5ans=000010000當(dāng)前第39頁\共有54頁\編于星期五\0點例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=1000101000100001100100000當(dāng)前第40頁\共有54頁\編于星期五\0點2.4.3邏輯運算MATLAB提供了3種邏輯運算符:邏輯操作符功
能&與|或~非邏輯運算的運算法則為:(1)在邏輯運算中,確認(rèn)非零元素為真,用1表示,零元素為假,用0表示。
當(dāng)前第41頁\共有54頁\編于星期五\0點
(2)設(shè)參與邏輯運算的是兩個標(biāo)量a和b,那么,
a&ba,b全為非零時,運算結(jié)果為1,否則為0。
a|ba,b中只要有一個非零,運算結(jié)果為1。
~a當(dāng)a是零時,運算結(jié)果為1;當(dāng)a非零時,運算結(jié)果為0。(3)若參與邏輯運算的是兩個同維矩陣,那么運算將對矩陣相同位置上的元素按標(biāo)量規(guī)則逐個進行。最終運算結(jié)果是一個與原矩陣同維的矩陣,其元素由1或0組成。當(dāng)前第42頁\共有54頁\編于星期五\0點(4)若參與邏輯運算的一個是標(biāo)量,一個是矩陣,那么運算將在標(biāo)量與矩陣中的每個元素之間按標(biāo)量規(guī)則逐個進行。最終運算結(jié)果是一個與矩陣同維的矩陣,其元素由1或0組成。(5)邏輯非是單目運算符,也服從矩陣運算規(guī)則。
(6)在算術(shù)、關(guān)系、邏輯運算中,算術(shù)運算優(yōu)先級最高,邏輯運算優(yōu)先級最低。當(dāng)前第43頁\共有54頁\編于星期五\0點各種運算符的優(yōu)先級
優(yōu)先級運
算
符最高()(小括號)↓.’(轉(zhuǎn)置)‘(共軛轉(zhuǎn)置)
.^(數(shù)組和數(shù)值乘方)^(矩陣乘方)↓+(一元加法)-(一元減法)~(取反)↓.*(乘法)*(矩陣乘法)./(右除)
/(矩陣右除).\(左除)\(矩陣左除)↓+(加法)-(減法)↓:(冒號)↓<(小于)<=(小于或等于)>(大于)
>=(大于或等于)
==(等于)~=(不等于)↓&(邏輯與)最低|(邏輯或)當(dāng)前第44頁\共有54頁\編于星期五\0點>>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當(dāng)前第45頁\共有54頁\編于星期五\0點例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:從自變量著手進行處理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;當(dāng)前第46頁\共有54頁\編于星期五\0點方法2:從函數(shù)值著手進行處理x=0:pi/100:3*pi;y=sin(x);y1=(y>=0).*y;p=sin(pi/3);y2=(y>=p)*p+(y<p).*y1;當(dāng)前第47頁\共有54頁\編于星期五\0點此外,MATLAB還提供了一些關(guā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)當(dāng)前第48頁\共有54頁\編于星期五\0點>>s=[2,1,0,4,0];>>t=[1,0,-1,3,0];>>xor(s,t)ans=01100>>any(s)ans=1>>all(s)ans=0當(dāng)前第49頁\共有54頁\編于星期五\0點
2.5字符串在MATLAB中,字符串是用單撇號括起來的字符序列。>>xm='CentralSou
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024房產(chǎn)代理銷售合同samplewith傭金計算及支付條款
- 2024年高鐵項目綜合維修勞務(wù)分包合同
- 2024年賽事策劃與執(zhí)行服務(wù)標(biāo)準(zhǔn)協(xié)議版B版
- 2024年度航天設(shè)備租賃換售服務(wù)合同3篇
- 2024年網(wǎng)絡(luò)信息技術(shù)研發(fā)外包合同
- 2024版電梯安裝工程合同管理與履行監(jiān)督合同
- 2024年跨境貿(mào)易三方擔(dān)保合同示范文本3篇
- 2024評標(biāo)保密協(xié)議范本:智能電網(wǎng)建設(shè)專用3篇
- 專業(yè)實驗設(shè)施短期租賃合同版B版
- 醫(yī)療廢物知識培訓(xùn)
- ISO 56001-2024《創(chuàng)新管理體系-要求》專業(yè)解讀與應(yīng)用實踐指導(dǎo)材料之11:“5領(lǐng)導(dǎo)作用-5.5崗位、職責(zé)和權(quán)限”(雷澤佳編制-2025B0)
- 物聯(lián)網(wǎng)安全風(fēng)險評估剖析-洞察分析
- 2024年-江西省安全員C證考試題庫
- 物業(yè)保安培訓(xùn)工作計劃
- 開題報告課件(最終)
- 治未病科室建設(shè)
- 投標(biāo)部述職報告
- 期末測試卷-2024-2025學(xué)年外研版(一起)英語六年級上冊(含答案含聽力原文無音頻)
- 工廠廠房拆除合同范本
- 上海市浦東新區(qū)2023-2024學(xué)年一年級上學(xué)期期末考試數(shù)學(xué)試題
- 四位數(shù)乘四位數(shù)乘法題500道
評論
0/150
提交評論