數(shù)學實驗終稿_第1頁
數(shù)學實驗終稿_第2頁
數(shù)學實驗終稿_第3頁
數(shù)學實驗終稿_第4頁
數(shù)學實驗終稿_第5頁
已閱讀5頁,還剩214頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

內(nèi)容簡介

本書主要講授大學工科數(shù)學課程中的線性代數(shù)、微積分、常微分方程、概率論

與數(shù)理統(tǒng)計等重要數(shù)學方法用MATLAB軟件的實現(xiàn)過程及其應(yīng)用,內(nèi)容分五個部

分:第一部分為MATLAB軟件使用簡介,介紹MATLAB軟件的基本內(nèi)容;第二部

分為線性代數(shù)實驗,介紹用MATLAB軟件求解線性方程組、計算矩陣特征值和特征

向量、進行矩陣的相似對角化及矩陣分解的方法;第三部分為微積分實驗,介紹用

MATLAB軟件進行符號微積分運算、數(shù)值微分和數(shù)值積分計算的方法;第四部分為

常微分方程實驗,介紹用MATLAB軟件求解線性(非線性)微分方程(組)的解析

解和數(shù)值解、進行動態(tài)仿真的方法;第五部分為概率論與數(shù)理統(tǒng)計實驗,介紹用

MATLAB軟件進行隨機變量的相關(guān)計算、隨機數(shù)的產(chǎn)生及樣本數(shù)據(jù)統(tǒng)計與可視化的

方法。另外,針對具體內(nèi)容介紹了相應(yīng)的應(yīng)用實例,以幫助學生逐步學會用所學知

識去解決實際問題。每一章后附有一定量的實驗題,以供學生課后上機練習及實驗。

本書適用于理工科院校大學本、??茖W生,以及具備工科數(shù)學知識和計算機知

識的其他科技工作者。

“數(shù)學實驗''是在數(shù)學應(yīng)用于各個學科領(lǐng)域,特別是應(yīng)用于工程技術(shù)領(lǐng)域的過程

中產(chǎn)生的,是伴隨著計算機的廣泛使用和數(shù)學軟件的有效開發(fā)而發(fā)展的,它著重體

現(xiàn)了“用數(shù)學”和"實現(xiàn)數(shù)學”的理念?!坝脭?shù)學''是指應(yīng)用數(shù)學理論知識解決相關(guān)領(lǐng)域中

的實際問題;"實現(xiàn)數(shù)學''是指通過計算機及數(shù)學軟件實現(xiàn)部分數(shù)學結(jié)果的理論推導

和計算過程,使得抽象的數(shù)學內(nèi)容直觀化、可視化。

數(shù)學實驗課程是大學工科數(shù)學課程教學改革與建設(shè)的主要成果之一,目前已在

全國各高校廣泛開設(shè),并已成為大學工科數(shù)學課程的重要組成部分。數(shù)學實驗課開

設(shè)的主要目的是通過“數(shù)學實驗”使學生深入理解數(shù)學基本概念和基礎(chǔ)理論、熟悉并

掌握常用的數(shù)學軟件,培養(yǎng)學生應(yīng)用數(shù)學知識并結(jié)合計算機工具解決實際問題的能

力。數(shù)學實驗課將數(shù)學知識與計算機應(yīng)用有機地結(jié)合起來,以數(shù)學知識為背景、以

數(shù)學軟件為工具,為學生自覺學習數(shù)學方法、動手解決實際問題搭建了平臺,對提

高學生學習數(shù)學的興趣、加強學生的數(shù)學理論基礎(chǔ)、培養(yǎng)學生的開拓性思維等具有

重要作用。

本書主要講授大學工科數(shù)學課程中的線性代數(shù)、微積分、常微分方程、概率論

與數(shù)理統(tǒng)計等重要數(shù)學方法用MATLAB軟件的實現(xiàn)過程,內(nèi)容分五個部分:第一部

分為MATLAB軟件使用簡介,介紹功能強大的MATLAB軟件的基本運行,變量、

矩陣、數(shù)組及其運算,函數(shù)及語句和M文件的編寫,以及繪圖功能及數(shù)據(jù)的導入導

出等。第二部分為線性代數(shù)實驗,介紹用MATLAB軟件求解線性方程組、計算矩陣

特征值和特征向量以及進行矩陣相似對角化和矩陣分解的方法。第三部分為微積分

實驗,介紹用MATLAB軟件進行符號微積分運算、數(shù)值微分、函數(shù)插值和數(shù)值積分

計算的方法。第四部分為常微分方程實驗,介紹用MATLAB軟件求解線性(非線性)

