《MATLAB教程》 第2講-數(shù)值計算_第1頁
《MATLAB教程》 第2講-數(shù)值計算_第2頁
《MATLAB教程》 第2講-數(shù)值計算_第3頁
《MATLAB教程》 第2講-數(shù)值計算_第4頁
《MATLAB教程》 第2講-數(shù)值計算_第5頁
已閱讀5頁,還剩128頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

第2講MATLAB數(shù)值計算2.1變量與數(shù)據(jù)2.2矩陣與數(shù)組2.3矩陣與數(shù)組運(yùn)算2.4多項(xiàng)式運(yùn)算2.5字符運(yùn)算12.1變量與數(shù)據(jù)2.1.1數(shù)據(jù)數(shù)據(jù)的表達(dá)方式:采用十進(jìn)制表示

矩陣和數(shù)組的概念:標(biāo)量:1×1的矩陣,即只含1個數(shù)的矩陣。向量:1×n或n×1的矩陣,即只含1行或1列的矩陣矩陣:1個矩形的數(shù)組,即二維數(shù)組,其中向量和標(biāo)量都是矩陣的特例數(shù)組:是指n維數(shù)組,為矩陣的延伸,其中矩陣和向量都是數(shù)組的特例。復(fù)數(shù):由實(shí)部和虛部組成,用特殊變量“i”和“j”表示虛數(shù)的單位

22.1.2變量變量的命名應(yīng)遵循如下規(guī)則:變量名必須以字母打頭,之后可以是字母、數(shù)字或下劃線,如x51483,a_b_c_d_e。變量名區(qū)分字母大小寫,如Items,items,itEms及ITEMS都是不同的變量。2.1變量與數(shù)據(jù)3變量名不允許使用空格、標(biāo)點(diǎn)符號。變量名最多可包含63個字符(對于7.x版本)。從前向后取,超出部分忽略。關(guān)鍵字(如if,while等)不能作為變量名。變量的命名應(yīng)遵循如下規(guī)則:2.1變量與數(shù)據(jù)4固定變量取值ans用于結(jié)果的缺省變量名pi圓周率eps計算機(jī)的最小數(shù),當(dāng)和1相加就產(chǎn)生一個比1大的數(shù)Inf無窮大,如1/0NaN不定量,如0/0i和jnargin所用函數(shù)的輸入變量數(shù)目nargout所用函數(shù)的輸出變量數(shù)目realmin最小可用正實(shí)數(shù)realmax最大可用正實(shí)數(shù)Matlab固定變量表虛數(shù)單位,i=j=52.1變量與數(shù)據(jù)62.1.3MATLAB的常用數(shù)學(xué)函數(shù)函數(shù)的調(diào)用格式為:函數(shù)名(變量)函數(shù)的變量即是MATLAB的矩陣變量,函數(shù)的運(yùn)算就是將函數(shù)運(yùn)算分別作用于函數(shù)變量(矩陣)的每一個元素。注意:1.MATLAB對弧度操作,若為角度,則換成弧度。2.MATLAB系統(tǒng)提供的所有函數(shù)名都是小寫字母。7MATLAB函數(shù)應(yīng)用示例8MATLAB函數(shù)應(yīng)用示例9MATLAB函數(shù)應(yīng)用示例10對零方向取整數(shù)對方向取整數(shù)對方向取整數(shù)11常用對數(shù)(以10為底)自然對數(shù)(以e為底)122.2矩陣和數(shù)組2.2.1矩陣的賦值2.2.2向量的生成2.2.3矩陣元素2.2.4復(fù)數(shù)表示132.2.1矩陣的賦值(1)直接輸入法創(chuàng)建矩陣矩陣的所有元素必須放在方括號“[]”內(nèi);矩陣元素之間必須用逗號“,”或空格隔開;矩陣行與行之間用分號“;”或回車符隔開;矩陣元素可以是任何不含未定義變量的表達(dá)式;標(biāo)點(diǎn)符號一定要在英文狀態(tài)下輸入。14矩陣元素用空格或逗號分隔,整個矩陣放在方括號內(nèi)。15矩陣的行用分號或回車符隔開。16矩陣?yán)锏脑匾部梢杂帽磉_(dá)式代替,表達(dá)式由變量名、常數(shù)、函數(shù)和運(yùn)算符構(gòu)成。

