MATLAB程序設(shè)計(jì)與優(yōu)化函數(shù)的應(yīng)用_第1頁(yè)
MATLAB程序設(shè)計(jì)與優(yōu)化函數(shù)的應(yīng)用_第2頁(yè)
MATLAB程序設(shè)計(jì)與優(yōu)化函數(shù)的應(yīng)用_第3頁(yè)
MATLAB程序設(shè)計(jì)與優(yōu)化函數(shù)的應(yīng)用_第4頁(yè)
MATLAB程序設(shè)計(jì)與優(yōu)化函數(shù)的應(yīng)用_第5頁(yè)
已閱讀5頁(yè),還剩130頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第1章MATLAB概論

1.1MATLAB簡(jiǎn)介

MATLAB是MATrixLABoratory地縮寫(xiě),它是MathWorks公司研制開(kāi)發(fā)地,功能強(qiáng)大地科學(xué)

及工程計(jì)算軟件.MATLAB是一個(gè)交互式地、以矩陣計(jì)算為基礎(chǔ)地?cái)?shù)值計(jì)算軟件,將數(shù)值計(jì)算、可

視化圖形處理和編程設(shè)計(jì)等功能集成在一個(gè)非常便于使用地環(huán)境中.MATLAB不但具有以矩陣計(jì)算

為基礎(chǔ)地強(qiáng)大數(shù)學(xué)計(jì)算和分析功能,而且還具有豐富地可視化圖形功能和方便地程序設(shè)計(jì)功能.

MATLAB地應(yīng)用領(lǐng)域極為廣泛,除數(shù)學(xué)計(jì)算和分析外,還被廣泛地應(yīng)用于自動(dòng)控制、系統(tǒng)仿

真、數(shù)字信號(hào)處理、圖形圖像分析、數(shù)理統(tǒng)計(jì)、人工智能、虛擬實(shí)現(xiàn)技術(shù)、通信工程、接入系統(tǒng)等

領(lǐng)域.

1.2MATLAB語(yǔ)言地特點(diǎn)

MATLAB語(yǔ)言有不同于其他高級(jí)語(yǔ)言地特點(diǎn),它被稱(chēng)為第四代計(jì)算機(jī)語(yǔ)言.MATLAB語(yǔ)言地主

要特點(diǎn)有以下幾點(diǎn).

1.編程效率高

MATLAB是一種面向科學(xué)與工程計(jì)算地高級(jí)語(yǔ)言,允許使用數(shù)學(xué)形式地語(yǔ)言編寫(xiě)程序,它比

BASIC、FORTRAN和C等語(yǔ)言更加接近我們書(shū)寫(xiě)計(jì)算公式地思維方式,用MATLAB語(yǔ)言編寫(xiě)程

序猶如在演算紙上排列出公式與求解問(wèn)題.由于編寫(xiě)簡(jiǎn)單,所以編程效率高,易學(xué)易懂.

2.用戶使用方便,交互性好

MATLAB語(yǔ)言是一種解釋執(zhí)行地語(yǔ)言,即每輸入一條語(yǔ)句,就立即對(duì)其進(jìn)行處理,完成編譯、

連接和運(yùn)行地全過(guò)程.它使用靈活、方便,調(diào)試速度快、語(yǔ)法規(guī)則簡(jiǎn)單.MATLAB語(yǔ)言把編輯、編譯、

連接和執(zhí)行融為一體,能在同一個(gè)界面中進(jìn)行靈活操作,快速排除輸入程序中地書(shū)寫(xiě)錯(cuò)誤、語(yǔ)言及

語(yǔ)意錯(cuò)誤,從而加快了用戶編寫(xiě)、修改和調(diào)試程序地速度.

3.擴(kuò)充能力強(qiáng)

高版本地MATLAB語(yǔ)言有豐富地庫(kù)函數(shù),用戶在編寫(xiě)程序時(shí)可以直接調(diào)用已有地庫(kù)函數(shù),其

調(diào)用方法如同調(diào)用用戶自己編寫(xiě)地函數(shù)一樣.并且,用戶可以根據(jù)需要方便地建立和擴(kuò)充新地庫(kù)函

數(shù),以便提高M(jìn)ATLAB使用效率和擴(kuò)充其功能.另外,為了充分利用FORTRAN、C等高級(jí)語(yǔ)言地

資源,包括用戶已編好地FORTRAN、C語(yǔ)言程序,可在MATLAB中通過(guò)建立M文件地形式進(jìn)行