微分方程(組)的解析解和數(shù)值解、進行向量場繪制和動態(tài)仿真的方法。第五部分

為概率論與數(shù)理統(tǒng)計實驗,介紹用MATLAB軟件進行隨機變量相關(guān)計算、隨機數(shù)的

產(chǎn)生,及進行樣本數(shù)據(jù)的統(tǒng)計描述與可視化的方法。另外,針對具體方法介紹了相

應(yīng)的應(yīng)用實例,所以更有利于培養(yǎng)學生“用數(shù)學”的意識和能力。

本書的主要閱讀對象是理工科院校本??茖W生。數(shù)學實驗課對學生后繼課程的

學習,特別是學生在課程設(shè)計和畢業(yè)設(shè)計等環(huán)節(jié)中的學習和研究具有重要幫助,提

供思想和方法的指導。本課程也將為學生進一步學習數(shù)學建模、參加數(shù)學建模競賽、

利用數(shù)學方法解決各個領(lǐng)域中的實際問題打下良好的基礎(chǔ)。

本書由陳東彥老師組織編寫,主要由劉鳳秋、李善強、曹作寶編寫,牛霹、宋

顯華、孫偉參與了部分內(nèi)容的編寫,田廣悅老師對書中各部分內(nèi)容的選編給與了很

多具體的指導。由于缺乏經(jīng)驗、水平有限,書中難免有不妥之處,希望同行專家及

廣大讀者批評指正!

編者

2009年12月

目錄

內(nèi)容簡介1

前言2

第1章MATLAB軟件使用簡介8

1.1MATLAB軟件使用入門8

1.1.1MATLAB啟動/退出8

1.1.2MATLAB操作的注意事項及常用技巧11

1.1.3MATLAB幫助11

1.2MATLAB的變量和表達式13

1.3MATLAB矩陣創(chuàng)建及其運算16

1.3.1MATLAB矩陣的創(chuàng)建16

1.3.2MATLAB矩陣的運算18

1.4M文件的編寫與調(diào)用21

1.4.1文件的操作22

1.4.2命令文件23

1.4.3函數(shù)文件24

1.5MATLAB編程25

1.5.1MATLAB常用的程序控制語句25

1.5.2MATLAB編程應(yīng)用30

1.6MATLAB基本繪圖32

1.6.1二維圖形的繪制32

1.6.2三維圖形的繪制38

1.7MATLAB數(shù)據(jù)的導入與導出41

1.7.1導入數(shù)據(jù)41

1.7.2導出文本文件44

1.7.3對MS-Excel電子表格文件的操作46

實驗148

第2章線性代數(shù)實驗50

2.1線性方程組的求解50

2.1.1MATLAB中矩陣的相關(guān)運算50

2.1.2線性方程組的求解52

2.1.3應(yīng)用實例56

2.2矩陣的特征值與特征向量及其相似對角化59

2.2.1矩陣的特征值與特征向量59

2.2.2矩陣的相似對角化61

2.2.3應(yīng)用實例64

2.3矩陣的分解68

2.3.1矩陣的LU分解68

2.3.2矩陣的QR分解69

2.3.3矩陣的Cholesky分解70

2.3.4矩陣的奇異值分解71

2.3.5*矩陣的Hessenberg分解74

2.3.6*矩陣的Schur分解75

實驗277

第3章微積分實驗80

3.1微積分符號運算80

3.1.1符號變量與符號表達式80

3.1.2符號函數(shù)的極限81

3.1.3符號函數(shù)的微分83

3.1.4符號函數(shù)的積分88

3.1.5符號函數(shù)的求和與泰勒多項式91

3.1.6應(yīng)用實例93

3.2數(shù)值微分95

3.2.1數(shù)值微分計算方法95

3.2.2數(shù)值微分的MATLAB實現(xiàn)97

3.2.3應(yīng)用實例97

3.3函數(shù)插值98

3.3.1拉格朗日插值99

3.3.2函數(shù)插值的MATLAB實現(xiàn)100

3.3.3應(yīng)用實例103

3.4數(shù)值積分106

3.4.1數(shù)值積分計算方法106

3.4.2誤差估計和收斂性113

3.4.3數(shù)值積分的MATLAB實現(xiàn)114

3.4.5應(yīng)用實例120

3.5*二次曲面與曲面交線的繪制122

3.5.1二次曲面122

3.5.2空間兩曲面的交線124

實驗3127

第4章常微分方程實驗129

4.1常微分方程及其模型129

4.1.1常微分方程的基本概念129

4.1.2常微分方程模型131

4.2常微分方程解析解的MATLAB實現(xiàn)133