4*sin(2*t)s*a+b/c

sqrt(2)*exp(-i*4)>>X=[-1.3,sqrt(3),(1+2+3)/5*4]X=-1.30001.73214.800017方括號外的分號表示不顯示定義的數(shù)據(jù)。1819注意數(shù)據(jù)的顯示格式20(2)利用MATLAB函數(shù)創(chuàng)建特殊矩陣命令說明A=[]空矩陣,即沒有元素的矩陣A=eye(n)n維單位陣A=ones(n,m)全部元素都為1的n行m列的矩陣A=ones(n)全部元素都為1的n階方陣A=zeros(n,m)全部元素都為0的n行m列的矩陣A=zeros(n)全部元素都為0的n階方陣A=rand(n,m)元素服從[0,1]區(qū)間均勻分布的n行m列的隨機(jī)矩陣A=rand(n)元素服從[0,1]區(qū)間均勻分布的n階隨機(jī)方陣A=randn(n,m)元素服從標(biāo)準(zhǔn)正態(tài)分布的n行m列的隨機(jī)矩陣A=randn(n)元素服從標(biāo)準(zhǔn)正態(tài)分布的n階隨機(jī)方陣21222.2.2向量的生成(1).利用冒號“:”運(yùn)算生成向量

a=m:n%生成步長值為1的均勻等分行向 量,m和n分別代表向量的起始 值和終止值。

a=m:p:n %生成步長值為p的均勻等分行 向量,m和n分別代表向量的起始 值和終止值,p代表向量元素之間 步長值。2324(2).利用函數(shù)linspace()和logspace()生成向量linspace(m,n) %生成從m到n之間的100個

線性等分點(diǎn)的行向量。linspace(m,n,s) %生成從m到n之間的s個線性 等分點(diǎn)的行向量。logspace(m,n) %生成從10m到10n之間50個按 對數(shù)等分點(diǎn)的行向量。logspace(m,n,s) %生成從10m到10n之間s個按 對數(shù)等分點(diǎn)的行向量。2.2.2向量的生成2526272.2.3矩陣的元素在MATLAB系統(tǒng)中,矩陣的元素是通過其行、列的標(biāo)號來標(biāo)識的,矩陣元素所處的行號和列號稱為該元素的下標(biāo)。矩陣元素可以通過其下標(biāo)來引用,A(i,j)即表示矩陣A的第i行第j列的元素。注意:在MATLAB中,矩陣下標(biāo)的行、列號都 是從1開始的(1)矩陣的下標(biāo)282941016282947757150345423131303在MATLAB的內(nèi)部數(shù)據(jù)儲存結(jié)構(gòu)中,每一個矩陣都是一個以列為主的向量,因此對于矩陣內(nèi)各元素的存取是按列來進(jìn)行總排。冒號“:”表示“全部”。30(2)矩陣的賦值全下標(biāo)方式:A(i,j)=B給A矩陣的部分元素賦值,則B矩陣的行列數(shù)必須等于A矩陣的行列數(shù)。>>A(1:2,1:3)=[111;111]

A=1116211147757150345423136032.2.3矩陣的元素31單下標(biāo)方式:A(s)=b,b為向量,元素個數(shù)必須等于A矩陣的元素個數(shù)。>>

A(5:6)=[23]A=131621114775715034542136032.2.3矩陣的元素32全元素方式:A(:)=B,給A矩陣的所有元素賦值則B矩陣的元素總數(shù)必須等于A矩陣的元素總數(shù),但行列數(shù)不一定相等>>A=[12;34;56]A=1234562.2.3矩陣的元素33(3)矩陣元素的刪除