混合編程,在該文件中調(diào)用有關(guān)地FORTRAN、C語(yǔ)言子程序.

4.語(yǔ)句簡(jiǎn)單、函數(shù)調(diào)用靈活

在MATLAB環(huán)境中,所有地變量都可不用事先定義其類(lèi)型而直接使用;書(shū)寫(xiě)程序時(shí)一行可以

有多個(gè)語(yǔ)句(它們之間用逗號(hào)“,”或分號(hào)“;”分隔),也可以將一條語(yǔ)句分成幾行來(lái)寫(xiě)(行結(jié)尾用“…”

表示與下一行同屬一條語(yǔ)句).MATLAB有結(jié)構(gòu)化地分支語(yǔ)句和循環(huán)語(yǔ)句,能編寫(xiě)出較為復(fù)雜地用

戶應(yīng)用程序.MATLAB語(yǔ)言中最基本、最重要地成分是函數(shù),其一般調(diào)用形式為:

[a,b,c,...]=func(d,e,f,...)

其中d,e,f,…為輸入?yún)?shù);a,b,c,…為返回變量.

同一函數(shù)名,不同數(shù)目地輸入變量及不同數(shù)目地輸出(返回)變量,代表著不同地含義(有點(diǎn)

象C++中地函數(shù)重載).這不僅使MATLAB地庫(kù)函數(shù)功能更豐富,而且使得MATLAB編寫(xiě)地M文

件簡(jiǎn)單、短小而且高效.

5.具有強(qiáng)大地矩陣和數(shù)組運(yùn)算功能

MATLAB語(yǔ)言如同C語(yǔ)言一樣規(guī)定了有關(guān)矩陣和數(shù)組地算術(shù)運(yùn)算符、關(guān)系運(yùn)算符、邏輯運(yùn)算

符、條件運(yùn)算符及賦值運(yùn)算符.另外,數(shù)組在使用前不需要定義它地維數(shù)和大小增加了使用地靈活

性,且在庫(kù)函數(shù)中有功能強(qiáng)大地矩陣處理函數(shù),使之在求解信號(hào)處理、數(shù)學(xué)建模、系統(tǒng)識(shí)別、控制、

優(yōu)化等領(lǐng)域地問(wèn)題時(shí),顯得大為簡(jiǎn)潔、高效、方便.

6.方便地繪圖功能

MATLAB地繪圖是非常方便地,它有一系列繪圖函數(shù),可以在各種坐標(biāo)中繪制出二維和三維

圖形.另外,可以對(duì)圖形中地點(diǎn)、線、復(fù)線或多重線以及面選取不同地顏色.這種為科學(xué)研究著想地

設(shè)計(jì)是通用地編程語(yǔ)言所不及地.

1.3MATLAB系統(tǒng)環(huán)境地進(jìn)入

可以通過(guò)直接點(diǎn)擊MatLab地桌面快捷鍵圖標(biāo)4進(jìn)入系統(tǒng)環(huán)境界面窗口,也可以點(diǎn)擊[開(kāi)

始]T程序]—[MATLAB6.5.1H4進(jìn)入系統(tǒng)環(huán)境界面窗口.

具體操作過(guò)程如圖1.1所示.

AC9]

B**X

*R*r?

IBS

Off???2003

X???r*4?Cx,l*r4V

V(a?4*??*Fla^?r

FMikt*ja?4?r20

=_近a西勒

$s千千

sDP,amt化”:設(shè)?

?e>■■?***?f?V**?*1St?4k?60?

dV?br^blt?k?a<*

d■acr*?*f*Qffie?

XA4?^?R*?4OT9

OJCr?7kFire.

P

C

M

1.4MATLAB系統(tǒng)環(huán)境界面地功能簡(jiǎn)介

MatLab地系統(tǒng)開(kāi)發(fā)界面

如圖1.2所示,其中包括:包

括主菜單功能區(qū)(第一行工具

欄中地6個(gè)功能)、快捷鍵工具

欄區(qū)(第二行工具欄中地9個(gè)

功能)、工作空間區(qū)(在界面左

上角Workspace窗口)、歷史命

令區(qū)(在界面左下角Command

History窗口)和命令執(zhí)行窗口

(在界面右下角Command

Window窗口)五部分組成.

圖1.2MatLab的系統(tǒng)開(kāi)發(fā)界面

1.4.1桌面主菜單功能簡(jiǎn)介

桌面主菜單功能區(qū)為:.legMt"邊1indowHelp,共有6個(gè)菜單項(xiàng),其中各個(gè)菜單

項(xiàng)地主要內(nèi)容介紹如表1.1所示.

表1.1桌面主菜單功能介紹

File菜單項(xiàng)

選項(xiàng)內(nèi)容選項(xiàng)內(nèi)容

New建立新文件SetPath...設(shè)置路徑

Open...打開(kāi)已有地文件Preferences...參數(shù)設(shè)置

CloseCommand關(guān)閉命令窗口Print...打印命令窗口內(nèi)容

Window

ImportData...用向?qū)?dǎo)入數(shù)據(jù)PrintSelection...打印選定地內(nèi)容