4.3常微分方程數(shù)值解及其MATLAB實現(xiàn)136

4.3.1數(shù)值解的Euler法137

4.3.2數(shù)值解的Runge-Kutta法140

4.3.3常微分方程數(shù)值解的MATLAB實現(xiàn)142

4.4*向量場繪圖及Simulink在求解微分方程上的應(yīng)用147

4.4.1向量場繪圖147

4.4.2.Simulink應(yīng)用148

實驗4158

第5章概率論與數(shù)理統(tǒng)計實驗160

5.1隨機變量及概率分布160

5.1.1概率密度函數(shù)值的計算161

5.1.2概率密度函數(shù)的可視化164

5.1.3分布函數(shù)的計算168

5.1.4逆累積分布函數(shù)的計算170

5.1.5隨機變量數(shù)字特征的計算173

5.2隨機數(shù)的產(chǎn)生及應(yīng)用175

5.2.1隨機數(shù)的產(chǎn)生175

5.2.2應(yīng)用實例178

5.3樣本的統(tǒng)計描述181

5.3.1樣本的統(tǒng)計量及其計算181

5.3.2樣本的分布及其可視化188

5.3.3應(yīng)用實例194

5.4參數(shù)估計與假設(shè)檢驗198

5.4.1參數(shù)估計及其MATLAB實現(xiàn)198

5.4.2假設(shè)檢驗及其MATLAB實現(xiàn)201

5.4.3應(yīng)用實例204

實驗5207

附錄209

附表1-1常用三角函數(shù)表209

附表1-2常用計算函數(shù)209

附表1-3文件操作函數(shù)表210

附表5-1常見分布概率密度函數(shù)表210

附表5-2常見分布函數(shù)表212

附表5-3專用函數(shù)計算概率密度函數(shù)表213

附表5-4專用函數(shù)計算累積概率值函數(shù)表214

附表5-5常用臨界值函數(shù)表215

附表5-6常見分布的均值和方差215

附表5-7隨機數(shù)產(chǎn)生函數(shù)表216

附表5-8參數(shù)估計函數(shù)表217

參考文獻219

第1章MATLAB軟件使用簡介

MATLAB是矩陣實驗室(MatrixLaboratory)的簡稱,由美國MathWorks公司

出品,與Mathematica、Maple并稱為三大數(shù)學軟件。MATLAB是一個功能強大的常

用數(shù)學軟件,它不但可以解決數(shù)學中的數(shù)值計算問題,而且可以解決符號演算、矩

陣運算、繪制圖形、實現(xiàn)算法、創(chuàng)建用戶界面和連接其它編程語言的程序等問題,

并且能夠方便地繪出各種函數(shù)圖形。MATLAB主要應(yīng)用于工程計算、控制設(shè)計、信

號與圖像處理、信號檢測、金融建模設(shè)計與分析等領(lǐng)域。它使用方便,輸入簡潔,

并且很容易由用戶自行擴展,因此已成為國內(nèi)外許多大學教學和科學研究中最常用

且必不可少的工具。

不同的操作系統(tǒng)有相應(yīng)的MATLAB版本,本書介紹Windows操作系統(tǒng)下的

MATLAB7.1版本的基本使用。

1.1MATLAB軟件使用入門

1.1.1MATLAB啟動/退出

1.啟動MATLAB

Windows版本的MATLAB按照安裝光盤中的安裝說明成功安裝后,系統(tǒng)會在

Windows【開始】菜單的【程序】子菜單中加入啟動MATLAB命令的圖標,用鼠標

單擊此圖標就可啟動MATLAB系統(tǒng),如圖1.1。

0

。CatalystControlCenter

SowiMAX

0

附件

0

哲理工具

0

0啟動

0游武

裝機人員工M

&

InternetExplorer

OutlookExpress

,,遠程協(xié)助

QMrcrosoftWebPubitshing

OThin^artage

口Rui>eSuppbcmt

口做游瀏覽颼2

MATLA87.1

