Matlab數(shù)據(jù)處理與分析_第1頁
Matlab數(shù)據(jù)處理與分析_第2頁
Matlab數(shù)據(jù)處理與分析_第3頁
Matlab數(shù)據(jù)處理與分析_第4頁
Matlab數(shù)據(jù)處理與分析_第5頁
已閱讀5頁,還剩61頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

前百

MATLAB始終是國際科學(xué)界應(yīng)用和影響最廣泛的軟件工具,有

著Mathematica和Maple無法比擬的優(yōu)勢和適用面。它不僅僅是

一款數(shù)學(xué)軟件,應(yīng)用于微積分、概率統(tǒng)計、復(fù)變函數(shù)、線性變換、

解方程、最優(yōu)化、插值與數(shù)據(jù)顯示等方面,也應(yīng)用于模糊邏輯、小

波分析、神經(jīng)網(wǎng)絡(luò)、圖像處理、模式識別方面求解。另外數(shù)字信息

處理、系統(tǒng)仿真、自動化、工程力學(xué)、信息與系統(tǒng)、模擬電路等方

面都廣泛的應(yīng)用。

運用好的數(shù)據(jù)處理方法和相應(yīng)的軟件工具對試驗數(shù)據(jù)進行處理

是高校理工數(shù)各專業(yè)學(xué)生應(yīng)具備的基本技能,對于相關(guān)課程的學(xué)習(xí)

也特別重要。MATLABT優(yōu)點眾多,本書只是重點探討MATLAB

在數(shù)據(jù)處理方面的應(yīng)用。具體包括以下方面的內(nèi)容:

1.MATLAB安裝與界面運用詳解;

2.數(shù)組與矩陣與其運算;

3.MATLAB常用數(shù)值計算;

4.代數(shù)方程與最優(yōu)化;

5.符號計算;

6.插值與擬合;

7.數(shù)據(jù)與函數(shù)的顯示。

在閱讀過程中,要求上機執(zhí)行書中的相關(guān)程序代碼,嫻熟書的

相關(guān)學(xué)問,要求勤查MATLAB自帶的幫助系統(tǒng),才能起到很好的

學(xué)習(xí)效果。

弟一早MATLAB的安裝和界面運用

本章具體講解并描述MATLABR2007a的安裝和界面的運

用。

1.1-MATLAB安裝

首先雙"setup.exe”之后,出現(xiàn)如圖1-1的“Welcometothe

MathWorksInstaller”窗口,然后點擊“Next”按鈕。

1-1

進入圖1?2的“LicenseInformation”窗口,在Name框和

Organization輸入

1-2

相應(yīng)名稱(自行命名)。然后安裝書目下的“serial.txt”文件,

將序列號復(fù)制到“PleaseenteryourPersonalLicense

Password(PLP)w框中,然后點擊“Next”按鈕。待少許時間,防

火墻會提示是否允許訪問網(wǎng)絡(luò)的提示框,如瑞星防火墻會出如下圖

1-3的對話框。

應(yīng)用程序網(wǎng)絡(luò)訪問監(jiān)控

未知風(fēng)險程序

檢測到:應(yīng)用程序正在用UDP蝕議發(fā)送數(shù)據(jù),程序信息與訪問的網(wǎng)絡(luò)

信息如下:

setup(無法驗證的應(yīng)用程序)

程序信息與訪問的網(wǎng)絡(luò)信息

出品公司:TheMathWorks,Inc

程序路徑:j:\常用軟件,軟件開發(fā)\matlab

r2007a\win32\setup.exe

網(wǎng)絡(luò)動作:UDPSend(發(fā)送UDP數(shù)據(jù))

訪問地址:Local:65191=>211,155.27.38:53[域名解析]

文件屬性模塊列表

選擇處理方式:

◎總是允許允許該程序執(zhí)行,今后不再提示

O總是拒絕阻止該程序執(zhí)行,今后不再提示

O允許此次此次允許該程序執(zhí)行

O拒絕此次此次阻止該程序執(zhí)行

停止I52超時連接將按拒絕訪問處理

___________/確定

1-3

選擇“總是允許。并按“確定”。進入“MathWorksAccount”

對話框如圖1-4。

圖1-4

選擇“InstalltheproductversionsfrommyDVDorlocal

diskonlyw選項按鈕,進入“Licenseagreement”對話框,然后

選擇“Yes”按鈕。

圖1-5

進入“InstallationType"對話框,如圖1-6所示,然后選

擇"Typical”按鈕,點擊“Next”。

圖1-6

然后進入對話框,如圖1-7所示??梢愿陌惭b書目,也

呆保持默認。假如系統(tǒng)盤的空間不空,則應(yīng)更改安裝書目,以保證

機器的正確運行。

圖1-7

在接下來的步驟中,皆選擇“Next”按鈕,即可。

