版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 專業(yè)水果蔬菜購銷協(xié)議簡版(2024修訂)版B版
- 16《大家排好隊》(說課稿)2024-2025學(xué)年統(tǒng)編版(2024)(五四制)道德與法治一年級上冊
- 專職教學(xué)人員2024年聘用協(xié)議樣式版B版
- 2《丁香結(jié)》說課稿-2024-2025學(xué)年語文六年級上冊統(tǒng)編版
- 專用玻璃鋼儲罐防腐作業(yè)協(xié)議版
- 精神科停水和突然停水的應(yīng)急預(yù)案及程序
- 《撫養(yǎng)權(quán)離婚合同模板(2024年適用)》版B版
- 代表對物業(yè)服務(wù)質(zhì)量的月度評分表格
- 福建省南平市武夷山第二中學(xué)2021-2022學(xué)年高一生物模擬試題含解析
- 福建省南平市文昌學(xué)校2022年高一英語模擬試題含解析
- 2025至2031年中國臺式燃?xì)庠钚袠I(yè)投資前景及策略咨詢研究報告
- (一模)株洲市2025屆高三教學(xué)質(zhì)量統(tǒng)一檢測 英語試卷
- 2025年中國電科集團(tuán)春季招聘高頻重點提升(共500題)附帶答案詳解
- 2025年度建筑施工現(xiàn)場安全管理合同2篇
- 社區(qū)意識形態(tài)工作責(zé)任制實施細(xì)則模版(2篇)
- 礦業(yè)公司規(guī)章制度匯編
- 介入導(dǎo)管室護(hù)士長職責(zé)
- 建筑垃圾回收利用標(biāo)準(zhǔn)方案
- 店鋪(初級)營銷師認(rèn)證考試題庫附有答案
- 福建省廈門市2023-2024學(xué)年高二上學(xué)期期末考試語文試題(解析版)
- 人員招聘需求申請表(通用)
評論
0/150
提交評論