版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
2.1MATLAB的矩陣、變量與表達式在MATLAB系統(tǒng)中,只管理著一種對象---矩陣(包括復(fù)數(shù)矩陣),任何數(shù)量在MATLAB中是作為1x1的矩陣來處理的。一、矩陣的創(chuàng)建:1.在MATLAB中創(chuàng)建矩陣的原則:(1)矩陣元素必須寫在“[]”內(nèi);(2)矩陣的同一行之間用空格或“,”分隔;(3)矩陣的行與行之間用分號或回車符分隔;(4)矩陣的尺寸不必預(yù)先定義;(5)矩陣元素可以是數(shù)值、變量、表達式或函數(shù)。2.創(chuàng)建矩陣的四種方法。(1)在命令窗口直接輸入:如輸入:A=[1,2,3;4,5,6;7,8,9]則顯示:A=123456789也可用空格代替逗號,用回車代替分號:如上例:A=[123456789]則顯示:A=123456789(2)由M文件創(chuàng)建矩陣:有時編程需要用M文件創(chuàng)建矩陣?;蛘弋?dāng)矩陣尺寸較大時,可以按矩陣的輸入方式編輯一個M文件(可用循環(huán)程序來做),在命令窗口直接執(zhí)行該文件,即可將矩陣調(diào)入工作空間。(3)由函數(shù)創(chuàng)建矩陣:對于一些特殊的矩陣,可以利用MATLAB的內(nèi)部函數(shù)或用戶自定義函數(shù)創(chuàng)建矩陣。如diag()函數(shù)可生成對角陣。ones(m,n);zeros(m,n)(4)通過數(shù)據(jù)文件創(chuàng)建矩陣:save文件名(其中,文件名是*.mat文件)load文件名例:工作目錄下有temp.mat文件,可以執(zhí)行l(wèi)oadtemp3.復(fù)數(shù)矩陣表示(1)復(fù)數(shù)表示復(fù)數(shù)的虛根單位用i,j表示,即:z=3+4i或z=3+4j.例如輸入z=3+4i輸入z=3+4j得到:得到:z=z=3.0000+4.0000i3.0000+4.0000i(2)復(fù)數(shù)矩陣A=[12;34]+i*[56;78]或者A=[1+5i2+6i;3+7i4+8i],都得到:A= 1.0000+5.0000i2.0000+6.0000i3.0000+7.0000i4.0000+8.0000i二、MATLAB的變量和表達式1.變量名命名規(guī)則可以是字母、數(shù)字或下劃線,但第一個字符必須是字母。長度<=31分辨大小寫的,M和m是兩個變量。無須對變量的類型進行說明,當(dāng)需要使用一個新變量時,只須直接對其賦值即可。2.表達式則是由運算符、函數(shù)調(diào)用、變量名以及特殊字符組成的式子。3.MATLAB中基本的賦值語句為:(1)形式一:變量名=表達式將表達式的結(jié)果賦給變量名(表達式的運算結(jié)果都是一個矩陣)。(2)形式二:表達式計算表達式的值,將其值賦給MATLAB的永久變量ans。上面兩種形式,當(dāng)表達式由分號“;”結(jié)束時,變量結(jié)果不顯示。當(dāng)表達式由逗號“,”或換行號結(jié)束,則將結(jié)果顯示出來。注:1)MATLAB中有幾個變量不能被clear清除,稱永久變量。(其他變量名最好不要與此同)。即ans:當(dāng)不指明某一語句的計算結(jié)果賦給哪個變量時,系統(tǒng)自動將該計算結(jié)果賦給ans;eps:計算機能產(chǎn)生的絕對值最小的浮點數(shù);i,j:虛數(shù)單位,即-1的平方根;inf,Inf:正無窮大;nan,NaN:非數(shù),常產(chǎn)生于0/0等運算;Pi:圓周率。2)如果表達式的值太復(fù)雜,一行寫不下,可以加上三連點“…”回車,然后接下去再寫。如:s=1-1/2+1/3-1/4+1/5-1/6+1/7-1/8+1/9-1/10+1/11-1/12;3)在MATLAB函數(shù)調(diào)用時,MATLAB還允許有這樣的形式,如[m,p]=bode(n,d,w);4.字符串與字符串變量:MATLAB可將字符串當(dāng)作數(shù)組或矩陣處理。在MATLAB中,字符串用單引號括起來,如:例:S=‘UseMatlab’輸出結(jié)果是:S=UseMatlab字符串存儲在行向量中,每個元素對應(yīng)一個字符,向量的值為字符對應(yīng)的ASCII碼值。2.2MATLAB的初等運算一、矩陣運算符:A’---矩陣A的轉(zhuǎn)置,如果A是復(fù)矩陣,則其運算結(jié)果是共軛轉(zhuǎn)置;A+B---矩陣的加運算,A-B---矩陣的減運算,A*B---矩陣相乘,A的列數(shù)與B的行數(shù)相等,即A和B矩陣維數(shù)相容,維數(shù)不相容是不可乘的。如:A---nxm,B---mxr,若C=A*B,則:C---nxr。B/A---方程X*A=B的解,即X=B*A-1。稱矩陣的右除。A\B---方程A*X=B的解,即X=A-1*B。稱矩陣的左除。矩陣的除法,其意義相當(dāng)于矩陣的求逆運算。左除與右除的關(guān)系為:b/a=(a’\b’)’。A^B---矩陣的乘方。1)A為方陣,B為正整數(shù)時,表示矩陣A的B次乘積;2)B為負整數(shù)時,表示矩陣A的逆陣的B次乘積;3)B為非整數(shù)時,如B=n/m,則首先應(yīng)該將A矩陣自乘n次,然后再對結(jié)果開m次方;4)A、B均為矩陣時無意義。A.*B---矩陣的點乘運算,表示A和B陣的對應(yīng)元素直接相乘,A和B要有相同的維數(shù)。點運算在MATLAB中起重要的作用,如X是一個向量,則求取X2時不能直接寫成X*X,而必須寫成X.*X。A.\B,A./B---矩陣的點除運算,表示A和B陣的對應(yīng)元素直接相除,A和B要有相同的維數(shù)。A.^B---矩陣的點乘方,表示要對其元素逐一進行冪運算。與點乘相似。二、關(guān)系運算符:MATLAB中提供了6種關(guān)系運算符,用于比較兩個同維數(shù)的矩陣:<小于<=小于或等于>大于>=大于或等于==等于~=不等于關(guān)系運算符可以用于檢查矩陣的元素是否滿足某些條件。兩個同維數(shù)的矩陣比較的結(jié)果是與它們同維數(shù)的0、1矩陣,1表示結(jié)果為真,0表示結(jié)果為假。三、邏輯運算符:在MATLAB中,邏輯運算符有3種。&邏輯與。當(dāng)運算雙方對應(yīng)元素都為非零時;結(jié)果為1,否則,結(jié)果為0。|邏輯或。當(dāng)運算雙方對應(yīng)元素有一個為非零時;結(jié)果為1,否則,結(jié)果為0。~邏輯非。當(dāng)元素的值為0時,結(jié)果為1,否則,結(jié)果為0。例:a=[103;0–16],b=[-100;050.3],計算兩矩陣對應(yīng)元素的邏輯關(guān)系。>>a&b>>a|b>>~a>>~bans=100011ans=101011ans=010100ans=011100四、特殊運算符:在MATLAB中,有一些特殊的符號,具有特殊的意義。1)在MATLAB的M文件中,可以加入解釋行,解釋行的標(biāo)識符為:“%”,該符號后面的內(nèi)容將作為注釋內(nèi)容。2)行分隔符:“;”用在MATLAB語句后,用它時執(zhí)行結(jié)果不顯示,可避免顯示一些不感興趣的結(jié)果。3)冒號運算符“:”最主要的作用是生成向量。如:j:k---生成向量[j,j+1,j+2,…,k]j:i:k---生成向量[j,j+i,j+2i,j+3i,…,k](j為起始值,i為步距,k為終止值,在仿真中經(jīng)常用于生成時間向量)A(:,j)---矩陣A的第j列A(i,:)---矩陣A的第i行A(j:k)---生成向量A(A為向量時,為A的第j到第k個元素,當(dāng)A為矩陣時,為A的按列數(shù)的第j到第k個元素)例:A=123456789>>A(2:4)ans=472A(:,j:k)---矩陣A的從第j列到第k列的矩陣子塊A(:,[j,k])---矩陣A的第j列和第k列例:A=123456789>>A(:,1:2)ans=124578>>A(:,[1,3])ans=1346794)MATLAB中允許對一個矩陣的單個元素進行賦值,如:A=123456789當(dāng)執(zhí)行A(2,3)=100,則顯示:A=12345100789注意:矩陣中元素按列存儲,上例中對矩陣元素操作也可這樣調(diào)用A(8)=8對于一個矩陣中0元素很多,而非0元素很少的情況,可以先形成0矩陣,然后將非0元素輸入。如果給出的行數(shù)和列數(shù)大于原矩陣范圍,則將自動擴展原來的矩陣,并將擴展后未賦值的矩陣元素置為0。如:A(4,5)=8A=123004560078900000082.3MATLAB語句一、輸入輸出語句:MATLAB提供了一些輸入和輸出語句,允許用戶和計算機之間進行數(shù)據(jù)交換。1.INPUT輸入函數(shù):在編程時,如果想隨時改變輸入?yún)?shù)值,可采用input()函數(shù)來進行輸入,它的調(diào)用格式為:A=input(提示信息,選項);提示信息可以是字符串顯示,用它來提示輸入的是什么樣的數(shù)據(jù),如:>>A=input('EntermatrixA=>')EntermatrixA=>[123;456;789]A=123456789如果在input()函數(shù)調(diào)用時采用了‘s’選項,則允許用戶輸入字符串。如:>>A=input('EntermatrixA=>','s')EntermatrixA=>matlabA=Matlab2.DISP輸出函數(shù):MATLAB提供的輸出函數(shù)主要有disp()函數(shù),它的調(diào)用格式為:disp(A)其中A既可以為字符串,也可以為矩陣3.將數(shù)值轉(zhuǎn)換成字符串輸出:MATLAB還提供了較實用的字符串處理及轉(zhuǎn)換函數(shù),如:int2str()函數(shù)可以方便地將一個整形數(shù)據(jù)轉(zhuǎn)換成字符串形式,該函數(shù)的調(diào)用格式為:例1:>>cstr=int2str(i)例2:>>Inum=15;>>disp(['ThevalueofInumis'int2str(Inum),'!ok'])ThevalueofInumis15!ok注意:在矩陣中,每一個元素之間要有空格或逗號。二、循環(huán)語句:MATLAB提供了兩種循環(huán)方式:for-end循環(huán)和while-end循環(huán)。1.for循環(huán)語句:for循環(huán)語句為計數(shù)循環(huán)語句。如果要反復(fù)執(zhí)行的一組語句的循環(huán)次數(shù)是已知的或預(yù)定義的,就可以使用for循環(huán)語句。它的基本格式為:for循環(huán)變量=表達式1:表達式2:表達式3循環(huán)語句組end上面的表達式1表示循環(huán)初值,表達式3表示循環(huán)終值,表達式2是步長,該式相當(dāng)于冒號表達式。當(dāng)步長為1時,表達式2可省略。如:S1=1;S2=0.1;S3=10;forI=S1:S2:S3X(I)=0end注:1)如果表達式3的值<表達式1的值,語句仍是合法的,但MATLAB不執(zhí)行循環(huán)內(nèi)的語句;2)for和end必須配對使用;3)for語句還可以嵌套,但每一個for必須與一個end配對使用。如:m=3;n=4;fori=1:mforj=1:nA(i,j)=1/(i+j-1)endend例題:求的值。程序為:mysum=0;fori=1:100mysum=mysum+i;enddisp(mysum)2.while循環(huán)語句:while循環(huán)語句是條件循環(huán)語句,它的作用是在一定的邏輯條件控制下,不斷地循環(huán)執(zhí)行一條或一組語句,直到邏輯條件不再滿足為止。適用于循環(huán)次數(shù)事先不知道的情況。它的基本結(jié)構(gòu)while條件式循環(huán)語句組end它的執(zhí)行方式是:若條件成立,則執(zhí)行循環(huán)體,再判斷表達式是否仍然成立,如不成立則跳出循環(huán),向下執(zhí)行。如將上例改用while循環(huán),則可寫出下列程序:sum=0;i=1;whilei<=100sum=sum+i;i=i+1;end注:1)允許多級嵌套;2)while和end必須配對使用;3)for形循環(huán)和while形循環(huán)也允許相互嵌套。三、條件控制語句:1.if條件轉(zhuǎn)移語句:if條件式條件塊語句組end或:if條件式條件塊語句組1else條件塊語句組2end或:if條件式1條件塊語句組1elseif條件式2條件塊語句組2else條件塊語句組3……end2.break語句:break語句的作用一般是終止循環(huán)過程,退出循環(huán)體。常與if語句一起使用。例:將上例中給出的問題變成:求出滿足>10000的最小m。則程序為:mysum=0;form=1:1000ifmysum>10000,break;endmysum=mysum+m;enddisp(m)四、分支語句:switch語句switch語句可實現(xiàn)多分支的條件選擇,在功能上與if-elseif-elseif-…else結(jié)構(gòu)相似。switch表達式case表達式1語句組1case表達式2語句組2……case表達式n語句組notherwise語句組end執(zhí)行過程:switch后面表達式的值可以是數(shù)值變量或字符串變量,通過比較該值與case后面的值來決定執(zhí)行哪部分。如與哪一個case的值相同就執(zhí)行哪一個下面的語句組,如果與所有case的值都不同,則執(zhí)行otherwise
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單位管理制度呈現(xiàn)匯編職員管理篇
- 單位管理制度呈現(xiàn)大全人員管理篇
- 藝術(shù)節(jié)主持詞
- 70MW光伏發(fā)電項目工程(EPC)總承包投標(biāo)文件 承包人實施計劃
- 《市場營銷學(xué)導(dǎo)言》課件
- 《天貓規(guī)則學(xué)習(xí)》課件
- 空調(diào)維修公司保安工作總結(jié)
- 財務(wù)工作品質(zhì)提升總結(jié)
- 兒童新媒體編輯工作總結(jié)
- 2003年廣東高考語文真題及答案
- 2025年安徽交控集團招聘筆試參考題庫含答案解析
- 促進臨床合理用藥持續(xù)改進措施
- 精神科護理崗位競聘
- 廣西北海市2023-2024學(xué)年八年級(上)期末數(shù)學(xué)試卷
- 非急救轉(zhuǎn)運合同范例
- 車輛使用安全培訓(xùn)
- 《中國傳統(tǒng)文化》課件模板(六套)
- 民航客艙服務(wù)管理Ⅱ?qū)W習(xí)通超星期末考試答案章節(jié)答案2024年
- 兒科主任年終總結(jié)
- 期末 (試題) -2024-2025學(xué)年人教PEP版英語四年級上冊
- 第三單元 (單元測試)-2024-2025學(xué)年-四年級上冊語文統(tǒng)編版
評論
0/150
提交評論