

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、在 MATLAB 中,變量和常量的標(biāo)識符最長允許 19 個(gè)字符, 標(biāo)識符中第一個(gè)字符必須是英文字母。MATLAB 區(qū)分大小寫,默認(rèn)狀態(tài)下,A 和 a 被認(rèn)為是兩個(gè)不同的字符。(casesensitive)一、數(shù)組和矩陣一、數(shù)組和矩陣() )數(shù)組的賦值數(shù)組的賦值數(shù)組是指一組實(shí)數(shù)或復(fù)數(shù)排成的長方陣列。它可以是一維的“行”或“列”,可以是二維的“矩形”,也可以是三維的甚至更高的維數(shù)。在 MATLAB 中的變量和常量都代表數(shù)組,賦值語句的一般形式為變量=表達(dá)式(或數(shù))如鍵入 a=123;456;789則將顯示結(jié)果:a=123456789數(shù)組放置在中; 數(shù)組元素用空格或逗號“, ”分隔; 數(shù)組行用分號“
2、; ”或“回車”隔離。( (二二) )復(fù)數(shù)復(fù)數(shù)MATLAB 中的每一個(gè)元素都可以是復(fù)數(shù),實(shí)數(shù)是復(fù)數(shù)的特例。復(fù)數(shù)的虛部用 i 或 j 表示。復(fù)數(shù)的賦值形式有兩種:z=1+1i,2+2i;3+3i,4+4iz=12;3,4+1,2;3,4*i得 z=1.000+1.000i2.000+2.000i3.000+3.000i4.000+4.000i以上兩式結(jié)果相同。注意,在第二式中“*”不能省略。在復(fù)數(shù)運(yùn)算中, 有幾個(gè)運(yùn)算符是常用的。 運(yùn)算符表示把矩陣作共軛轉(zhuǎn)置,即把矩陣的行列互換,同時(shí)把各元素的虛部反號。函數(shù) conj 表示只把各元素的虛部反號,即只取共軛。若想求轉(zhuǎn)置而不要共軛,就把 conj 和“
3、”結(jié)合起來完成。例如鍵入w=Z,u=conj(z),v=conj(z)可得 w=1.000-1.000i3.000-3.000i2.000-2.000i4.000-4.000iu=1.000-1.000i2.000-2.000i3.0003.000i4.0004.000iv=1.000+1.000i3.000+3.000i2.000+2.000i4.000+4.000i(三)數(shù)組尋訪和賦值的格式(三)數(shù)組尋訪和賦值的格式表 M-1 常用子數(shù)組的尋訪、賦值格式子數(shù)組的尋訪和賦值使用說明a(r,c)由 a 的“r 指定行”和“c 指定列”上的元素組成的子數(shù)組a(r,:)由 a 的“r 指定行”和“
4、全部列”上的元素組成的子數(shù)組a(:,c)由 a 的“全部行”和“c 指定列”上的元素組成的子數(shù)組a(:)由 a 的各列按自左到右的次序,首尾相接而牛成“一維長列”數(shù)組a(s)“單下標(biāo)”尋訪。生成“S 指定的”一維數(shù)組。s 若是“行數(shù)組”(或“列數(shù)組”),則 a(s)就是長度相同的“行數(shù)組”(或“列數(shù)組”)二、邏輯判斷與流程控制二、邏輯判斷與流程控制(一)關(guān)系運(yùn)算(一)關(guān)系運(yùn)算關(guān)系運(yùn)算是指兩個(gè)元素之間數(shù)值的比較,一共有六種可能。如表 M-8 所列。關(guān)系運(yùn)算的結(jié)果只有兩種可能,即 0 或 1。0 表示該關(guān)系式為“假”,1 表示該關(guān)系式為“真”。表 M-8 關(guān)系運(yùn)算符指令含義指令含義=大干等干大干不
5、等干(二)邏輯運(yùn)算(二)邏輯運(yùn)算邏輯量的基本運(yùn)算為“與 (&) ”、 “或 (1) ”、 “非 () ”三種, 另外還可以用“異或 (xor) ”,如表 M-9 所示。表M-9邏輯運(yùn)算符3.0003.000i4.0004.000iA=0A=1運(yùn)算B=0B=1B=0B=1A&B0001A|B0111A1100 xor(A,B)0110(三)基本的流程控制語句(三)基本的流程控制語句ifif 條件執(zhí)行語句條件執(zhí)行語句格式:if 表達(dá)式語句,endif 表達(dá)式 1 語句組 A,else 語句組 B,endif 表達(dá)式 1 語句組 A,elseif 表達(dá)式 2 語句組 B,else 語
6、句組 C,end 執(zhí)行到該語句時(shí),計(jì)算機(jī)先檢驗(yàn) if 后的邏輯表達(dá)式, 為 1 則執(zhí)行語句 A;如為 0 則跳過 A 檢驗(yàn)下一句程序, 直到遇見 end,執(zhí)行 end 后面的一條語句。whilewhile 循環(huán)語句循環(huán)語句格式:while 表達(dá)式語句組 A,end執(zhí)行到該語句時(shí),計(jì)算機(jī)先檢驗(yàn) while 后的邏輯表達(dá)式,為 1 則執(zhí)行語句 A;到 end 處,它就跳回到 while 的入口,再檢驗(yàn)表達(dá)式,如仍為 1 則再執(zhí)行語句 A,直到結(jié)果為 0,就跳過語句組 A,直接執(zhí)行 end 后面的一條語句。forfor 循環(huán)語句循環(huán)語句格式:fork=初值:增量:終值語句組 A,end將語句組 A
7、重復(fù)執(zhí)行 N 次,但每次執(zhí)行時(shí)程序中 k 值不同。增量缺省值為 1。switchswitch 多分支語句多分支語句格式:switch 表達(dá)式(標(biāo)量或字符串)case 值 1語句組 Acase 值 2語句組 Botherwise語句組 Nend當(dāng)表達(dá)式的值與某 case 語句中的值相同時(shí),它就執(zhí)行該 case 語句后的語句組,然后直接跳到終點(diǎn)的保留的常數(shù)保留的常數(shù)eps機(jī)器的浮點(diǎn)運(yùn)算誤差限。PC 機(jī)上 eps 的默認(rèn)值為 2.2204*1016,若某個(gè)量的絕對值小于 eps,則可以認(rèn)為這個(gè)量為 0。i 和 j-若 i 或 j 量不被改寫,則它們表示純虛數(shù)量 j。但在 MATLAB 程序編寫過程中
8、經(jīng)常事先改寫這兩個(gè)變量的值,如在循環(huán)過程中常用這兩個(gè)變量來表示循環(huán)變量,所以應(yīng)該確認(rèn)使用這兩個(gè)變量時(shí)沒被改寫。如果想恢復(fù)該變量,則可以用語句 i=sqrt(-1)設(shè)置,即對-1 求平方根。Inf無窮大量+8 的 MATLAB 表示,也可以寫成 inf。同樣地,-8 可以表示為-Inf。在MATLAB 程序執(zhí)行時(shí),即使遇到了以 0 為除數(shù)的運(yùn)算,也不會終止程序的運(yùn)行,而只給出一個(gè)“除 0警告,并將結(jié)果賦成 Inf,這樣的定義方式符合 IEEE 的標(biāo)準(zhǔn)。從數(shù)值運(yùn)算編程角度看,這樣的實(shí)現(xiàn)形式明顯優(yōu)于 C 這樣的非專業(yè)語言。NaN不定式(notanumber),通常由 0/0 運(yùn)算、Inf/Inf 及
9、其他可能的運(yùn)算得出。NaN是一個(gè)很奇特的量,如 NaN 與 Inf 的乘積仍為 NaN。pi-圓周率 n 的雙精度浮點(diǎn)表示。lasterr存放最新一次的錯(cuò)誤信息。此變量為字符串型,如果在本次執(zhí)行過程中沒出現(xiàn)這錯(cuò)誤,則此變量為空字符串。lastwarn存放最新的警告信息。若未出現(xiàn)過警告,則此變量為空字符串。保留的變量ans-存放最近一次無賦值變量語句的運(yùn)算結(jié)果。end最后一行(列)nargin函數(shù)輸入變量的實(shí)際個(gè)數(shù)nargout函數(shù)返回變量的實(shí)際個(gè)數(shù)保留字%-后接注釋數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)一、數(shù)值型結(jié)構(gòu)MATLAB 語言中最常用的數(shù)值量為雙精度浮點(diǎn)數(shù),占 8 個(gè)字節(jié)(PS:與 JAVA 的 doubl
10、e 型相同)(64 位),遵從 IEEE 記數(shù)法,有 11 個(gè)指數(shù)位、53 位尾數(shù)及一個(gè)符號位,值域的近似范圍為一1.7*10入308 至 1.7*10入308,其 MATLAB 表示為 double()??紤]至 U些特殊的應(yīng)用,MATLAB 語言還引入了無符號的 8 位整形數(shù)據(jù)類型,其 MATLAB 表示為uint8(),其值域?yàn)?0 至 255。此外,在 MATLAB 中還可以使用其他的數(shù)據(jù)類型,如int8(),int16(),int32(),uint16(),uint32()等,每一個(gè)類型后面的數(shù)字表示其位數(shù)。二、符號型結(jié)構(gòu)MATLAB 還定義了符號型變量,以區(qū)別于常規(guī)的數(shù)值型變量,可以
11、用于公式推導(dǎo)和數(shù)學(xué)問題的解析解法。 申明語句為 symsvar_listvar_props。 穡與型數(shù)值可以通過變精度算法函數(shù) vpa()以任意指定的精度顯示出來。三、其他數(shù)據(jù)結(jié)構(gòu)1. 字符串型數(shù)據(jù) MATLAB 支持字符串變量,可以用它來存儲相關(guān)的信息。和 C 語言等程序設(shè)計(jì)語言不同,MATLAB 字符串是用單引號括起來的,而不是用雙引號。2. 多維數(shù)組三維數(shù)組是一般矩陣的直接拓展。在直接編程中還可以使用維數(shù)更高的數(shù)組。3. 單元數(shù)據(jù)單元數(shù)組是矩陣的直接擴(kuò)展,其存儲格式類似于普通的矩陣,而矩陣的每個(gè)元素不是數(shù)值,可以認(rèn)為能存儲任意類型的信息,這樣每個(gè)元素稱為單元(cell)。4. 類與對象
12、MATLAB 允許用戶自己編寫包含各種復(fù)雜詳細(xì)的變量,亦即類變量。該變量可以包含各種下級的信息,還可以重新對類定義其計(jì)算,這在控制系統(tǒng)描述中特別有用?;菊Z句結(jié)構(gòu)一、直接賦值語句賦值變量=賦值表達(dá)式這一過程把等號右邊的表達(dá)式直接賦給左邊的賦值變量,并返回到 MATLAB 的工作空間。如果賦值表達(dá)式后面沒有分號,則將在 MATLAB 命令窗口中表示表達(dá)式的運(yùn)算結(jié)果。二、函數(shù)調(diào)用語句返回變量列表=函數(shù)名(輸入變量列表)三、冒號表達(dá)式v=s1:s2:s3該函數(shù)將生成一個(gè)行向量 v,其中 s1 為向量的起始值,s2 為步距,該向量將從 s1 出發(fā),每隔步距 s2 取一個(gè)點(diǎn),直至不超過 s3 的最大值就
13、可以構(gòu)成一個(gè)向量。若省略 s2,則步距取默認(rèn)值 1。(PS:“不超過取決 s2,若 s20 則為=s3,否則為=s3)四、子矩陣提取表達(dá)式B=A(v1,v2)v1 向量表示子矩陣要包含的行號構(gòu)成的向量, v2 表示要包含的列號構(gòu)成的向量, 這樣從 A矩陣中提取有關(guān)的行和列,就可以構(gòu)成子矩陣 B 了。若 v1 為:,則表示要提取所有的行,v2 亦然。矩陣的代數(shù)運(yùn)算一、矩陣轉(zhuǎn)置MATLAB 中用 A可以求出 A 矩陣的 Hermit 轉(zhuǎn)置(共軛轉(zhuǎn)置),矩陣的轉(zhuǎn)置則可以由A.求出。二、加減法運(yùn)算假設(shè)在 MATLAB 工作環(huán)境下有兩個(gè)矩陣A和 B,則可以由 C=A+B 和 C=A-B 命令執(zhí)行矩陣加減
14、法。若 A 和 B 矩陣的維數(shù)相同,它會自動(dòng)地將 A 和 B 矩陣的相應(yīng)元素相加減,并賦給 C變量。若二者之一為標(biāo)量,則將其遍加(減)于另一個(gè)矩陣。其它情況下,MATLAB 將報(bào)錯(cuò)。三、矩陣乘法MATLAB 語言中兩個(gè)矩陣的乘法由 C=A*B 直接求出, 且這里并不需要指定 A 和 B 矩陣的維數(shù)。若 A 和 B 矩陣的維數(shù)不相容(A 列數(shù)不等于 B 行數(shù)),則將報(bào)錯(cuò)。四、矩陣的左除MATLAB 中用“運(yùn)算符號表示兩個(gè)矩陣的左除,AB 為方程 AX=B 的解 X。若 A 為非奇異方陣,則 X=A-1B。五、矩陣的右除MATLAB 中定義了“/符號,用于右除,相當(dāng)于求方程 XA=B 的解。B/A
15、=(AB)六、矩陣翻轉(zhuǎn)MATLAB 提供了一些矩陣翻轉(zhuǎn)處理命令。七、矩陣乘方運(yùn)算在 MATLAB 中統(tǒng)一表示成 F=Axo八、點(diǎn)運(yùn)算兩個(gè)矩陣之間的點(diǎn)運(yùn)算是它們對應(yīng)元素的直接運(yùn)算,例如.*,等。矩陣的邏輯運(yùn)算在 MATLAB 語言中,如果一個(gè)數(shù)的值為 0 則可以認(rèn)為它為邏輯 0 否則為邏輯 1。(PS:包括負(fù)數(shù)和復(fù)數(shù))。一、矩陣的與運(yùn)算在 MATLAB 下用&號表示矩陣的與運(yùn)算二、矩陣的或運(yùn)算在 MATLAB 下用|號表示矩陣的或運(yùn)算三、矩陣的非運(yùn)算在 MATLAB 下用號表示矩陣的非運(yùn)算四、矩陣的異或運(yùn)算在 MATLAB 下矩陣A和 B 的異或運(yùn)算可以表示成 xor(A,B)。矩陣的比
16、較運(yùn)算=循環(huán)結(jié)構(gòu)一、for 語句的一般結(jié)構(gòu)fori=V,循環(huán)結(jié)構(gòu)體,end在 for 循環(huán)結(jié)構(gòu)中,V 為一個(gè)向量,循環(huán)變量 i 每次從 V 向量中取一個(gè)數(shù)值,執(zhí)行一次循環(huán)體的內(nèi)容,如此下去,直至執(zhí)行完 V 向量中所有的分量。二-while 循環(huán)的基本結(jié)構(gòu)while(條件式),循環(huán)結(jié)構(gòu)體,endwhile 循環(huán)中的條件式是一個(gè)邏輯表達(dá)式,若其值為真(非零)則將自動(dòng)執(zhí)行循環(huán)體的結(jié)構(gòu), 執(zhí)行完后再判定條件式的真?zhèn)危?為真則仍然執(zhí)行結(jié)構(gòu)體, 否則將退出循環(huán)結(jié)構(gòu)。轉(zhuǎn)移結(jié)構(gòu)其一般結(jié)構(gòu)為if(條件 1)%如果條件 1 滿足,則執(zhí)行下面的段落 1語句組 1%這里也可以嵌套下級的 if 結(jié)構(gòu)elseif(條件
17、2)%否則如果滿足條件 2,則執(zhí)行下面的段落 2語句組 2可以按照這樣的結(jié)構(gòu)設(shè)置多種轉(zhuǎn)移條件 else%上面的條件均不滿足時(shí), 執(zhí)行下面的段落語句組 n+1end開關(guān)結(jié)構(gòu)其基本結(jié)構(gòu)為switch 開關(guān)表達(dá)式case 表達(dá)式 1語句段 1case表達(dá)式 2,表達(dá)式 3,.,表達(dá)式 m語句段 2otherwise語句段 nend試探結(jié)構(gòu)結(jié)構(gòu)如下try,語句段 1,catch,語句段 2,end此結(jié)構(gòu)類似 C+中的異常處理機(jī)制函數(shù)結(jié)構(gòu)函數(shù)結(jié)構(gòu)一、MATLAB 的 M-函數(shù)是由 function 語句引導(dǎo)的,其基本結(jié)構(gòu)如下:function返回變量列表=函數(shù)名(輸入變量列表)注釋說明語句段,由引導(dǎo)輸入、返回變量格式的檢測函數(shù)體語句說明:1. 這里輸入和返回變量的實(shí)際個(gè)數(shù)分別由 nargin 和 nargout 給出。2. 返回變量如果多于 1 個(gè),則應(yīng)用方括號將它們括起來,否則可省去方括號。輸入變量之間用逗號分隔,返回變量用逗號或空格分隔。3. 函數(shù)可遞歸調(diào)用二、可變輸
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年廣東中考試題數(shù)學(xué)及答案
- 2025年國際組織筆試試題及答案
- 2025年三單元聲音測試題及答案
- 2025年凈空管理考試題及答案
- 2025年人工肛門考試試題及答案
- 2025年藥物化學(xué)試題及答案電大
- 2025年ue4面試題及答案
- 2025年體育生日常測試題及答案
- 2025年卒中中心考試試題及答案
- 2025年防控人員面試題及答案
- 安全管理知識培訓(xùn)課件
- 人工智能賦能教師數(shù)字素養(yǎng)提升
- 建筑力學(xué) 與結(jié)構(gòu)-筒體結(jié)構(gòu)體系的 類型及應(yīng)12課件講解
- 妊娠合并胃腸炎護(hù)理
- 【超星學(xué)習(xí)通】馬克思主義基本原理(南開大學(xué))爾雅章節(jié)測試網(wǎng)課答案
- 《勞動(dòng)工具的改進(jìn)設(shè)計(jì)》六年級綜合實(shí)踐課件
- TDT1055-2019第三次全國國土調(diào)查技術(shù)規(guī)程
- 【MOOC】電工學(xué)-中原工學(xué)院 中國大學(xué)慕課MOOC答案
- 濫用抗生素現(xiàn)狀及危害課件
- 2021年河南公務(wù)員行測考試真題及答案
- 廣告安裝施工及方案
評論
0/150
提交評論