




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第2 章 Matlab語言基礎(chǔ)* Matlab變量。 Matlab基本運算。掌握Matlab變量命名規(guī)則;掌握Matlab中算術(shù)運算、關(guān)系運算符、邏輯運算、操作符表達方式和運算符的含義,并了解常用函數(shù)的使用;掌握Matlab中向量運算、矩陣運算、數(shù)組運算、字符串運算。本章學(xué)習(xí)要求學(xué)習(xí)重點和難點 重點:變量與運算。2.1 基本概念變量(包括函數(shù))的命名規(guī)則:由英文字母、數(shù)字和下劃線混合組成,不得包含空格和標(biāo)點 ;第一個字符必須是英文字母,變量名不能超過63個字符,對于6.5版最多包括31個字符;對字母的大小寫敏感。關(guān)鍵字(if、while等)不能作為變量名;最好不要用特殊常量符號作變量名。變量的
2、命名例子:指出下面變量命名是否正確:(1) _A (2) 32 (3) r89 (4) exp,4 (5)4_ep (6)exp 32 常量與變量變量的命名固定變量:在MATLAB中有一些特定的變量,它們已經(jīng)被預(yù)定義了某個特定的值。MATLAB中的固定變量主要有pi、inf和eps等(見書2-1表)。固定變量功 能固定變量功 能ans用作結(jié)果的默認變量名nargin函數(shù)的輸入?yún)?shù)個數(shù)beep使計算機發(fā)出“嘟嘟”聲nargout函數(shù)的輸出參數(shù)個數(shù)pi圓周率varagin可變的函數(shù)輸入?yún)?shù)個數(shù)eps浮點數(shù)相對誤差varagout可變的函數(shù)輸出參數(shù)個數(shù)inf無窮大realmin最小的正浮點數(shù)NaN或
3、nan不定數(shù)realmax最大的正浮點數(shù)i或j復(fù)數(shù)單位bitmax最大的正整數(shù)運算符算術(shù)運算符:注意左除、右除關(guān)系運算符邏輯運算符運算符優(yōu)先級算術(shù)運算(加)、(減)、*(乘)、/(右除)、(左除)、(乘方)。注意,運算是在矩陣意義下進行的,單個數(shù)據(jù)的算術(shù)運算只是一種特例。加減運算規(guī)則是:若A和B矩陣的維數(shù)相同,則可以執(zhí)行矩陣的加減運算,A和B矩陣的相應(yīng)元素相加減。如果A與B的維數(shù)不相同,則MATLAB將給出錯誤信息,提示用戶兩個矩陣的維數(shù)不匹配。矩陣乘法: 假定有兩個矩陣A和B,若A為mn矩陣,B為np矩陣,則C=A*B為mp矩陣。矩陣除法中“”左除和“/”右除。如果A矩陣是非奇異方陣,則AB
4、和B/A運算可以實現(xiàn)。AB等效于A的逆左乘B矩陣,也就是inv(A)*B,而B/A等效于A矩陣的逆右乘B矩陣,也就是B*inv(A)。(斜線下方的求逆)矩陣除法,對于含有標(biāo)量的運算,兩種除法運算的結(jié)果相同,如3/4和43有相同的值,都等于0.75。又如,設(shè)a=10.5,25,則a/5=5a=2.1000 5.0000。對于矩陣來說,左除和右除表示兩種不同的除數(shù)矩陣和被除數(shù)矩陣的關(guān)系。對于矩陣運算,一般ABB/A。點運算符號“.*” 、“./”、 “.” 、“.”例子:a=1 2; 3 4 b= 0 2; 1 0 兩矩陣對應(yīng)元素進行相關(guān)運算 兩矩陣維數(shù)相同注意:區(qū)分數(shù)組運算和矩陣運算的異同(重點
5、)a*b=2 2 4 6a.*b=0 4 3 0 當(dāng)參與算術(shù)運算的一個是標(biāo)量,另一個是矩陣時,則把標(biāo)量與矩陣的每一個元素逐個進行相關(guān)運算關(guān)系運算MATLAB提供了6種關(guān)系運算符:運 算 符說 明=等于=不等于大于=不小于=不大于若關(guān)系成立,關(guān)系表達式結(jié)果為1,否則為0關(guān)系運算符的運算法則為: (1) 當(dāng)兩個比較量是標(biāo)量時,直接比較兩數(shù)的大小。若關(guān)系成立,關(guān)系表達式結(jié)果為1,否則為0。 (2) 當(dāng)參與比較的量是兩個維數(shù)相同的矩陣時,比較是對兩矩陣相同位置的元素按標(biāo)量關(guān)系運算規(guī)則逐個進行,并給出元素比較結(jié)果。最終的關(guān)系運算的結(jié)果是一個維數(shù)與原矩陣相同的矩陣,它的元素由0或1組成。 (3) 當(dāng)參與比
6、較的一個是標(biāo)量,而另一個是矩陣時,則把標(biāo)量與矩陣的每一個元素按標(biāo)量關(guān)系運算規(guī)則逐個比較,并給出元素比較結(jié)果。最終的關(guān)系運算的結(jié)果是一個維數(shù)與原矩陣相同的矩陣,它的元素由0或1組成。邏輯運算 MATLAB提供了3種邏輯運算符:&(與)、|(或)和(非)。邏輯運算的運算法則為: (1) 在邏輯運算中,確認非零元素為真,用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) 先決與 A&B - 若A為
7、1,則A&B;若A為0,則A&B為0 先決或 A|B - 若A為1,則A|B 為1;若A為0,則A|B注意:C語言和Matlab定義的邏輯運算符并不一致C語言里面:(&, |, ) 表示位運算符(&,|,!) 表示邏輯運算符(4) 若參與邏輯運算的是兩個同維矩陣,那么運算將對矩陣相同位置上的元素按標(biāo)量規(guī)則逐個進行。最終運算結(jié)果是一個與原矩陣同維的矩陣,其元素由1或0組成。(5) 若參與邏輯運算的一個是標(biāo)量,一個是矩陣,那么運算將在標(biāo)量與矩陣中的每個元素之間按標(biāo)量規(guī)則逐個進行。最終運算結(jié)果是一個與矩陣同維的矩陣,其元素由1或0組成。(6) 邏輯非是單目運算符,也服從矩陣運算規(guī)則。(7) 在算術(shù)、
8、關(guān)系、邏輯運算中,算術(shù)運算優(yōu)先級最高,其次是關(guān)系運算,邏輯運算優(yōu)先級最低。例子:b + a c - a (b + a) (c a)運算優(yōu)先表優(yōu)先級運 算 符最高( )(小括號).(轉(zhuǎn)置) (共軛轉(zhuǎn)置) . (數(shù)組和數(shù)值乘方) (矩陣乘方)+(一元加法) - (一元減法) (取反).*(乘法) *(矩陣乘法) ./(右除) /(矩陣右除) .(左除) (矩陣左除)+(加法) -(減法): (冒號) (小于) (大于) =()大于或等于 =(等于) =()不等于& (邏輯與)| (邏輯或)& (先決與)最低| (先決或)2.2 向量運算向量的生成: (1) 直接輸入法 (2) 冒號表示法:注意格式
9、;注意an,a1與步長的關(guān)系。 (3) 函數(shù)法:線性等分A=linspace(a1, an ,n) n代表的是點的數(shù)目,即分成n-1等分, 步長應(yīng)當(dāng)是(an-a1 )/(n-1) 對數(shù)等分A=logspace(a1, an ,n) 在a1 和 an 之間插入n-2個數(shù),構(gòu)成等比數(shù)列向量的加減和數(shù)乘運算 維數(shù)相同的行向量之間可以相加減,維數(shù)相同的列向量也可以相加減,標(biāo)量數(shù)值可以與向量直接相乘除。向量的點叉積運算: (1) 點積運算 dot(A,B) ,A、B是維數(shù)相同的兩向量。 (2) 叉積運算 cross(A,B), A、B只能是三維向量。 (3) 混合積運算2.3 矩陣運算矩陣元素的存儲次序
10、 Matlab規(guī)定矩陣元素在存儲器中的存放次序是按列的先后順序存放。矩陣元素的表示及相關(guān)操作 (1) 元素的下標(biāo)表示法: 全下標(biāo)方式A(i,j); 單下標(biāo)方式A(s), s=(j-1)*m+i。 全下標(biāo)方式與存儲方式有關(guān)。只要有逗號就不是單下標(biāo)。 如果只有一個冒號,則列出所有元素。如A(:), A(:,:) 矩陣元素的賦值 全下標(biāo)方式;單下標(biāo)方式;全元素方式。 注意:后兩種方式賦值的矩陣必須是被引用過的矩陣。矩陣元素的刪除 可以用空矩陣將矩陣中的單個元素、某行、某列、某矩陣子塊及整個矩陣中的元素刪除。矩陣的創(chuàng)建在命令窗口直接輸入直接輸入需遵循以下基本規(guī)則:整個矩陣應(yīng)以“ ”為首尾,即整個輸入矩
11、陣必須包含在方括號中;矩陣中,行與行之間必須用分號“;”或 Enter 鍵( 按Enter 鍵)符分隔;每行中的元素用逗號“ ,”或空格分隔; 矩陣中的元素可以是數(shù)字或表達式,但表達式中不可包含未知的變量,MATLAB用表達式的值為該位置的矩陣元素賦值。當(dāng)矩陣中沒有任何元素時,該矩陣被稱作“ 空陣”( Empty Matrix)。抽取法 從已建好的矩陣中抽部分元素建新矩陣。 全下標(biāo)方式 單下標(biāo)方式拼接法 前面是從大矩陣中取小矩陣,這兒是小矩陣組合為大矩陣。(4) 函數(shù)法% ones 生成全部元素為 1 的矩陣 ones(3,4) ans = 1 1 1 1 1 1 1 1 1 1 1 1 F=
12、5*ones(3)F = 5 5 5 5 5 5 5 5 5% zeros 生成全部元素為0的矩陣 Z=zeros(2,4)Z = 0 0 0 0 0 0 0 0% rand 生成均勻分布的隨機矩陣 R=rand(4) R = 0.9501 0.8913 0.8214 0.9218 0.2311 0.7621 0.4447 0.7382 0.6068 0.4565 0.6154 0.1763 0.4860 0.0185 0.7919 0.4057% eye 生成單位陣 S=eye(6) S = 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0
13、0 0 0 1 0 0 0 0 0 0 1% size獲取指定矩陣的行數(shù)和列數(shù)size(S)ans= 6 6拼接函數(shù)和變形函數(shù)法 cat(n,A1,A2,A3,),n=1行向拼接,n=2縱向拼接, n2拼接出的是多維數(shù)組。 repmat(A,m,n),行數(shù)和列數(shù)分別是原來的m、n倍。 reshape(A,m,n),行列數(shù)使元素總數(shù)一樣。加載法 用load命令輸入 用Import 菜單輸入M文件法 A=1,2,3,4,5 6,7,8,9,10 11,12,13,14,15 16,17,18,19,2021,22,23,24,25將該文件存為af.m,當(dāng)用戶在Matlab命令窗口內(nèi)輸入:af將顯示
14、用戶所創(chuàng)建的矩陣矩陣的代數(shù)運算求行列式的值:det(A)矩陣加減、數(shù)乘與乘法 參與加減運算的矩陣必須是同階矩陣,矩陣相乘有定義的前提是兩矩陣內(nèi)階相等。求矩陣的逆矩陣:inv(A)矩陣的除法 左除 AB=inv(A)*B, 右除A/B=A*inv(B)(5) 求矩陣的秩:rank(A)(6) 求矩陣的特征值與特征向量:在Matlab中,計算矩陣A的特征值和特征向量的函數(shù)是eig(A),常用的調(diào)用格式有3種:E=eig(A):求矩陣A的全部特征值,構(gòu)成向量E。V,D=eig(A):先對矩陣A作相似變換,然后求矩陣A的全部特征值,構(gòu)成對角陣D,并求A的特征向量構(gòu)成V的列向量V,D=eig(A,nob
15、alance):直接求矩陣A的特征值和特征向量。下面的語句是不允許的,因為A不是字符串,然而MATLAB不會產(chǎn)生錯誤。eig A ans = 65 MATLAB實際上取出與字母A相等的ASCII碼數(shù)值的特征值(是65)。(7) 矩陣的乘冪與開方:矩陣必須是方陣(8) 矩陣的指數(shù)與對數(shù):expm(A); logm(A)(9) 矩陣轉(zhuǎn)置:單純轉(zhuǎn)置transpose(Z)(10) 矩陣的提取與翻轉(zhuǎn)2.4 數(shù)組運算前面是針對每個矩陣進行的運算,這兒是針對每個元素進行運算多維數(shù)組元素的存儲次序 A(i,j,k):數(shù)組A中第i行,第j列,第k頁的元素。 存放的優(yōu)先次序:頁,列,行。(2) 多維數(shù)組的創(chuàng)建(
16、3) 數(shù)組的代數(shù)運算(4) 數(shù)組的關(guān)系與邏輯運算(5) 數(shù)組和矩陣函數(shù)的通用形式 表2-13,表2-142.5 字符串運算MATLAB真正強有力的地方在于它的數(shù)值處理能力。然而,經(jīng)常希望操作文本,例如把標(biāo)號和標(biāo)題放在圖上。在MATLAB里,文本當(dāng)作特征字符串或簡單地當(dāng)作字符串。字符串內(nèi)的單引號是由兩個連續(xù)的單引號來表示。字符串連接可以直接從數(shù)組連接中得到。字符串函數(shù)eval(string) 作為一個MATLAB 命令求字符串的值eval(try,catch)blanks(n) 返回一個n 個零或空格的字符串deblank 去掉字符串中后拖的空格feval 求由字符串給定的函數(shù)值findstr 從一個字符串內(nèi)找出字符串isletter 字母存在時返回真值isspace 空格字符存在時返回真值isstr 輸入是一個字符串,返回真值lasterr 返回上一個所產(chǎn)生MATLAB 錯誤的字
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 漁船租賃業(yè)務(wù)合同協(xié)議
- 銀行信托計劃保管合同模板
- 供港農(nóng)產(chǎn)品購銷合同代理協(xié)議(樣本)
- 國有林權(quán)出讓合同
- 畢業(yè)生實習(xí)與勞動合同解析
- 渠道合作銷售合同范本
- 合同法視角:股東不履行義務(wù)糾紛案例分析
- 新車銷售團隊心理素質(zhì)訓(xùn)練考核試卷
- 木制拼圖游戲考核試卷
- 世界音樂教育項目的策劃與實施考核試卷
- 部編版小學(xué)(2024版)小學(xué)道德與法治一年級下冊《有個新目標(biāo)》-第一課時教學(xué)課件
- 稅法(第5版) 課件 第13章 印花稅
- 建加油站申請書
- 2024-2025學(xué)年廣州市高二語文上學(xué)期期末考試卷附答案解析
- 咖啡店合同咖啡店合作經(jīng)營協(xié)議
- 2025年山東鋁業(yè)職業(yè)學(xué)院高職單招職業(yè)技能測試近5年??及鎱⒖碱}庫含答案解析
- 全套電子課件:技能成就夢想
- 2024年教育公共基礎(chǔ)知識筆記
- 2025年江蘇農(nóng)林職業(yè)技術(shù)學(xué)院高職單招職業(yè)技能測試近5年??及鎱⒖碱}庫含答案解析
- 異構(gòu)數(shù)據(jù)融合技術(shù)-深度研究
- 北京市朝陽區(qū)2024-2025學(xué)年七年級上學(xué)期期末考試數(shù)學(xué)試卷(含答案)
評論
0/150
提交評論