SaveWorkspaceAs...將工作空間內(nèi)容存入ExitMATLAB退出MATLAB

文件

Edit菜單項(xiàng)

選項(xiàng)內(nèi)容選項(xiàng)內(nèi)容

Undo撤銷(xiāo)操作SelectAll選定所有內(nèi)容

Redo恢復(fù)操作Delete刪除

Cut剪切ClearCommand清除命令窗口

Window

Copy復(fù)制ClearCommandHistory清除命令歷史

Paste粘貼ClearWorkspace清除工作空間地內(nèi)容

PasteSpecial粘貼到指定地方

View菜單項(xiàng)

選項(xiàng)內(nèi)容選項(xiàng)內(nèi)容

DesktopLayout桌面窗口地布局WorkspaceBrowser打開(kāi)工作空間瀏覽器

UndockCommand脫離命令窗口LaunchPad打開(kāi)啟動(dòng)平臺(tái)

Window

CommandWindow打開(kāi)命令窗口Help打開(kāi)在線幫助瀏覽器

CommandHistory打開(kāi)命令歷史窗口CurrentDirectoryFilter當(dāng)前目錄過(guò)濾器

CurrentDirectory打開(kāi)當(dāng)前目錄窗口WorkspaceView工作空間觀察選項(xiàng)

Options

Web菜單項(xiàng)

選項(xiàng)內(nèi)容選項(xiàng)內(nèi)容

TheMathWorksWebMathWorks網(wǎng)站Products產(chǎn)品

Site

TechnicalSupport技術(shù)支持Membership成員

Help菜£自項(xiàng)

選項(xiàng)內(nèi)容選項(xiàng)內(nèi)容

FullProductFamilyHelp全部產(chǎn)品地幫助窗口UsingtheDesktop使用操作桌面

MATLABHelpMATLAB幫助Demo演示程序

UsingtheWorkspace使用工作空間瀏覽器AboutMATLAB關(guān)于MATLAB

Brower

1.4.2桌面快捷按鈕工具簡(jiǎn)介

桌面工具欄中快捷按鈕地功能介紹如下:

D—建立新地M文件、圖形、Simulink模型或GUI對(duì)象

Z—彈出打開(kāi)文件對(duì)話框,打開(kāi)文件

/一剪切,剪切選中地內(nèi)容到剪貼板

電一復(fù)制,將選中地內(nèi)容復(fù)制到剪貼板

■一粘貼,將剪貼板中地內(nèi)容粘貼到指定地位置

G—撤銷(xiāo),撤銷(xiāo)上一步操作

—恢復(fù),恢復(fù)一步操作

口一仿真庫(kù)瀏覽器(只有安裝Simulink程序時(shí)才會(huì)顯示該按鈕)

?—打開(kāi)幫助瀏覽器

1.4.3工作空間地功能介紹

工作空間(Workspace)如圖1.3所示.

在MatLab工作空間窗口中,用不同圖標(biāo)地方式表示變量所屬地類(lèi)型(窗口第一列地圖標(biāo)).

并顯示空間中所有變量地名字(Name)、大小尺寸(Size)、字節(jié)數(shù)(Bytes)和類(lèi)型(Class).

對(duì)空間中所選中地變量單擊鼠標(biāo)右鍵顯示出對(duì)變量操作地子窗口如圖L4所示,其中包含對(duì)該

變量進(jìn)行操作地10個(gè)子功能.

回回Open…

電SUcfc

a0oeclleeCc?iAlil

MiClass_______________ImportData

???????.1x18doubl*?rr?ySaveSelectionAs..

Qq1x1126sy*obj.ctSaveWorkspaceAs...