文省(3

d殺■軟件拗火增

OMttZA

。PDF工具

d醇體排放器

幫助和支持(由C3OfficeXA

o常用工具

運行?…o網(wǎng)絡(luò)下經(jīng)工具

d即《HW天工具

注楣Admnlitrator(0...C3學習工M

C3HyperSndp6

關(guān)漸十算機3…

超HyperSnap6

i《回》④MATL由MdthTypeS

圖1.1啟動MATLAB

啟動MATLAB后,就可以進入MATLAB的工作環(huán)境。首先出現(xiàn)MATLAB的

圖標,接著就進入了其默認的桌面系統(tǒng)如圖1.2。

圖1.2是MATLAB桌面系統(tǒng)的默認界面(通過更改Desktop菜單里的選項可以

組合不同的窗口模式)。左上視窗為當前目錄(CurrentDirectory),可切換為工作空

間(Workspace);其左下視窗為歷史命令(CommandHistory),可切換為當前目錄

(CurrentDirectory);右半個視窗為命令窗口(CommandWindow),命令窗口是用

戶與MATLAB進行人機交互的主要環(huán)境,在此可輸入命令或執(zhí)行M文件,>>是命

令窗口的提示符,可以在它后面輸入命令或輸入語句。

圖1.2MATLAB界面

2.MATLAB基本演示

卜面通過三個實例來初步了解MATLAB的操作和功能。

例1.1計算正,并輸出萬的值。

?xl=sqrt(2),x2=pi/

xl=

1.4142

x2=

3.1416

思考題1:例LI中的變量xl和x2中間能否去掉,請驗證你的結(jié)果?

注:MATLAB在提示符>>后的每一行輸入后需要輸入/,即Enter鍵(回車)。

例1.2繪制Z=在區(qū)間xe[-8,8],8,8]上的圖形.

?[X,Y]=meshgrid(-8:0.5:8);/

?R=sqrt(X.A2+Y.A2)+eps;/

?Z=sin(R)./R;/

?surf(X,Y,Z)/%surf函數(shù)繪制由矩陣X,Y,Z所確定的曲面

輸出圖像如圖1.3所示:

-10-10

圖1.3直角坐標的圖形

例1.3極坐標繪圖演示。

?t=0:0.01:2*pi;/

?polar(t,sin(6*t))/%圖1.4

90

270

圖1.4極坐標繪圖

3.退出MATLAB

若要退出MATLAB,只需用鼠標點擊其系統(tǒng)集成界面右上角的關(guān)閉按鈕,或者

在命令窗口輸入exit或quit命令即可。

1.1.2MATLAB操作的注意事項及常用技巧

1.注意事項

(1)在命令窗口工作區(qū)中輸入MATLAB命令后,須按下Enter鍵,MATLAB

才能執(zhí)行所輸入的命令,否則不執(zhí)行該命令。

(2)MATLAB區(qū)分字母大小寫。

(3)一般情況下,在命令窗口中輸入一個命令并按下Enter鍵,計算機會顯示

此次輸入的執(zhí)行結(jié)果。為了簡便,在后續(xù)的章節(jié)中我們將不再顯示/符號。

(4)如果用戶不想顯示輸入的結(jié)果,只要在所輸命令的后面加上一個分號";”

即可。如:

?x=2+3/

x=

5

?x=2+3;/

(5)可以在某一行結(jié)尾處鍵入3個英文句號“…”實現(xiàn)續(xù)行的目的。如:

?q=5A6+sin(pi)+exp(3)+(l+2+3+4+5)/siii(x)...

-5*x+l/2-567/(x+y)

(6)MATLAB中的變量必須為字母、數(shù)字及某些符號組合,某些情況也允許

輸入漢字,但標點符號必須是英文狀態(tài)下的標點符號。

(7)MATLAB中不需要專門定義變量類型,系統(tǒng)會自動根據(jù)表達式的值或輸

入的值來確定變量的數(shù)據(jù)類型。

(8)命令行與M文件中的注釋語句都以百分號“%”開始;語句行中百分號后面

的該行內(nèi)容將被忽略而不被執(zhí)行,在M文件中%后面的語句可以用help命令顯示出

來。

2.常用技巧

特殊的功能鍵如下:

(1)ESC恢復當前命令輸入前的空白狀態(tài)。

(2)11調(diào)出上一行命令。

(3)J調(diào)出下一行命令。

其中,T為鍵盤中的向上鍵,1為鍵盤中的向下鍵。后兩個功能鍵在程序調(diào)試時很有

用。在MATLAB實際使用中,往往需要對剛執(zhí)行過的命令進行修改后重新執(zhí)行,為

了避免重復輸入,可用T調(diào)出原命令后再做修改。

1.1.3MATLAB幫助

MATLAB的離線幫助文件內(nèi)容豐富,是學習MATLAB的最佳資料,學習

MATLAB首先要學會MATLAB幫助的使用。

在命令窗口中輸入help命令或直接用鼠標左鍵單擊菜單中的Help按鈕(快捷

鍵F1),可以打開如圖1.5所示的幫助窗口。

FkgdtGoFavootesDeskopWindowHelp

HelpNaviMtav______________________________________?*。?X

CoMg*|S.erdJ

Titi*R?l?《s?KwithS?rv?c?F?ck3B."3

3m5E3J5

S&ReleaseNotes

?$InstaHationBeginHere

1*19MATLAB

Release14withServicePack3

ffl多ExcelLink

08MATLABBuilderforCOM

isl。MATLABBuilder(orExcelIfYouAreUpgradingfroma

!*1$MATLABCompilerPreviousRelease...

,JMATLABDistributedComputingEngine

?JMATLABReportGenerator:RoloaseNotes

Highlightsnewfeatures,installationnotes,

?&MATLABWebServer

bugfixes,andcompatibilityissues

ffl$BioinformaticsToolbox

iti多CommunicationsToolbox

!?:&ControlSystemToolboxIfYouAreUsingMATLABforthe

回&CurveFittingToolboxFirstTime...

itiJDataAcquisitionToolbox

AttheheartofMATLABisanewlanguagethat

w9DatabaseToolboxyoumustleambeforeyoucanfullyexploitits

(fl@DataleedToolboxpower.Thisisntashardasitmightsound;

回@DistributedComputingToolboxyoucanlearnthebasicsofMATLABvery

BFilterDesignToolboxquicklyYouwillberewardedwith

;?i@FillerDesignHDLCoderhigh-productrwty,high-creativitycomputing

powerthatwfllchangethewayyouwork

<*$FinancialToolbox

?.FinancialDerivativesToolboiIfyouareafirst-timeuser,thebestwaytogel

S&FinancialTimeSenesToolboxstartedistoreadthoroughlytheGettinq

⑷&Fixed-IncomeToolboxSianedwithMATLABtutorialwithMATLAB

二J

圖1.5MATLAB幫助窗口

圖1.5中左上角有四個可以切換的選項頁,分別為Contents,Index,Search和

Demos,可以根據(jù)需要打開相應(yīng)的選項頁查找所需的信息。當遇見一個新的函數(shù)時,

可通過Search來進行查找其功能及詳細用法。Demos提供了大量的演示文件,也為

初學者提供幫助。MATLAB還提供了在線幫助功能,但用戶需要連接網(wǎng)絡(luò)。

下面介紹?下通過Search來查找sin函數(shù)。進入幫助界面后選中Search選項頁

進入下一界面并在后面空白處輸入sin,點擊G。按鈕就會看到如圖1.6的結(jié)果。

圖1.6MATLAB中的Seacrchfor搜索功能

還可以在命令窗口直接輸入查找命令,例如

?helpsin/

SINSine.

SIN(X)isthesineoftheelementsofX.

Seealsoasin,sind.

Overloadedfunctionsormethods(oneswiththesamenameinotherdirectories)

helpsym/sin.m

ReferencepageinHelpbrowser

docsin

借助于MATLAB提供的幫助系統(tǒng),可以解決在使用MATLAB過程中遇到的許

多問題。

1.2MATLAB的變量和表達式

1.MATLAB變量命名規(guī)則

(1)MATLAB中變量名可以包含字母、數(shù)字及下劃線,但必須以字母開頭,

后面最多跟63個字母或數(shù)字,如x,y,asd_f,d3er45等都是合法的變量名。

(2)變量名區(qū)分大小寫,如ab與Ab袤示兩個不同的變量。

(3)注意不要用MATLAB中的內(nèi)部函數(shù)或命令名作為變量名。如果內(nèi)部函數(shù)

用作變量名,內(nèi)部函數(shù)將失效。

2.與工作空間中的變量有關(guān)的函數(shù)

1)列出變量

函數(shù):who

功能:列出當前工作空間中的變量,且內(nèi)存中的當前變量以簡單形式列出

函數(shù):whos

功能:列出當前內(nèi)存變量的名稱、大小、類型等信息

2)清除變量

函數(shù):clear

功能:清除工作空間中的所有變量,用于釋放系統(tǒng)內(nèi)存

函數(shù):clearall

功能:清除函數(shù)工作空間和基本工作空間的所有函數(shù)變量,全局變量和類

函數(shù):clc

功能:清除命令窗口

3.MATLAB的運算符

1)數(shù)學運算符

+(加號),-(減號),*(乘號),\(左除),/(右除),A(乘累)

2)關(guān)系運算符