在MATLAB中可以對矩陣的單個元素、子矩陣塊和所有元素進(jìn)行刪除操作,就是簡單地將其復(fù)制為空矩陣(用[]表示)2.2.3矩陣的元素>>A(1)=[]

%刪除1個元素A=47258

>>A=[123;456;789]

A=123456789>>A(:,3)=[]

%刪除一列元素

A=124578

>>A=[]

%刪除所有元素為空矩陣

A=[]

A變?yōu)樾邢蛄?4(4)生成大矩陣在MATLAB中,可以通過方括號“[]”實(shí)現(xiàn)將小矩陣聯(lián)接起來生成1個較大的矩陣2.2.3矩陣的元素>>a=[123;456;789]

a=123456789>>[a;a]

%連結(jié)成6*3的矩陣

ans=123456789123456789>>[aa]

%連結(jié)成3*6的矩陣

ans=12312345645678978935(5)矩陣維數(shù)的擴(kuò)大與縮小MATLAB已定義的矩陣的維數(shù)可以擴(kuò)大,也可以縮小。如果輸入的同名矩陣的維數(shù)小于或大于原矩陣維數(shù),MATLAB認(rèn)為是原矩陣修改了部分元素或子塊。增加矩陣的維數(shù)時,可以只給出非零元素,MATLAB自動將未定義元素設(shè)為0。減小矩陣維數(shù)時,必須使用“[]”命令來對行或列進(jìn)行操作,則相應(yīng)的行或列即被刪除。2.2.3矩陣的元素36增加矩陣的維數(shù)時,可以只給出非零元素,MATLAB自動將未定義元素設(shè)為03738“空矩陣”是指沒有元素的矩陣,對任何一個矩陣賦值[],就是使它的元素都必須消失掉??站仃囀鞘咕仃嚳s小時不可缺少的概念。39刪除矩陣A的第二列40刪除第一行和第四行414243在原矩陣A中再加入一行。44(6)