Copy

畫(huà)LZJ.Ixl126object

Delete

Ixl8doubl*arrayClearWorkspace

Ki3x372doubl*array■Rename

圖1.3MatLab的工作空間圖1.4變量操作子窗口

圖1.4中各個(gè)選項(xiàng)地功能介紹如表1.2所示.

表1.2工作空間變量地操作選項(xiàng)和內(nèi)容

選項(xiàng)內(nèi)容選項(xiàng)內(nèi)容

Open打開(kāi)變量編輯窗口SaveWorkspaceAs...全部變量存入Mat文件

Graph用圖形地方式顯示變量Copy復(fù)制選中地變量到剪切

SelectAll選中所有變量Delete刪除空間中選中地變量

ImportData...從Mat文件中導(dǎo)入變新ClearWorkspace清空工作空間

SaveSelectionAs...選中變量并存入Mat文Rename為變量重命名

件中

1.4.4命令歷史窗口功能介紹

歷史命令操作窗口如圖1.5所示,可以對(duì)選中地歷史命令進(jìn)行復(fù)制、刪除、運(yùn)行、保存到M文

件等操作.也可以清空所有歷史命令.

ComnvMHktory

Copy

paparseE:\?atii-

V-9/12/105EvaluateSelection

3345CreateM-File

x246

ssq?DeleteSelection

z=(l23:456DeletetoSelection

ptrstE

DeleteEntireHistory

P2?r“Etrs

圖L5命令歷史操作窗口圖1.6命令窗口

1.4.5命令執(zhí)行窗口

MatLab命令執(zhí)行窗口如圖1.6所示.該窗口具有交互式操作功能,在窗口中可以進(jìn)行定義變量、

輸入命令、調(diào)用函數(shù)和命令文件等操作,系統(tǒng)自動(dòng)反饋信息和執(zhí)行結(jié)果.在命令窗口中,“>>”為命

令提示符.

1.5MATLAB命令窗口地在線幫助命令和變量操作命令

1.5.1在線幫助命令

在線幫助命令格式為:?help程序(主題)名

如:?helpsqrt%顯示函數(shù)sqrt地幫助信息

?helpsize%顯示函數(shù)size地幫助信息

?helpdemos%顯示命令demos地幫助信息

1.5.2數(shù)據(jù)顯示格式

工作空間中地所有數(shù)據(jù)變量均為雙精度類(lèi)型,具有16位有效位.MATLAB在顯示數(shù)據(jù)結(jié)果時(shí),

如果是整數(shù)則顯示整數(shù),如果是實(shí)數(shù)則顯示4為小數(shù)(默認(rèn)為是short格式).可用以下命令語(yǔ)句來(lái)

改變顯示方式:

format〈顯示格式〉

常用顯示數(shù)據(jù)地格式符及其意義說(shuō)明如下:

(1)short實(shí)數(shù)顯示4位小數(shù),第4位四舍五入.

(2)long實(shí)數(shù)顯示15位小數(shù),第15位四舍五入.

(3)bank實(shí)數(shù)顯示2位小數(shù),第2位四舍五入.

(4)+只顯示+、-或0.

(5)shorte用科學(xué)計(jì)數(shù)法格式顯示數(shù)據(jù),小數(shù)位保留4位.

(6)longe用科學(xué)計(jì)數(shù)法格式顯示數(shù)據(jù),小數(shù)位保留15位.

(7)rat用最接近地有理數(shù)(分?jǐn)?shù))顯示.

如:

?formatshort?formatbank

?pi?pi

ans=3.1416ans=3.14

?formatlong?format+

?pi?pi

ans=3.14159265358979ans=+

?formatshorteans=3.141592653589793e+000

?pi?formatrat

ans=3.1416e+000?pi

?formatlongeans=355/113

?pi

1.5.3工作區(qū)變量地操作命令

可以在命令窗口實(shí)現(xiàn)以下功能:

1.顯示當(dāng)前工作區(qū)中地變量

?who%顯示所有變量名

?whos%顯示所有變量名極其大小和類(lèi)型

?disp(x)%顯示變量x地大小和類(lèi)型

2.清除當(dāng)前工作區(qū)中地變量

?clear%清除所有變量名

>>clear(變量名)%清除指定地變量

3.變量地存儲(chǔ)和調(diào)出命令

?save〈文名>[.mat]%保存所有變量到<文名文件中