<(小于),>(大于),<=(小于等于),>=(大于等于),==(等于),

~=(不等于)

3)邏輯運算符

&(邏輯與運算),|(邏輯或運算),?(邏輯非運算)

「12]「111

例1.4已知矩陣A=,B=,對其做簡單的關(guān)系與邏輯運算。

12J[12

?A=[l,2;1,2];

?B=[1,1;1,2];

?C=(A<B)&(A=B)

C=

00

00

4.MATLAB的表達式

MATLAB的表達式是由常量、變量、函數(shù)和運算符組成的有意義的式子。

MATLAB語句由變量、表達式及MATLAB命令組成,用戶輸入的語句由MATLAB

系統(tǒng)解釋后運行。常見的MATLAB語句有兩種格式:

格式1:表達式

格式2:變量=表達式

其中,系統(tǒng)自動將格式1中的表達式的運行結(jié)果賦值給內(nèi)部變量ans,并在屏幕上輸

出;在格式2中,系統(tǒng)將表達式的運行結(jié)果賦給了變量。

例L5用兩種形式計算56+sin)/算術(shù)運算結(jié)果。

?5A6+sin(pi)+exp(3)%計算結(jié)果賦給默認變量ans

ans=

1.5645e+004%即為1.5645X104

?a=5A6+sin(pi)+exp(3)%計算結(jié)果賦給變量a