矩陣的翻轉(zhuǎn)矩陣的翻轉(zhuǎn)及對角化操作函數(shù)命令說明flipud(A)矩陣作上下翻轉(zhuǎn)fliplr(A)矩陣作左右翻轉(zhuǎn)rot90(A)矩陣逆時針翻轉(zhuǎn)90°diag(A)提取矩陣A的對角元素,返回列向量diag(V)以列向量V作對角元素創(chuàng)建對角矩陣tril(A)提取矩陣A的下三角矩陣triu(A)提取矩陣A的上三角矩陣4546列向量V為列向量47(7)矩陣的大小矩陣大小查詢命令命令說明whos顯示工作空間中存在的變量及大小[n,m]=size(A)返回A矩陣的行數(shù)和列數(shù)n=length(A)返回A矩陣行、列數(shù)中較大值[n,m]=find(A)或n=find(A)給出矩陣非零元素的行、列標(biāo)記482.2.4復(fù)數(shù)表示MATLAB的每一個元素都可以是復(fù)數(shù),實(shí)數(shù)是復(fù)數(shù)的特例。復(fù)數(shù)的虛數(shù)部分用i或j表示,這是在MATLAB啟動時就在內(nèi)部設(shè)定的。49只有數(shù)字和i的乘積可省略乘號“*”5051復(fù)數(shù)矩陣的生成方法(1)將其元素逐個賦予復(fù)數(shù)52復(fù)數(shù)矩陣的生成方法(2)將其實(shí)部和虛部矩陣分別賦值這里的星號“*”不能省略532.3矩陣與數(shù)組運(yùn)算2.3.1矩陣與數(shù)組的算術(shù)運(yùn)算2.3.2矩陣與數(shù)組的關(guān)系運(yùn)算2.3.3矩陣與數(shù)組的邏輯運(yùn)算2.3.4矩陣函數(shù)542.3矩陣與數(shù)組運(yùn)算2.3.1矩陣與數(shù)組的算術(shù)運(yùn)算MATLAB的基本算術(shù)運(yùn)算符數(shù)學(xué)表達(dá)式矩陣運(yùn)算符數(shù)組運(yùn)算符加a+ba+ba+b減a-ba-ba-b乘a*ba*ba.*b除a÷ba/b或b\aa./b或b.\a冪aba^ba.^b圓括號()()()552.3矩陣與數(shù)組運(yùn)算2.3.1矩陣與數(shù)組的算術(shù)運(yùn)算矩陣A和B的維數(shù)完全相同時,可以進(jìn)行矩陣加減法運(yùn)算,MATLAB會自動地使得A和B的相應(yīng)元素相加減。兩矩陣維數(shù)不等時,不能進(jìn)行該運(yùn)算。矩陣與標(biāo)量的運(yùn)算完成矩陣的每一個元素對該標(biāo)量的運(yùn)算。56兩矩陣A和B的維數(shù)相容時(A的列數(shù)等于B的行數(shù)),可以進(jìn)行乘法運(yùn)算。注意:矩陣的乘法分為左乘和右乘。矩陣的除法運(yùn)算包括左除和右除兩種:矩陣的除法運(yùn)算實(shí)際上是求AX=B的解的過程MATLAB用“^”表示乘方,求矩陣乘方時要求矩陣為方陣。57矩陣的轉(zhuǎn)置用A’表示若矩陣為復(fù)數(shù)矩陣,求轉(zhuǎn)置時首先對矩陣元素進(jìn)行轉(zhuǎn)置,然后再逐項(xiàng)求取其共軛數(shù)值。對于實(shí)矩陣用(A')或(A.’)求轉(zhuǎn)置結(jié)果是一樣的;然而對于含復(fù)數(shù)的矩陣,則(A')將同時對復(fù)數(shù)進(jìn)行共軛處理,而(A.’)則只是將其排列形式進(jìn)行轉(zhuǎn)置。矩陣的轉(zhuǎn)置還可用A.’表示2.3.1矩陣與數(shù)組的算術(shù)運(yùn)算58兩個矩陣之間的點(diǎn)運(yùn)算是兩矩陣對應(yīng)元素的直接運(yùn)算,因此要求參與運(yùn)算的兩個矩陣的維數(shù)一致。矩陣求冪的運(yùn)算包括矩陣與常數(shù)和矩陣與矩陣的冪運(yùn)算,用點(diǎn)運(yùn)算的形式表示。在使用MATLAB的算術(shù)運(yùn)算符時,一定要注意普通運(yùn)算與點(diǎn)運(yùn)算之間的區(qū)別。2.3.1矩陣與數(shù)組的算術(shù)運(yùn)算592.3.2矩陣的關(guān)系運(yùn)算運(yùn)算符名稱==等于~=不等于>大于<小于>=大于等于<=小于等于MATLAB的基本關(guān)系運(yùn)算符及其功能60參與關(guān)系運(yùn)算的矩陣必須是同維矩陣或其中之一為標(biāo)量。當(dāng)參與運(yùn)算的矩陣之一為標(biāo)量時,關(guān)系運(yùn)算的結(jié)果是將矩陣的每一個元素與該標(biāo)量逐一進(jìn)行關(guān)系比較,若關(guān)系成立則比較結(jié)果值為“1”,若關(guān)系不成立則比較結(jié)果值為“0”。關(guān)系運(yùn)算的規(guī)則2.3.2矩陣的關(guān)系運(yùn)算61當(dāng)參與運(yùn)算的矩陣是兩同維矩陣A和B時,關(guān)系運(yùn)算的結(jié)果是將矩陣A和B下標(biāo)相同的對應(yīng)元素逐一進(jìn)行關(guān)系比較,若關(guān)系成立則比較結(jié)果值為“1”,若關(guān)系不成立則比較結(jié)果值為“0”。也即關(guān)系運(yùn)算的結(jié)果是生成一個與A和B維數(shù)相同的矩陣,其元素值為“0”或“1”。