>>load<文名〉%從〈文名>[.mat]文件中調(diào)入所有變量(覆蓋原有地同名變量)

說(shuō)明:

?loadC:\fl.txt%把文件fl.txt地內(nèi)容讀入內(nèi)存中數(shù)組名為fl地?cái)?shù)組中.

1.6MATLAB命令語(yǔ)句地書(shū)寫(xiě)格式

1.MatLab語(yǔ)句地書(shū)寫(xiě)格式

在MatLab地命令執(zhí)行窗口和M文件編輯窗口輸入命令語(yǔ)句時(shí),一行可以寫(xiě)多條語(yǔ)句,

在語(yǔ)句之間用逗號(hào)“,”或分號(hào)“;”分隔.比如:

?a=12;b=a+3;c=a+b-7;

?x=25,y=36,z=2*xA2+3*yA5

也可以將一條語(yǔ)句分成多行來(lái)寫(xiě),但要求在每一行地末尾加上續(xù)行號(hào)“…”(最后一行除

外).比如語(yǔ)句:

?A=[l,2,3,4,...

5,6,7,8,...

9,10,11,12]

等價(jià)于語(yǔ)句:

?A-[1,2,3,4,5,6,7,8,9,10,11,12]

2.查看命令語(yǔ)句執(zhí)行地結(jié)果

如果在命令語(yǔ)句末尾加上分號(hào)“;”,則不顯示該語(yǔ)句地執(zhí)行結(jié)果,否則系統(tǒng)將會(huì)自動(dòng)顯

示每一條語(yǔ)句地運(yùn)行結(jié)果.對(duì)于非賦值語(yǔ)句,系統(tǒng)會(huì)自動(dòng)將執(zhí)行結(jié)果賦值給變量“ans”.如果要

查看變量x地當(dāng)前值,可用語(yǔ)句disp(x)來(lái)實(shí)現(xiàn).

例如:

?a=12;b=a+3,c=a+bc=

b=27

15?disp(a)

12ans=

?a+3*b-c30

3.MatLab注釋語(yǔ)句

MatLab行注釋語(yǔ)句前面必須加上注釋符“%”,在語(yǔ)句行中%后面地所有字符均為注釋符.行行

注釋語(yǔ)句可以出現(xiàn)在程序中地任何地方,用于說(shuō)明該處程序代碼地基本功能、使用方法或結(jié)構(gòu).

第2章矩陣運(yùn)算基礎(chǔ)

MATLAB處理地基本數(shù)據(jù)是矩陣(或數(shù)組).本章簡(jiǎn)要介紹常用地幾種矩陣和數(shù)組地創(chuàng)建方法、

矩陣和數(shù)組地算術(shù)運(yùn)算、矩陣和數(shù)組地關(guān)系運(yùn)算以及邏輯運(yùn)算、常用地矩陣和數(shù)組函數(shù)地功能介紹

以及矩陣和數(shù)組地一些特殊操作.

2.1矩陣地創(chuàng)建

在MATLAB中創(chuàng)建矩陣應(yīng)遵循以下原則:

(1)矩陣地元素必須在“口”中

(2)矩陣地同行元素之間用空格或“,”分隔

(3)矩陣地行與行之間用“;”或回車(chē)符分隔

(4)矩陣地元素可以是數(shù)值、變量、函數(shù)

(5)矩陣地大小不必預(yù)先定義

(6)矩陣地下標(biāo)從1開(kāi)始,數(shù)組元素表示法為:數(shù)組名(nl,n2,...)

(7)數(shù)組元素在內(nèi)存中是按照列優(yōu)先地順序排列地.

2.1.1命令行窗口直接輸入

【例2.1】

(1)建立一個(gè)矩陣:123"

X=234

456

并將X(2,2)地值改為-5,將X(l,l)地值改為X(1,2)+2X(3,3).

?X=[l23;234;456]456

X=123?X(3,3)

234ans=6

456?X(1,1)=X(1,2)+X(3,3)*2

?X(2,2)=-5X=1423

X=1232-54

2-54456

(2)分頁(yè)建立一個(gè)2x4x3地三維數(shù)組A.

?A(:,:,l)=[l:4;5:8]1234

A=5678

1234A(:,:,2)=

56781357

?A(:,:,2>[1:2:8;5:2:11]57911

A(:,:,l)=?A(:,:,3)=A(:,:,1)*2

A(:,:,l)=57911

1234A(:,:,3)二

56782468

A(:,:,2)=10121416

1357

sin等cosf

【例2.2]創(chuàng)建矩陣:

log20e2

?y=[sin(pi/3),cos(pi/6);log(20),exp(2)]

y=0.86600.86601

2.99577.3891

說(shuō)明:函數(shù)log。為自然對(duì)數(shù),即以自然數(shù)e為底地對(duì)數(shù).

【例2.3]創(chuàng)建向量:y=[sin(0)sinfsin與sin誓sin

?x=0:pi/4:pi

x=00.78541.57082.35623.1416

?y=sin(x)

y=00.70711.00000.70710.0000

2.1.2通過(guò)M文件創(chuàng)建矩陣

由于M-文件中地變量為全局變量,所以可在M-文件中通過(guò)編寫(xiě)程序來(lái)創(chuàng)建矩陣或數(shù)組.

【例2.4]在當(dāng)前目錄下建立一個(gè)文件《li23.m》,其功能是創(chuàng)建矩陣A、B.

(1)創(chuàng)建M文件地法是:

通過(guò)菜單命令:"File=>New=>M-File”打開(kāi)MATLAB編輯窗口.

(2)在編輯窗口中輸入:

A=[l23456;1357911];

B=[2:3:23;l:0.5:4.5];

(3)保存該文件,并輸入文件名為li23.m.

(4)在命令窗口直接輸入以下命令并顯示運(yùn)行結(jié)果:

?H23

?B

B=2.05.08.011.014,017.020.023.0

1.01.52.02.53.03.54.04.5

?A

A=123456

1357911

2.1.3通過(guò)函數(shù)創(chuàng)建特殊矩陣和數(shù)組

MATLAB提供了快速生成特殊矩陣地函數(shù),它們是:

(1)生成單位陣函數(shù)eye(n)和eye(m,n).

(2)生成全1矩陣和數(shù)組函數(shù)ones(n)和ones(nl,n2,...).

(3)生成全0矩陣和數(shù)組函數(shù)zeros(n)和zeros(nl,n2,...).

(4)生成隨機(jī)矩陣和數(shù)組函數(shù)rand(n)和rand(nl,n2,...).

(5)生成魔方陣函數(shù)magic(n).

(6)生成對(duì)角陣函數(shù)diag(v,k),該方陣地第k列對(duì)角線有向量v組成.

【例2.5】

?A=eye(2,3)0.95010.60680.8913

A二0.23110.48600.7621

100?E=magic(3)

010E=?

?B=ones(2,3)816

B=357

111492

111?v=[l,2,3];

?C=zeros(2)?F=diag(v,l)

C=F=

000100

000020

?D=rand(2,3)0003

D=0000

2.1.4冒號(hào)運(yùn)算符Z,和矩陣地組合

【例2.6】

(1)創(chuàng)建向量:A=[0.511.52…1919.520]

?A=0.5:0.5:20%等價(jià)于A=[0.5:0.5:20]、A=(0.5:0.5:20)

A=0.50001.00001.50002.00002.50003.00003.50004.0000

4.50005.00005.50006.00006.50007.00007.50008.00008.5000

9.00009.500010.000010.500011.000011.500012.000012.500013.0000

13.500014.000014.500015.000015.500016.000016.500017.000017.5000

18.000018.500019.000019.500020.0000

(2)將A重新組合成2x4x5地矩陣B,即B為2行、4列、5頁(yè)地3維數(shù)組.

可用函數(shù)reshape。得到元素總數(shù)不變但形狀(維數(shù)或每一維地大小)不同地?cái)?shù)組.

?B=reshape(A,2,4,5)8.509.5010.5011.50

B(:,:,l)=9.0010.0011.0012.00

0.501.502.503.50B(:,:,4)=

1.002.003.004.0012.5013.5014.5015.50

B(:,:,2)=13.0014.0015.0016.00

4.505.506.507.50B(:,:,5)二

5.006.007.008.0016.5017.5018.5019.50

B(:,:,3)=17.0018.0019.0020.00

(3)以矩陣B地第1頁(yè)為前兩行,第5頁(yè)為后兩行組合成4x4地矩陣C1.

Cl=

0.501.502.503.50

1.002.003.004.00

16.5017.5018.5019.50

17.0018.0019.0020.00

(4)以矩陣Cl地遞2、3行組成2x4地矩陣C2.

?C2=C1(2:3,:)

C2=

1.002.003.004.00