a=

1.5645e+004

?a=5A6+sin(pi)+exp(3);

即如果在表達式后面加“;”,則執(zhí)行后不顯示運算結(jié)果。

例1.5中的正弦、指數(shù)函數(shù)是MATLAB自帶的函數(shù)。MATLAB中還有很多類

似的函數(shù),常用的函數(shù)詳見附錄中的附表1-1和l-2o

5.MATLAB的數(shù)據(jù)顯示

MATLAB系統(tǒng)中數(shù)值數(shù)據(jù)的存儲和計算默認都是雙精度,如果需要可以利用

format命令來調(diào)整數(shù)據(jù)的顯示格式。

MATLAB默認顯示格式為formatloose(松散格式),屏幕的顯示會有,?些空行,

占用更大的篇幅,因此可以在命令語句輸入前,輸入顯示格式命令formatcompact

(緊湊格式)。

此外,format命令還可以用于控制數(shù)字顯示的方式,例如formatrat表示此后的

數(shù)據(jù)顯示為近似的有理數(shù)。

卜面是format用于控制浮點變量的輸出精度的八種格式,如表1.1所示。

表1.1format用于浮點數(shù)的八個格式

類型結(jié)果例子

formatshort固定5個小數(shù)的輸出3.1416

formatlong固定15個小數(shù)的輸出3.14159265358979

fbnnatshorte帶有5位精度的浮點格式3.1416e+000

formatlongte帶有15位精度的浮點格式3.141592653589793e+002

formatshortg帶有5位數(shù)的最佳的定點數(shù)或浮3.1416

點數(shù)

formatlongg帶有15位數(shù)用于顯示doubles73.14159265358979

位用于顯示single的最佳的定點

數(shù)或浮點數(shù)

formatshorteng工程格式,至少5個有效小數(shù)和3.1416e+007

案為3的數(shù)

formatlongeng工程格式,正好有16位有效數(shù)字3.14159265358979e+081

和幕為3的倍數(shù)

例1.6分別用五位定點、十五位定點及有理數(shù)形式將a=5+sin7表示出來。

?a=5+sin(7);

?fbrmatshort,a

a=

5.6570

?fbrmatlong,a

a=

5.65698659871879

?fbrmatrat,a

a=

3117/551

6.MATLAB中的常量

在MATLAB中有些變量是固有的,在使用時注意輕易不要對這些變量重新賦值

以免出現(xiàn)錯誤。一些常見變量及具體意義見表1.2。

表1.2MATLAB中常量

常量符號常量含義

i或j虛數(shù)單位,定義為F=j2=?l

Inf或inf正無窮大,由零做除數(shù)引入此常量

NaN不定式,表示非數(shù)值量,產(chǎn)生于0/0,8/8,0*8等運算

pi圓周率n的雙精度表示

eps容差變量,PC上此值為2A-52

realmin最小浮點數(shù),2A-1022

rcalmax最大浮點數(shù),27023

1.3MATLAB矩陣創(chuàng)建及其運算

MATLAB的基本運算單位是矩陣,能否熟練掌握矩陣的輸入、各種數(shù)值運算以

及矩陣函數(shù)的使用是能否學好MATLAB的關(guān)鍵。

1.3.1MATLAB矩陣的倉犍

1.通過輸入直接創(chuàng)建矩陣