1.2.MATLAB的啟動與界面詳解

在起先菜單中,選擇:起先'程序\MATLAB\R2007a\matlab

R2007a,如圖1?8所示。

扁程序(E)『的附件卜

■Q卡卡上網(wǎng)安全助手?

收藏夾(與?司瑞星殺毒軟件?

QBMATLABR2007a“}MATLABR2007a

文檔曲

UleadVideoStudio10?

-

B

u設(shè)置⑸廣發(fā)證券

o

s一百度工具欄

a搜索⑥

odoPDF5

快車

幫助和支持(由(FlashGet)3.0

a:MyEdipse7.0

Xd

S運行?...Unlocker

M

0

P注銷Administrator(0...

M.E關(guān)閉計算機(U).,.

d華0$S?我的電腦|bMatlabR2…|約Matlab數(shù)…包|

圖1-8

然后進入MATLAB應(yīng)用程序主界面,如圖1-9所示。最上方

是標題欄,顯示版本信息:MATLAB(R2007a):

n

MATLAB7.4.0(R2007a)-Lx

再往下的一欄是菜單欄:

FileEditViewGraphicsDebugDesktopWindowHelp

圖1-9

接下來是工具欄:

00?X'包cc0B國tC:\DocumentsandSettings\Administrator\MyDxi1I臼回

其中二:[DocumentsandSettings\Administrator\MyDociv口是指定當前工作

路徑,假如要向某文件夾中讀取或保存相關(guān)內(nèi)容,則通過點擊E,

然后選擇該文件夾作為當前工作路徑。然后點擊左側(cè)的

CurrentDirectory,則會出現(xiàn)CurrentDirectory對話框如圖1-10

所示,用來顯示當前路徑中的文件信息。它和Workspace處于同

一具標簽對話框中。

右側(cè)是CommandWindow窗口,如圖1-11所示,是用來輸

入MATLAB指令的。一打開MATLAB則在CommandWindow

中會出現(xiàn)“>>”,此符號表示MATLAB軟件已打算好了,正在待吩

咐的輸入。如輸入指令:

A=[l23]

然后回車,則出現(xiàn)運算結(jié)果:

A=

123

此指令表示輸入一個一行三列的矩陣(即行向量),并將此

矩陣(向量)保存在變量A中。關(guān)于矩陣與向量向量,在其次章中

具體說明。

CommandWindow…口,x

?Togetstarted,selectMATLABHelporDemo5fromtheHelpmenux

?A=[123]

A二

123

?

圖1-11

指令執(zhí)行完畢之后,會發(fā)覺左下方的CommandHistory窗口

中會多出現(xiàn)一行剛剛輸入的指令。如圖1-12所示,Command

History是用來保存輸入過的吩咐,便利以后查找或再次運用。同

時Workspace標簽屬性頁也會多出一行。如圖1-12所示,Current

Directory是用來顯示可用的各種變量的。圖中說是說明白剛才得

到的變量A,它的值、最小、最大元素與類型等信息。

CommandHistory*口??x

B%—09-6-24上午7:。9—%

---A=[123]

圖1-12

圖1-13

在也已一處_____啊一包上任一處右擊,然后在彈出菜

單上選擇須要查看的相關(guān)信息。如圖1-14所示。

假如須要用到以前的吩咐,可以在CommandHistory窗口中

查到,可按日期查找,可以選擇單條歷史吩咐,也可以同時選擇多

條歷史記錄。然后右選擇復(fù)制,將其粘貼到CommandWindow

窗口中執(zhí)行。也可將其作為文本復(fù)制到Word文檔或txt文檔中。

假如雙擊歷史記錄中的吩咐,則系統(tǒng)會馬上執(zhí)行被雙擊的吩咐一次。

假如CommandHistory窗口中一些吩咐不須要,可以一條或

多條記錄,然后按“Delete”鍵,將之刪除。

圖1-14圖1-15

1.3.MATLAB的幫助詳解

點擊主菜單中的HeUp\MATLABHelp或干脆按F1,進入

MATLAB自帶的幫助界面,如圖1-16所示。點擊各個節(jié)點可以查

看相關(guān)幫助信息。幫助文件里有具體的說明和豐富的實例。

KHelp-口X

fleEditViewGoFavoritesDesktopWndowHelp

HelpNavigatorx?,。④M

Searchfor:rpvvI[GO]Ttte:MATLAB

Exam—le:Hottools“ORplot*tools

\--------kMl

ContentsindexSearchResutsDemosMATLAB”

MATLAB

由◎EmbeddedMATLAB

?多ExcelLinkFunctions:HandleGraphics:

0MATLABBuilderfurNET■BvCateaory■ObjectProperties

±*MATLABBuilderforExcel■AlphabeticalList

+§MATLABBuilderforJava

w多MATLABCompiler

+0MATLABDistributedComputingEDocumentationSet

上多MATLABReportGenerator

+0SimBiology■GettingStarted

?◎SystemTestIntroducesMATLABandgetsyoustartedusingit

±^AerospaceToolbox

*?BioinformaticsToolbox?Use」Guides

4CommunicationsToolbox

+◎ControlSystemToolbox■ProaramminqTips

*E》CurveFrttinaToolboxProvideshelpfultechniquesandshortcutsfor

<1一.Il>..........................................|

圖1-16

由幫助界面,可以看以MATLAB的強大功能,它可以與主流

的軟件開發(fā)工具進行混合編程開發(fā)。與Java和.Net無縫對接。只

有勤查幫助或網(wǎng)上查找資料才能起到事半功倍的學(xué)習(xí)效果。

第二章數(shù)組與矩陣的概念與其運算

在MATLAB中預(yù)定了一些符號,用于特定的含義,以下是一

些預(yù)定義的符號:

表2-1

符號意義符號意義

ans默認變量名pi圓周率

eps機器可識別的最小flops浮點運算之數(shù)

的數(shù)

inf無窮大NaN非數(shù)

i或j虛數(shù)單位realmax最大的實數(shù)

realmin最小的實數(shù)intmax最大的整數(shù)

其余的請參看聯(lián)機幫助系統(tǒng)。

2.1.數(shù)組與矩陣的概念

MATLAB中,數(shù)組和矩陣本身是沒有區(qū)分的,在內(nèi)存中是一樣

的。只是針對不同的運算方式,將其為數(shù)組運算或矩陣運算。假如

運算是按元素對應(yīng)進行的,則稱為數(shù)組運算。假如按線性代數(shù)學(xué)中

的方式運算,則稱為矩陣運算,如例2-1

例2-1數(shù)組與矩陣的區(qū)分演示。設(shè)有矩陣A和B如下:

(\—11

A=,B=

134J10

以數(shù)組方式運算方式:

ABS/A/B[inf2,其中表示無窮

大(非數(shù))

MATLAB指令:

A=[-l1;02]%輸入的矩陣保存在變量A中

A=

-11

02

B=[-l1;02]%輸入的矩陣保存在變量B中

B=

-11

02

A.*B%以數(shù)組方式相乘,

ans=

-12

08

A./B%以數(shù)組方式相除

ans=

-12

Inf2

幾點說明:

1、MATLAB中,矩陣(數(shù)組)按元素逐個輸入的方法,就是

將全部元素放在一對方括號內(nèi),行與行之間以分號“廣隔開,每一

行中各元素之間以空格或逗號隔開。具體說明參看2.2節(jié)內(nèi)容;

2、MATLAB指令輸入時,必需在英文狀態(tài)下輸入,否則會出

錯;

3、假如一條指令以分號作為結(jié)束符,則運算結(jié)果并不顯

示在CommandWindow窗口中,但保存在Workspace中。假

如沒有分號,則將結(jié)果顯示在CommandWindow中;

4、百分號“%”表示注釋,從%起先到行未為便利人閱讀所加

的注釋,不是指令中的一部分;

5、留意數(shù)組方式運算有一個小黑點V;

6、本書中凡MATLAB指令都用加粗字體;

7、MATLAB中變量無須要聲明就可干脆運用,依據(jù)賦值符號

“=”右則表達式的類型來自動確定左側(cè)的類型。如A=[-ll;02],

A表示一個2階矩陣。

以矩陣方式運算(即按線性代數(shù)中的矩陣運算):

fl2Y-111Jlx(T)+2xOlxl+2x2、-15

AB二

132廠13x(—l)+4x0

4人03xl+4x2;上311;

(\2V-11Y1<12V-10.5、_'-11.5、

A/B=

134八04八00.5,、—33.5,

當然,矩陣的加法和減法兩種方式都是一樣的,

MATLAB指令:

A*B%矩陣方式相乘

ans=

-15

-311

A/B%矩陣方式相除

ans=

-1.00001.5000

-3.00003.5000

留意:如本書中后面內(nèi)容只提與矩陣,只有當涉與到數(shù)組方式

的運算時才將矩陣稱為數(shù)組。

2.2.矩陣的創(chuàng)建和操作

在MATLAB中,有兩種創(chuàng)建矩陣的方法。一是干脆按元素逐

個輸入的方法,如例2-1所示;另一種就是運用MATLAB相關(guān)的

指令來創(chuàng)建。

一、干脆輸入元素創(chuàng)建

干脆按元素逐個輸入來創(chuàng)建矩陣,就是將全部元素放在一對方

括號內(nèi),行與行之間以分號“廣隔開,每一行中各元素之間以空格

或逗號隔開。只有一行的矩陣稱為行向量(也稱為一維數(shù)組),只有

列的矩陣稱為列向量。此方法可創(chuàng)建向量和矩陣。

例2-2干脆輸入創(chuàng)建向量和矩陣演示。

vr=[1234]%創(chuàng)建行向量,元素之間以空格隔開

vr=

1234

vc=[1;2;3]%創(chuàng)建列向量,行之間以分號隔開

VC=

1

2

3

m23=[l23;456]%創(chuàng)建一個2X3行的矩陣

m23=

123

456

二、MATLAB指令創(chuàng)建

在MATLAB中指令,更多時候也稱為函數(shù)??梢赃\用MATLAB

內(nèi)置的函數(shù)來創(chuàng)建矩陣(數(shù)組)。以下以舉例的方式說明。

例2-3通過MATLAB指令創(chuàng)建向量和矩陣演示:

1、指定起點:步長:終點。假如不指定步長,則將步長默認

為1,最終一個元素不肯定是終點,這取決于區(qū)間長度是否為步長

的整數(shù)倍。該方法用于創(chuàng)建向量。

v=0:0.2:1%以。為起點、1為終點、步長為0.2創(chuàng)建一

個數(shù)組(行向量)

00.20000.40000.60000.8000

1.0000

v=0:pi%起點0、終點pi、默認步長1。最終一個元素不

是終點。

V=

0123

2、Knspace(起點,終點,元素個數(shù)),等分間隔。該方法用

于創(chuàng)建向量。

v=linspace(0,pi,3)

v=

01.57083.1416

v=linspace(0,3,5)

v=

00.75001.50002.25003.0000

3.特別矩陣的創(chuàng)建。創(chuàng)建特別矩陣的常用函數(shù):rand、magic,

zeros、ones和eye等,須要深化探討請參看聯(lián)機幫助。

rand(fstatef,O)%把勻稱分布偽隨機發(fā)生器置為0狀態(tài)

v=rand(2,3)%產(chǎn)生一個2X3的隨機矩陣

0.95010.60680.8913

0.23110.48600.7621

m=magic⑶%產(chǎn)生一個3階魔方矩陣

m=

816

357

492

zeros(3)%產(chǎn)生一個3階零矩陣

ans=

000

000

000

zeros(2,3)%產(chǎn)生一個2x3的零矩陣

ans=

000

000

eye(2,3)%產(chǎn)生一個2X3的矩陣,左邊2X2是一個單位

矩陣

ans=

100

010

eye(3)%產(chǎn)生一個3階單位矩陣

ans=

100

010

001

ones(2,3)%產(chǎn)生一個元素全為1的2X3階矩陣

111

111

另外還有其它特別的矩陣創(chuàng)建函數(shù),如有須要請參看幫助。

2.3-矩陣的訪問操作

以下以舉例的方式說明矩陣的訪問操作如下:

例2-4矩陣訪問舉例演示:

v=[1234567];%生成一個行向量

v(3)%查詢第三個元素的值

ans=

3

v(3)=23%將第三個元素的值設(shè)為23

12234567

v([l26])=[111216]%將下標為1、2、6的三元素的值設(shè)

為11、12、16

11122345167

v(4:end)%查詢第4至最終元素之間的全部元素

ans=

45167

v(l:5)%查詢第1至5個元素

ans=

11122345

m=[l23;456]%產(chǎn)生一個新矩陣m

m=

123

456

m(2,3)%查詢第2行第3列位置上的元素

ans=

6

m(:,2)%查詢第2列元素上全部行的元素

ans=

2

5

m(2,:)%查詢第2行上全部列的元素

ans=

456

m⑵[12])%查詢第2行上的第1、2列位置上的元素

ans=

45

m(l,[23])=[8899]%將第1行上的第2、3列上的元素分

別設(shè)為88和99

m=

18899

456

m(2,2)=518%將第2行2列位置上的元素設(shè)為518

m=

18899

45186

2-4.矩陣的基本運算操作

矩陣的常用基本運算有加、減、乘、除、求逆等。數(shù)組方式和

矩陣方式的運算符只差了一個小圓點,留意視察實例代碼。

1、加法和減法

數(shù)組方式和矩陣方式都是一樣的,就是干脆將對應(yīng)位置上的元

素相加。假如是一個數(shù)和矩陣相加,則矩陣的每一個元素都加上這

個數(shù)。

例2-4矩陣加法操作演示:

A=magic(3)%產(chǎn)生一個魔方矩陣

A=

816

357

4.92

B=ones(3)%產(chǎn)生一個元素全為1的矩陣

B=

111

111

111

A+B%矩陣的加法

ans=

927

468

5103

2+A%數(shù)與矩陣的加法

ans=

1038

579

6114

2、乘法、除法與逆運算

數(shù)組方式的乘法和除法是依元素對應(yīng)相乘;矩陣方式的乘法則

是按線性代數(shù)中的方法進行,矩陣的除是按線性代數(shù)中的取逆進行。

左除:A/B,相當于A*B",右除:A\B,相當于A1*B。逆運算按

線性代數(shù)中的方法進行。

例2-5矩陣乘、除操作演示

A=magic(3);

B=ones⑶;

A.*B%數(shù)組方式的乘法

ans=

816

357

492

A*B%矩陣方式的乘法

ans=

151515

151515

151515

M=[l,2;21]

M=

12

21

B=[l-1;10]

B=

1-1

10

A./B%維數(shù)不匹配,將會出錯

???Errorusing==>rdivide

Matrixdimensionsmustagree.

M./B%數(shù)組方式的除法

ans=

1-2

2Inf

B./M%數(shù)據(jù)方式的除法

ans=

1.0000-0.5000

0.50000

M/B%矩陣方式的除法

ans=

-23

-13

M*inv(B)%以矩陣方式運算,M乘以B的逆矩陣

ans=

-23

-13

inv(B)%計算B的逆

ans=

01

-11

3、矩陣作為函數(shù)參數(shù)

假如矩陣(數(shù)組)作為標準數(shù)學(xué)函數(shù)的參數(shù),則對每一個元素

都作同一函數(shù)計算。如V是一個行向量,R=sin(V)的運算結(jié)果R

也是一個行向量,且R是的每一個元素都是由V中對應(yīng)元素值求正

弦值得到。

例2-6矩陣作為函數(shù)參數(shù)演示

v=[0pi/2pi3*pi/22*pi]%產(chǎn)生一個有4個元素的行向

01.57083.14164.71246.2832

r=sin(v)%計算結(jié)果也是一個向量,和v的元素個相同

r=

01.00000.0000-1.0000-0.0000

4、常用的矩陣操作函數(shù)

常用的矩陣操作函數(shù)如左右置換、上下置換、旋轉(zhuǎn),以下舉例

說明。

例2-7矩陣常用操作演示

A=magic⑶

A=

816

357

492

flipud(A)%矩陣上下翻轉(zhuǎn)

ans=

492

357

816

fliplr(A)%矩陣左右翻轉(zhuǎn)

ans=

618

753

294

rot90(A)%矩陣旋轉(zhuǎn)90度

ans=

672

159

834

2.5.非數(shù)、關(guān)系運算與邏輯操作

1、非數(shù)NaN

當表達式中假如分母出現(xiàn)零,或類似于/130),0><8的表達式

運算時都會產(chǎn)生非數(shù)NaN,即Notanumber。NaN具有如下性

質(zhì):

?NaN參加的運算結(jié)果也是NaN;

?非數(shù)沒有大小的概念,因此不能將兩非數(shù)去比較大小。

非數(shù)真實的記錄了運算結(jié)果,即數(shù)學(xué)中的無限變換趨,以下舉

例說明。

例2-8非數(shù)運用演示

log(O)%即相當于自變量趨向0時的極限為負無窮大

ans=

-Inf

t=1/0%相當于分母從右側(cè)趨向趨向0時的極限為無窮大

t=

Inf

cos(t)%對非數(shù)計算余弦結(jié)果為非數(shù)

ans=

NaN

非數(shù)要用于數(shù)據(jù)可視化中,如將圖中某一指定部分鏤空,將用

到非數(shù),詳見第七章。

2、關(guān)系運算與邏輯運算

關(guān)系操作符有:==或四(人月),~=或ne,<或It,>或gt,<=或le,>=

或ge,以與&或and、|或or和~或nor等具體函數(shù)要求自行查閱

幫助系統(tǒng)。

另外有關(guān)函數(shù)如下:all,any,isqual,iempty,isfinite,isinf,

isnan,isnumeric,isreal,isprime,isspace,isstr,ischar,

運student,運unix,isvms,find,列表如下,詳情請參看聯(lián)機幫助。

關(guān)系運算符如下表2-2

關(guān)系運算功能關(guān)系運算功能

符符

<小于>=大于或等

<=小于或等==等于

>大于?二不等于

例2-9關(guān)系運算與邏輯矩陣運用演示

A=[l59;347;268]

A=

159

347

268

B=magic(3)

B=

816

357

492

C=gt(A,B)%比較大小Greaterthan

C=

011

000

001

WhosC%查看C的具體信息

NameSizeBytesClass

Attributes

C3x39logical

D=and(A,B)%求和運算

D=

111

111

111

B>3%B中元素值大于1的位置對應(yīng)1否則對應(yīng)0,結(jié)果是

一個邏輯矩陣

ans=

101

011

110

B(find(B>3))%將B中元素值大于3的元素列出來

ans=

8

4

5

9

6

7

[r,c]=find(B>3)%元素值大于3的行號組成的數(shù)組r,列號

組成數(shù)組c

r=

1

3

2

3

1

2

c=

1

1

2

2

3

3

B.*(B>3)%B中不大于3位置上的元素設(shè)為零

ans=

806

057

490

例2-10繪制[0,3pi]之間的曲線,并截去pi至2pi之間的曲

線。

x=linspace(0,3*pi);%自變量數(shù)組

y=sin(x);%函數(shù)數(shù)組

xl=(x<pi)|(x>2*pi);%邏輯數(shù)組

yl=xl.*y;%截斷數(shù)組

plot(x,yl);%繪圖

2.6-小結(jié)、綜合舉例與練習(xí)

例2-11綜合舉例,利用關(guān)系運算求近似極限,修補圖形缺口。

t=-2*pi:pi/10:2*pi;%自變量數(shù)組

y=sin(t)./t;%函數(shù)值數(shù)組

tt=t+(t==0)*eps;%修正后的自變量數(shù)組,元素值為零時,

以最小機器數(shù)代替

yy=sin(tt)./tt;%修正后的函數(shù)值數(shù)組

subplot(l,2,l),plot(t,y),axis([-7,7,-0.5,1.2]),%繪制沒有修

正的圖形

subplot(122),plot(tt,yy),axis([-7,7,-0.5,L2])%繪制修正后

的圖形

圖2-1

第三章矩陣的基本特征參數(shù)

本章簡要說明反映矩陣特征參數(shù)的一些量,如行列式、秩、條

件數(shù)、范數(shù)、特征值與特征向量等問題。

3.1.矩陣的基本參數(shù)

以一下說明有矩陣信息的基本參數(shù)

1、元素個數(shù)、行列數(shù)與其最大者、元素最大最小元素

例3-1矩陣基本信息查詢演示

M=magic⑶

M=

816

357

492

numel(A)%統(tǒng)計矩陣的元素個數(shù)

ans=

9

size(M)%計算矩陣的行列數(shù)

ans=

33

length(A)%計算行數(shù)與列數(shù)中的最大者

ans=

3

max(M(:))%求出矩陣中全部元素中的最大者

ans=

9

min(M(:))%求出矩陣中全部元素中的最小者

ans=

1

3.2.矩陣的行列式、秩與范數(shù)

計算行列式、秩與范數(shù)的指令分別是det、rank和norm

例3-2矩陣行列式、秩與范數(shù)運用演示

A=magic(3);

det(A)%求A的行列式

ans=

-360

rank(A)%計算矩陣的秩

ans=

3

A=[569;351;861]

A=

569

351

861

binf=norm(A「inf)%計算無窮范數(shù)

binf=

20

b2=norm(A,2)%計算2范數(shù)

b2=

15.4215

3.3.條件數(shù)、矩陣的穩(wěn)定性

條件數(shù)是反映AX=b中,假如A或b發(fā)生微小改變,解改變

的猛烈程度。假如條件數(shù)很大說明是病態(tài)方程方程,不穩(wěn)定方程。

例3-3矩陣條件數(shù)與穩(wěn)定性演示

A=[234;119;12-6]

A=

234

119

12-6

con2=cond囚%計算2-范式條件數(shù)

con2=

575.8240

coni=condest(A)%計算1-范式條件數(shù)

coni=

817

例3-4求解線性方程組:

2/+34+44T(2334丫71、

</+工2+9工3=-7=>119x2119

x.+2x,-6x,=9112-6

I~?z\/

A=[234;l19;12-6]%系數(shù)矩陣

A=

234

119

12-6

b=[1;-7;9]%常數(shù)列

b=

1

-7

9

x=inv(A)*b%逆矩陣的方法求解

1

1

-1

A\b%左除方法求解

ans=

1

1

-1

A=A+0.001%系數(shù)矩陣加上擾動

A=

2.00103.00104.0010

1.00101.00109.0010

1.00102.0010-5.9990

b=b-0.001%常數(shù)列加上擾動

b=

0.9990

-7.0010

8.9990

x2=inv(A)*b%以逆矩陣的方法求解

x2=

0.9504

1.0297

-0.9980

3.4.特征值、特征向量與對角化

與數(shù)學(xué)學(xué)問相關(guān)的概念請參考相關(guān)數(shù)學(xué)書籍

例3-5特征值與特征向量演示:

A=

816

357

492

E=eig(A)%計算特征值

E=

15.0000

4.8990

-4.8990

[V,D]=eig(A)%計算特征值組成的對角矩陣D和特征向

量組成的矩陣V

V=

-0.5774-0.8131-0.3416

-0.57740.4714-0.4714

-0.57740.34160.8131

D=

15.000000

04.89900

00-4.8990

注:有關(guān)正交化運算(orth函數(shù))、三角分解(hi)、正交分解

(qr)、特征值分解(eig)、奇異值分解(svd)的內(nèi)容,請參看

Matlab自還的幫助系統(tǒng)和相關(guān)數(shù)學(xué)書籍

3.5.小結(jié)、綜合舉例與練習(xí)

利用Matlab求解下列線性方程組:

2xt+3X2+7X3=1

<%+9工2=-7

3x]+x2+2x3=9

要求先分別列出系數(shù)矩陣和常數(shù)列向量,求出其行列式、秩、

特征值與特征向量矩陣、2種條件數(shù),系數(shù)矩陣的逆矩陣,然后求

出其解,將系數(shù)矩陣再乘以解向量,看是否和常數(shù)向量相等。最終

將系數(shù)矩陣加個0.0002的擾動,看其解是多少?

第四章微積分學(xué)中的基本求解問題

4.1.符號運算簡介

符號運算以推理解析的方式進行,因此沒有誤差問題的困擾,

能給出完全正確的解析解,如解析解不存在,則給按隨意指定的精

度給出數(shù)值解。符號運算運用起來特別簡潔,與高校數(shù)學(xué)中的書寫

類似。

符號函數(shù)的定義運用指令sym與syms,以下代碼段舉例說明

其應(yīng)用。

例4-1sym與syms的運用

y=sym(,2*sin(x)*cos(x),)%通過字符串來創(chuàng)建符號對

象,自變量為x

y=

2*sin(x)*cos(x)

y=simple(y)%將符號函數(shù)對像化簡

y=

sin(2*x)

symsab;%聲明符號變量a,b

y=sin(a)*cos(b)-cos(a)*sin(b);%符號對象y

y=simple(y)%將符號對象y化簡

y=

sin(a-b)

A=symC[l2;32f)%通過字符串創(chuàng)建矩陣符號對象A

A=

[1,2]

[3,2]

da=det(A)%計算A的行列式

da=

-4

ia=inv(A)%計算A的逆矩陣,留意結(jié)果含有分數(shù)

ia=

[-1/2,1/2]

[3/4,-1/4]

ea=eig(A)%計算A的特征值

ea=

4

-1

[ev,ea]=eig(A)%計算特征值和特征向量。

ev=

[-1,1]

[1,3/2]

ea=

[-1,0]

[0,4]

留意:運用符號運算就像平常數(shù)學(xué)運算一樣便利。另外

MATLAB中還有針對多項式操作的一系列函數(shù):

coUlect:同塞次的項系數(shù)進行合并;

expand:按多項式、三角函數(shù)或指數(shù)對數(shù)函數(shù)等綻開;

factor:因式分解;

homer:將多項式分解成嵌套形式;

simple:將表達式化簡。

如須要時可查看幫助,此不再具體綻開。

4.2.符號對象的精度限制

在符號計算中,當符號常數(shù)或符號結(jié)果須要以數(shù)值形式給出時,

可以敏捷地按指定精度輸出數(shù)值。與精度有關(guān)的三個函數(shù)指令:

double,digits,vpa

digits:顯示當前采納的數(shù)值計算精度;

digits(n):設(shè)置今后數(shù)值計算以n位相對精度進行;

xs=vpa(x):在digits指定精度下,給出x的數(shù)值型結(jié)果;

xs=vpa(x,n):在n位相對精度下,給出x的數(shù)值型結(jié)果。

以下舉例說明。

例4-2精度限制演示。

vpa(pi)%依當前精度輸出

ans=

3.1415927

eval('pf)%依默認精度輸出

ans=

3.1416

vpafpi/lOO1)%依指定精度輸出

ans=

a=symCl/31)%創(chuàng)建符號對象

a=

1/3

digits(2);%設(shè)置當前精度為2

vpa(a)%以當前精度輸出

ans=

.33

digits。9);%設(shè)置當前精度為19

vpa(a)%以當前精度輸出

ans=

.3333333333333333333

43極限求解

MATLAB中計算極限的函數(shù)是limit,其語法如下:

limit(F,x,a):計算limF(x)

xTa

limit(F,x,a,'right'):limF(x)

Xf4+

limit(F,x,a,left'):limF(x)

x->a-

例4-3求符號極限演示:

symsxath%說明字符變量

nmit(sin(x)/x)%計算極限,默認求右趨于零的極限

ans=

1

Kmit(l/x,x,O;right')%對x求右趨于零的極限

ans=

Inf

limit(l/x,x,O;leff)%對x求左趨于零的極限

ans=

-Inf

Hmit((sin(x+h)-sin(x))/h,h,O)%對h求趨于零的極限

ans=

cos(x)

v-[(l+a/x)Ax,exp(-x)]%

v=

[(l+a/x)Ax,exp(-x)]

Hmit(v,x,inf,left')%對x求左趨于正無窮大的極限

ans=

[exp(a),0]

4.4.導(dǎo)數(shù)與其幾何應(yīng)用

導(dǎo)數(shù)問題分兩類,一類是已知函數(shù)解析式,然后計算其導(dǎo)數(shù)解

析式或計算某點的導(dǎo)數(shù)值,此類問題很好處理。另一類問題是只有

試驗得到的離散數(shù)據(jù),要得到各階導(dǎo)數(shù)值,該類問題比較麻煩,常

用的方法是中心差分法。幾何上介紹點積、叉積、混合積,切平面

和法線、梯度場,流線場。

一、解析法求導(dǎo)數(shù)問題

解析法求導(dǎo)運用符號運算,求導(dǎo)函數(shù)為diff,語法如下:

diff(S);%對S求導(dǎo),依26字母中最接近x的字母為自變

diff(S,V);%以v為自變量,對S求導(dǎo)

diff(S,V,n);%以v為自變量,對S求n階導(dǎo)數(shù)

例4-3求符號極限演示:

da=diff(,xA5+3*x+5,)%求導(dǎo)數(shù)

da=

5*xA4+3

f=sym(log(x)/exp(x八2)1)%定義符號函數(shù)

f=

log(x)/exp(xA2)

simplify(diff(f))%對函數(shù)求導(dǎo)數(shù)后再化簡

ans=

-exp(-xA2)*(-l+2*log(x)*xA2)/x

simplify(diff(f,2))%對函數(shù)求二階導(dǎo)數(shù)后化簡

ans=

exp(-xA2)*(-l-4*xA2+4*log(x)*xA4-2*log(x)*xA2)/xA2

二、向量的點積、叉積和混合積

點積、叉積與混合積的相關(guān)概念,請參見數(shù)據(jù)書籍。

例4-4點積、叉積與混合演示:

xl=[1980]

xl=

1980

x2=[2697]

x2=

2697

y=dot(x1,x2)%點積運算

y=

128

yl=cross(xl,x2)%維數(shù)是3才能進行叉積運算

???Errorusing==>crossat37

AandBmusthaveatleastonedimensionoflength3.

xl=[952]

xl=

952

x2=[327]

x2=

327

xd=dot(xl,x2)%計算點積

xd=

51

xcr=cross(xl,x2)%計算叉積

xcr=

31-573

xcr2=cross(x2,xl)%計算叉積

xcr2=

-3157-3

x3=[247]

x3=

247

ydc=dot(x3,cross(xl,x2))%混合積運算,用于計算平行

六面體的體積

ydc=

-145

4.5.各種積分問題

積分有符號方法和數(shù)值方法,以下分別說明。符號積分的函數(shù)

是in3它的語法是:

int(S);%計算S的一個原函數(shù)。

int(S,v);%以丫為積分變量計算S的一個原函數(shù)

int(S,a,b);%計算符號積分,a與b是下限和上限,S是被

積函數(shù)

int(S,v,a,b);%計算符號積分,a與b是下、上限,S是被積

函數(shù),v是積分變量

例4-5符號積分演示:

f=symCsin(s+2*x)')%定義符號函數(shù)

f=

sin(s+2*x)

int(f)%求原函數(shù)

ans=

-l/2*cos(s+2*x)

int(f;sJ)%以s為積分變量求原函數(shù)

ans=

-cos(s+2*x)

int(f,pi/2,pi)%計算指定區(qū)間的定積分

ans=

-cos(s)

int(f;s\pi/2,pi)%指定積分變量,指定區(qū)間求定積分

ans=

-sin(2*x)+cos(2*x)

宣,b)%指定區(qū)間上求定積分

ans=

1/2*cos(s+2*a)-1/2*cos(s+2*b)

例4-6求f—^—dt與f-^—dto

J。In,J。In,

Fl=intCl/log(t)7t,0;x,)%計算符號積分,無初等解析式。

Warning:Explicitintegralcouldnotbefound.

>Inat58

Inat9

Fl=

int(l/log(t),t=0..x)

Fl=intCl/log(t)7f,0;l/2l)%計算積分,無初等解析式。

Fl=

-Ei(l,log(2))

vpa(F1)%以指定精度得到數(shù)值解。

ans=

例4-7求積分[工+y2+z2)dzd)心。留意:內(nèi)積分上

下限都是函數(shù)。

symsxyz

F2=int(int(int(xA2+yA2+zA2,z,sqrt(x*y),xA2*y),y,sqrt(x),x

A2),X,1,2)

VF2=vpa(F2)

F2=

1610027357/656/348075*2人(1/2)+14912/4641*2

八(1/4)+64/225*2八(3/4)

VF2=

224.9232805

以下實例是數(shù)值計算方法計算積分。

例2-8繪制下列空間曲線的圖形并計算長度,參數(shù)方程:

x(r)=sin(2z)

<y(r)=cos(r),tefO,3^],長度:

len=£^/4cos2(2r)+sin2(r)+ldt

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論