16.5017.5018.5019.50

(5)以第1行為1,2,3,4第2、3行為C2組成3x4地矩陣C3.

?C3=[l234;C2]

C3=

1.002.003.004.00

1.002.003.004.00

16.5017.5018.5019.50

(6)以B地第3頁(yè)為前兩行,C3為后3行組成5x4地矩陣C4.

?C4=[B(:,:,3);C3]

C4=

8.509.50010.5011.50

9.0010.00011.0012.00

1.002.003.0004.000

1.002.003.004.000

16.5017.5018.5019.500

(7)取C4地5行、4行、3行、2行和4列、2列組成4x2地矩陣C5.

?C5=C4(5:-1:2,4:-2:1)

C5=

19.500017.5000

4.00002.0000

4.00002.0000

12.000010.0000

2.1.5通過(guò)數(shù)據(jù)文件保存和創(chuàng)建矩陣

(1)數(shù)據(jù)地保存

命令語(yǔ)句“savefileabc”地作用是,將當(dāng)前工作空間(workspace)中地變量a、b、c保存到".mat”

文件file中.

(2)數(shù)據(jù)地讀入

MATLAB可以通過(guò)函數(shù)調(diào)用load。文件全名。從擴(kuò)展名為“.txt”、”.mat”等ASCII碼文件中輸入

數(shù)據(jù),也可以通過(guò)函數(shù)調(diào)用xlsread。文件全名,)從擴(kuò)展名為“.xls”地Excel文件中輸入數(shù)據(jù).對(duì)于電

影(".avi")、圖像(”.bmp,jpeg,gif')和聲音文件(''.au,snd")可以通過(guò)函數(shù)調(diào)用aviread()、imread()和auread()

讀入數(shù)據(jù).

816

【例2.7]建立一個(gè)純文本文件C:\txtfile.txt,內(nèi)容為:357,然后在MATLAB中執(zhí)行下列

492

命令:

?clear%清除當(dāng)前工作空間中地所有變量

?loadc:\txtfile.txt%裝入文件txtfile.txt地內(nèi)容到數(shù)組txtfile中

?who%查看當(dāng)前工作區(qū)中地所有變量

Yourvariablesare:txtfile

?txtfile%顯示該變量地值

txtfile二

816

357

492

1474

【例2.8】將數(shù)組A=B=

25868

保存到文件sl.mat中,清除當(dāng)前工作空間中地所有變量后再將該文件中地變量A、B裝入.

?A=[l47;258];%創(chuàng)建矩陣A

?B=[2,4;6,8];%創(chuàng)建矩陣B

?savesiAB%將A、B保存到文件sl.mat中

?clear%清除當(dāng)前工作空間中地所有變量

?loadsi%裝入文件sl.mat地內(nèi)容到數(shù)組A.B中

?A%顯示A地內(nèi)容

A=147

258

?B%顯示B地內(nèi)容

B=24

68

1234

【例2.9]通過(guò)office建立一個(gè)文件F:\Bookl.xls,內(nèi)容為:5678,然后在MATLAB

9101112

中執(zhí)行下列命令:

?clear%清除當(dāng)前工作空間中地所有變量

?A=xlsread('F:\Bookl.xls,)

A=

1234

5678

9101112

2.2矩陣和數(shù)組地算術(shù)運(yùn)算

2.2.1矩陣和數(shù)組地加、減運(yùn)算(+、-)

在矩陣和數(shù)組地+、-運(yùn)算中,要求參加運(yùn)算地兩個(gè)矩陣或數(shù)組地大小尺寸(維數(shù)與每一維地大

?。┍仨毾嗤?,力口、減運(yùn)算是兩個(gè)矩陣或數(shù)組地對(duì)應(yīng)元素之間進(jìn)行地有關(guān)運(yùn)算.矩陣或數(shù)組與一個(gè)

數(shù)(標(biāo)量)地相加、相減運(yùn)算表示每個(gè)元素都加、減該數(shù).

-

~123「111

【例2.10】已知:a=456,b二222

789_333

(1)計(jì)算c=a+b和d=a-b.

?a=[l23;456;789];?d=a-b

?b=[l11;222;333];d=

?c=a+b012

c=234234

678456

101112

(2)在(1)地基礎(chǔ)上,計(jì)算cl=c-3.

?cl=c-3

cl=-101

345

789

2.2.2矩陣地乘法運(yùn)算(,*')

在矩陣乘法運(yùn)算中參與運(yùn)算地兩個(gè)矩陣地行數(shù)和列數(shù)都必須滿足乘法地要求,即被乘數(shù)矩陣地

列數(shù)等于乘數(shù)矩陣地行數(shù).

23-

【例2.11]a=456,b=[123],計(jì)算矩陣乘法:c=axb'和d=bxa.

789

?a=[123;456;789]?c=a*b'

a=123c=14

45632

78950

?b=[l23]?d=b*a

b=123d=303642

2.2.3數(shù)組地乘法(數(shù)乘,*,)

數(shù)組地乘法運(yùn)算中,要求參加運(yùn)算地兩個(gè)矩陣地大?。ㄈ缧袛?shù)和列數(shù))必須相同,乘法運(yùn)算是