輸入方法是先鍵入左方括號“[”,然后按行直接鍵入矩陣的所有元素,最后鍵入

右方括號注意:整個矩陣以和"作為首尾,同行的元素用“,”或空格隔開,

不同行的元素用“;”或按Enter鍵來分隔;矩陣的元素可以是數(shù)字或表達式。

-123-

例1.7直接輸入創(chuàng)建矩陣41560o

789

?A=[1,2,3;4,15,60;7,8,9]

A=

123

41560

789

?A=[l,2,3

4,15,60

7,8,9]

A=

123

41560

789

2.相關(guān)函數(shù)創(chuàng)建矩陣

MATLAB提供了若干函數(shù)來創(chuàng)建一些特殊矩陣,見表1.3。

表1.3生成特殊攵巨陣的相關(guān)函數(shù)

函數(shù)名稱函數(shù)功能函數(shù)名稱函數(shù)功能

zeros(m,n)m行n列零矩陣randn(m,n)m行n列正態(tài)分布隨機矩陣

eye(n)n階單位矩陣magic(n)n階魔方矩陣

ones(m,n)m行n列元素為1的矩陣rand(m,n)m行n列均勻分布隨機矩陣

11

例L8創(chuàng)建矩陣111

111

?ones(3)%生成元素都為1的3階方陣

ans=

111

111

111

例L9創(chuàng)建矩陣1°0000

O

00000

?zeros(2,5)%生成元素都為。的2行5列零矩陣

ans=

00000

00000

例1.10生成3階魔方矩陣。

?magic(3)

ans=

816

357

492

3.冒號操作符“:"

j:k表示生成步長為1的等差數(shù)列構(gòu)成的數(shù)組:[j,j+l,j+2,…,k];

j:i:k表示生成步長為i的等差數(shù)列構(gòu)成的數(shù)組:[j,j+i,j+2*i,…,k];

例1.11等差數(shù)列的生成。

?1:5%步長為1的等差數(shù)列

ans-

12345

?linspace(l,5,5)%給出區(qū)間[1,5]的5個等分點數(shù)據(jù)

ans=

12345

?1:2:7%步長為2的等差數(shù)列

ans=

1357

?8:-2:0%步長為?2的等差、遞減數(shù)列

ans=

86420

1.3.2MATLAB矩陣的運算

1.MATLAB矩陣元素操作

下面介紹矩陣元素的抽取與賦值、矩陣擴充、矩陣元素的刪除等操作。詳細用

法見表1.4?

1)矩陣元素的抽取與賦值

12356-

例1.12已知矩陣4=sin379,抽取與修改A的一些元素。

In261

?A=[12356;sin(3)79;log(2)61]%輸入矩陣A

A=

1.000023.000056.0000

0.14117.00009.0000

0.69316.00001.0000

?A(2,3)%抽取矩陣A的第二行第三列元素

ans=

9

?A(4)%抽取矩陣A(:)的第四個元素

ans=

23

?A(2:4)%抽取矩陣A(:)的第二、三、四個元素

ans=

0.14110.693123.0000

?A(1,:)%抽取矩陣A的第一行

ans=

12356

?A(:,3)%抽取矩陣A的第三列

ans=

56

9

?a=A(l,3)%把矩陣A的第一行第三列元素賦值給變量a

a=

56

?A(2,1)=100%把矩陣A的第二行第一列元素修改為100

A=

1.000023.000056.0000

100.00007.00009.0000

0.69316.00001.0000

?B=A([3,1],[2,3])

B=

61

2356

2)矩陣的擴充

-13--15-

例1.13已知矩陣A=,B=利用A與8生成矩陣

6908

——,—

13100~Ao-

c=,O=[A6]和尸=

6900B

?A=[1,3;6,9];%輸入矩陣A

?C=A;

?C(1,3)=100;%把矩陣A擴充為2行3列矩陣

?c

c=

13100

690

?B=[l,5;0,8];%輸入矩陣B

?D=[A,B]%由矩陣A與B合成矩陣D

?D=

1315

6908

?F=[A,zeros(2);zeros(2),B]%矩陣A與B合成分塊矩陣F

F=

1300

6900

0015

0008

3)矩陣部分元素的刪除

12356

例1.14已知矩陣4=sin379,刪除A的第一行。

In261

?A=[12356;sin(3)79;log(2)61];

?A(1,:)=[]%刪出A的第一行

A=

0.14117.00009.0000

0.69316.00001.0000

表1.4矩陣元素的操作

用法功能

A(i,j)矩陣A的第i行第j列元素

A(:J)矩陣A的第j列

A(i,:)矩陣A的第i行

A(:,:)矩陣A的所有元素構(gòu)造一個2維矩陣

A(:)矩陣A的所有元索按列構(gòu)造一個列矩陣

A(i)矩陣A(:)的第i個元素

A(i:j)矩陣A(:)的第i個到j(luò)個元素構(gòu)成的向量

[]空矩陣

A([iJ],[k,l])取出矩陣A的第i,j行及第k,1列交點上的元素

2.矩陣的基本運算

A+B:矩陣加法