算術(shù)運(yùn)算比關(guān)系運(yùn)算具有更高的優(yōu)先權(quán)。關(guān)系運(yùn)算的規(guī)則2.3.2矩陣與數(shù)組的關(guān)系運(yùn)算62通常,為了改善程序的可讀性,可用括號將關(guān)系運(yùn)算表達(dá)式括起來。632.3.3矩陣與數(shù)組的邏輯運(yùn)算MATLAB的基本邏輯運(yùn)算符及其對應(yīng)功能運(yùn)算符名稱&邏輯與|邏輯或~邏輯非xor與非在邏輯運(yùn)算中,所有非零元素的邏輯值為“真”,用代碼“1”表示,值為零的元素的邏輯值為“假”,用代碼“0”表示。64三種邏輯運(yùn)算的真值表aba&ba|b~axor(a,b)1111000101111001010000102.3.3矩陣與數(shù)組的邏輯運(yùn)算65邏輯運(yùn)算的規(guī)則參與邏輯運(yùn)算的矩陣必須是同維矩陣或其中之一為標(biāo)量。邏輯運(yùn)算的結(jié)果按照邏輯運(yùn)算真值表生成。

當(dāng)參與運(yùn)算的矩陣之一為標(biāo)量時,邏輯運(yùn)算的結(jié)果是將矩陣的每一個元素與該標(biāo)量逐一進(jìn)行邏輯運(yùn)算。2.3.3矩陣與數(shù)組的邏輯運(yùn)算66當(dāng)參與運(yùn)算的矩陣是兩同維矩陣