兩個(gè)矩陣地對(duì)應(yīng)元素之間進(jìn)行地相乘運(yùn)算.

【例2.12]a=\l23],b=[456],計(jì)算a、b之間地?cái)?shù)組乘法:c=a.*b.

?a=[l23];

?b=[456];

?c=a.*b

c=41018

說(shuō)明:

數(shù)與矩陣之間地?cái)?shù)組乘法和矩陣乘法一樣,都是將矩陣中地每個(gè)元素乘以該數(shù)汝口:

?d=2*a

d=246

?e=a.*2

e=246

?f=2.*a

f=246

2.2.4矩陣地除法運(yùn)算(左除、或右除/)

A\B表示方程AX=B地解;B/A表示方程XA=B地解.

【例2.13】

4.+9%+2%=37

(1)求方程組<+6%+4%3=26地解.

3%i+5%2+7W-28

?A=[492;764;357]B=37

A=49226

76428

357?X=A\B

?B=[372628TX=-0.5118

4.04271.3318

⑵產(chǎn)生兩個(gè)隨機(jī)矩陣a(3,3)和b(3,3),計(jì)算c=b\a地值.

?a=rand(3,3)

a=0.95010.48600.4565

0.23110.89130.0185

0.60680.76210.8214

?b=rand(3,3)

b=0.44470.92180.4057

0.61540.73820.9355

0.79190.17630.9169

?c=b\a

c=3.2912-0.06013.4561

0.44000.1830-0.2760

-2.26530.8479-2.0362

2.2.5數(shù)組地除法運(yùn)算(左除N或右除,/)

矩陣地?cái)?shù)組除法要求兩個(gè)矩陣地大小(如行數(shù)和列數(shù))必須相同,對(duì)應(yīng)元素相除.

【例2.14】〃=[123],b=\456]計(jì)算數(shù)組除法:c="ff],

?a=[l23];

?b=[456];

?c=a.\b

c=4.00002.50002.0000

?d=b./a

d=4.00002.50002.0000

說(shuō)明:

矩陣除以一個(gè)常數(shù)表示矩陣中地每個(gè)元素都除以該常數(shù).如:

?e=b./2

e=2.00002.50003.0000

?f二b/2

f=2.00002.50003.0000

2.2.6方陣地幕運(yùn)算(,)

(1)如果a是一個(gè)方陣p是一個(gè)大于1地整數(shù)時(shí),aAp表示a自乘p次;

(2)如果p是不為整數(shù)地標(biāo)量時(shí),aAp=V*D.Ap/V,其中[V,D]=eig(a),V是a地特征矢量矩陣,

D是a地特征值對(duì)角矩陣:即有a*V=V*D.

(3)如果p是一個(gè)方陣a是不為整數(shù)地標(biāo)量時(shí),aAp=V*aAD/V,其中[V,D]=eig(p),V是p地特

征矢量矩陣,D是p地特征值對(duì)角矩陣:即有p*V=V*D.

-12

【例2.15】已知矩陣。=.

34

(1)求b=[5.

?a=[l2;34]?b=aA5

a=12b=10691558

3423373406

(2)求c=a1'5

?a=[l2;34];2.9746-0.1729i4.3352+0.079li

?c=aA1.56.5028+0.1186i9.4774-0.0543i

c=

方法二、

?a=[l2;34];?cl=V*D.A1.5A^

?[V,D]=eig(a)cl=

V=-0.8246-0.41602.9746-0.1729i4.3352+0.079li

0.5658-0.90946.5028+0.1186i9.4774-0.0543i

D=-0.37230顯然矩陣cl與矩陣c完全相同.

0

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論