A-B:矩陣減法

A*B:矩陣乘法

A\B:矩陣的左除

A/B:矩陣的右除

transpose(A)或A':A的轉(zhuǎn)置

k*A:數(shù)k乘以A

矩陣A的n次幕:AAn

矩陣的點幕:.人

其中,矩陣的左除和右除"/“。如果矩陣A是非奇異方陣,則A\B等于A的逆

矩陣乘B,即inv(A)*B;同理B/A等于B乘A的逆矩陣,即B*inv(A)?具體計算

時可不用逆矩陣而直接計算。右除B/A也可由來實現(xiàn)。

123321

例1.15已知矩陣A,B,求A+B和A.A8。

456654

?A=[123;456];B=[321;654];

?C=A+B

C=

444

101010

?C=A.AB

C=

143

409631251296

注:點和算術(shù)運算符之間不能有空格。

例1.16已知X=[l23],y=[456],求X.A2,2./\X和

?X=[123];Y=[456];

?X.A2

ans

149

?2.AX

ans=

248

?2.A[X;Y]

ans=

248

163264

~aor

例1.17矩陣A=0a3,求4的3次事。

0。2

?symsa;

?A=[a01;0a3;0a2];

?AA3

ans=

[aA3,2*aA2+2*a,a*(a+2)+4+3*a]

[0,a*(aA2+3*a)+3*aA2+6*a,12+a*(6+3*a)+9*a]

[0,a*(aA2+3*a)+2*aA2+4*a,8+a*(6+3*a)+6*a]

注:當矩陣中含有未知變量時,需要用syms聲明未知變量,否則會出現(xiàn)”???

Undefinedfunctionorvariable'a”’的錯誤提示。

列于表1.5中的其它的矩陣相關(guān)運算函數(shù)將在第二章中做詳細介紹。

表1.5矩陣的其它相關(guān)運算

函數(shù)名稱函數(shù)功能函數(shù)名稱函數(shù)功能

rank(A)求A的秩rref(A)求A的行最簡形

eig(A)求A的特征值及特征向量inv(A)求A的逆矩陣

poly(A)求A的特征多項式det(A)求A的行列式

trace(A)求A的跡norm(A,1)求A的1范數(shù)

cond(A)求A的條件數(shù)

1.4M文件的編寫與調(diào)用

在初學階段,通常在命令窗口中輸入MATLAB語句。輸入一行命令后系統(tǒng)立即

執(zhí)行該命令,這種方式稱為命令窗口下的命令行方式。用命令行方式編寫的程序可

讀性差且不易存儲。因而,對于相對復雜問題的求解,一般先編寫成可存儲的程序

文件,然后在MATLAB中執(zhí)行該程序文件,這種方式稱為程序文件方式。

由MATLAB語句組成的程序文件類型是M文件,M文件的擴展名為m。M文

件可分為兩種形式:一種是命令文件或腳本文件(scriptfile),是用戶為解決特定的

問題而編制的。另一種是函數(shù)文件(functionfile),通常被其它M文件調(diào)用。它們

都是由若干MATLAB語句或命令組成的文件。要注意在編寫M文件時,M文件名

一定以字母開頭,且不要與內(nèi)置函數(shù)重名。

1.4.1文件的操作

MATLAB類型文件的打開、關(guān)閉和保存等操作與Word非常相似。新建M文件

的操作是在命令窗口中選擇FilefNew-M-File(見圖1.7),然后用鼠標單擊

M-File,打開了MATLAB中的“M函數(shù)與M文件編輯器”(見圖1.8),用戶可以在

該編輯窗口中編輯一個新的M文件。此編輯器還可以用來對已存在的M文件進行

編輯、調(diào)試和運行。實際上,M文件也可用其它文本編輯器來建立、編輯。

圖1.7新建M文件

圖1.8M函數(shù)與M文件編輯器(編輯窗口)

M文件有三種運行方式:一是在命令窗口中直接鍵入文件名,按Enter鍵;二是

在編輯窗口中打開菜Tools,再單Run(快捷鍵F5);三是直接單擊工具欄中的Run圖

標。M文件保存的路徑一定要在其設(shè)置的搜索路徑上,否則MATLAB找不到此文

件,導致無法運行。后面的例題如果不特別說明,都是以第一種方式運行的。

在M文件中,當表達式后面接分號時,與命令行方式的語句一樣,表達式的計

算結(jié)果不顯示,但中間結(jié)果仍保存在內(nèi)存中。

1.4.2命令文件

命令文件(也稱腳本文件)的一般形式為:〈文件名〉.m,如al.m,pp.m等都是

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 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

提交評論