A和B時,邏輯運(yùn)算的結(jié)果是將矩陣A和B下標(biāo)相同的對應(yīng)元素逐一進(jìn)行邏輯運(yùn)算。邏輯運(yùn)算的結(jié)果是生成一個與A和B維數(shù)相同的矩陣,其元素值為“0”或“1”。邏輯運(yùn)算的規(guī)則2.3.3矩陣與數(shù)組的邏輯運(yùn)算676869命令說明命令說明find找到非零元素的序號isinfinite元素為有限值時得1isempty矩陣為空時得1isnan元素為NaN時得1isinf元素為Inf時得1isreal矩陣為實(shí)數(shù)陣時得1isstr矩陣為文本字符串時得1issparse矩陣為稀疏陣時得1邏輯字符檢查命令及其說明2.3.3矩陣的邏輯運(yùn)算702.3.3矩陣的邏輯運(yùn)算712.3.4矩陣函數(shù)常用的矩陣函數(shù)的簡短描述命令說明eig(A)求矩陣的特征值,返回列向量det(A)行列式計算expm(A)矩陣求冪,不是點(diǎn)運(yùn)算inv(A)求A矩陣的逆陣logm(A)矩陣的對數(shù),不是點(diǎn)運(yùn)算poly(A)求矩陣A的特征多項(xiàng)式,返回行向量sqrtm(A)矩陣平方根,不是點(diǎn)運(yùn)算trace(A)求矩陣A對角元素之和72矩陣A的特征值矩陣對角元素之和矩陣特征多項(xiàng)式求A的行列式的值73求矩陣A的逆陣74Sqrtm命令與sqrt不同矩陣平方根75矩陣的對數(shù)76使用時應(yīng)注意這些對命令之間的區(qū)別矩陣求冪77一些數(shù)據(jù)處理命令命令說明max求最大元素值min求最小元素值mean求元素的平均值std求元素的標(biāo)準(zhǔn)差median求中間元素值sum求各元素之和78學(xué)生的身高和三門課程分?jǐn)?shù)79學(xué)生的身高和三門課程分?jǐn)?shù)802.4多項(xiàng)式運(yùn)算2.4.1多項(xiàng)式的表達(dá)與創(chuàng)建2.4.2多項(xiàng)式求根及其逆運(yùn)算2.4.3多項(xiàng)式的四則運(yùn)算2.4.5有理多項(xiàng)式2.4.4多項(xiàng)式的微分與賦值運(yùn)算812.4多項(xiàng)式運(yùn)算2.4.1多項(xiàng)式的表達(dá)與創(chuàng)建MATLAB采用將多項(xiàng)式的系數(shù)按降冪次序排列而形成的行向量來表征一多項(xiàng)式。多項(xiàng)式:多項(xiàng)式的行向量:82表示多項(xiàng)式的行向量元素的個數(shù)應(yīng)該為多項(xiàng)式的最高冪次加一。832.4.2多項(xiàng)式求根及其逆運(yùn)算函數(shù)roots()用于對多項(xiàng)式求根,求出的根按列向量存儲;函數(shù)poly()用于由給定的根的列向量求多項(xiàng)式的系數(shù),求出的系數(shù)按行向量存儲。84多項(xiàng)式的根按列向量存儲多項(xiàng)式的系數(shù)按行向量存儲852.4.3多項(xiàng)式的四則運(yùn)算(1)加法與減法多項(xiàng)式的加減法為多項(xiàng)式對應(yīng)元素的加減法。多項(xiàng)式的階數(shù)可以不同,但在多項(xiàng)式定義時,應(yīng)當(dāng)補(bǔ)充0元素使其行向量元素數(shù)目相等,否則不能相加減。868788(2)乘法兩個多項(xiàng)式相乘由函數(shù)conv()來完成,其調(diào)用格式為:R=conv(A,B)(3)除法[d,r]=deconv(c,a)命令完成多項(xiàng)式除運(yùn)算d:商的系數(shù)向量;r:余子式的系數(shù)向量。2.4.3多項(xiàng)式的四則運(yùn)算8990912.4.4多項(xiàng)式的微分與賦值運(yùn)算(1)微分運(yùn)算多項(xiàng)式的微分由命令polyder完成(2)賦值運(yùn)算給出x的范圍,命令polyval可計算多項(xiàng)式的值。92932.4.5有理多項(xiàng)式MATLAB中的有理多項(xiàng)式是由分子多項(xiàng)式和分母多項(xiàng)式表示的,可以用residue命令進(jìn)行部分分式展開。該命令的形式為: [r,p,k]=residue(num,den)根據(jù)給出的r,p,k的值,同樣可以用residue命令求出有理多項(xiàng)式形式,命令格式為: [num,den]=residue(r,p,k)942.5字符運(yùn)算在MATLAB中,字符串就是一個字符數(shù)組。在MATLAB系統(tǒng)內(nèi)部,每一個字符都由相應(yīng)的ASCII碼數(shù)值進(jìn)行存儲,但在屏幕上顯示的是字符串,除了特殊的用途,一般情況下我們不訪問這些數(shù)值。2.5.1字符串?dāng)?shù)組的創(chuàng)建在MATLAB中所有字符串都用單引號界定后輸入或賦值,單引號必須在英文狀態(tài)下輸入。字符串的每個字符(空格也是字符)都是相應(yīng)矩陣的一個元素,每個字符占用2個字節(jié)存儲。95字符串是以行向量的形式存儲的2.5.1字符串?dāng)?shù)組的創(chuàng)建96字符串也可以用方括號合并成更大的“串”2.5.1字符串?dāng)?shù)組的創(chuàng)建97建立二維字符數(shù)組與建立數(shù)據(jù)數(shù)組一樣可以直接輸入,需要加方括號,并且每行之間用分號隔開,但每行的字符數(shù)目必須一致。98建立二維字符數(shù)組的另一個方法是用str2mat

函數(shù)把字符串轉(zhuǎn)換為字符數(shù)組,這種方法允許用不一樣長度的字符串。2

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論