matlab學(xué)習(xí)Matlab編程基礎(chǔ)及應(yīng)用_第1頁(yè)
matlab學(xué)習(xí)Matlab編程基礎(chǔ)及應(yīng)用_第2頁(yè)
matlab學(xué)習(xí)Matlab編程基礎(chǔ)及應(yīng)用_第3頁(yè)
matlab學(xué)習(xí)Matlab編程基礎(chǔ)及應(yīng)用_第4頁(yè)
matlab學(xué)習(xí)Matlab編程基礎(chǔ)及應(yīng)用_第5頁(yè)
已閱讀5頁(yè),還剩129頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

mnnnB編程基礎(chǔ)及其

應(yīng)用

第01章

第二節(jié)MATLAB的系列產(chǎn)品及功能

一、MATLAB的功能產(chǎn)品

1.MATLABConpiler

將攻件轉(zhuǎn)為皿件,加快運(yùn)行速度。

2.MATLABC/O+GraphicsLibrary

由收件產(chǎn)生GUI獨(dú)立運(yùn)行的帝序代碼。

3.MATLABC/O+MathLibrary

由敗件產(chǎn)生獨(dú)立運(yùn)行如C程序代碼。

4DatabastToolbox

在MAT5B中進(jìn)行對(duì)數(shù)據(jù)庫(kù)闈讀寫。

5.DatabastAcquisititionToolbox

在MATSB中直接讀取數(shù)據(jù)庫(kù)卡位數(shù)攝

6.ExceILink

可讓Excel世界直接調(diào)用MATLAB的數(shù)據(jù)。

7.MATLABReportGenerator

MATIJVB的報(bào)告產(chǎn)生器。

8.MATLABRuntimeSever

格個(gè)人應(yīng)用程序包成T軟件,并在沒有MT?

環(huán)境下執(zhí)行。'

9MATLABWebSever

與NT的NebSeve哈用在Sever端執(zhí)行MATLAB的運(yùn)

算或繪圖。

二、設(shè)計(jì)自動(dòng)化系列

1.Simulink

2.RTW

由Simu1ink的模型產(chǎn)生的。呈序代碼o

3.Stateflow

事件驅(qū)動(dòng)(Eventdriven)的動(dòng)態(tài)系統(tǒng)仿真。

4.StateflowCoder

產(chǎn)生Stateflow模型匿序代碼。

5.DSPbIockset

對(duì)數(shù)字信號(hào)處理進(jìn)行仿真的方塊集。、

6.ConvnunicationToolbox

通信系統(tǒng)的設(shè)計(jì)與仿真。

7.XPXTarget

用Simulink的域序代碼(由RTW得到的)下截到另

一臺(tái)PC機(jī).以實(shí)現(xiàn)快速原型化的各種測(cè)試。

8.DialsandGaugesBlock

由各種電子儀器的圖標(biāo)來顯示或控制

Simu1ink的信號(hào)。

9.PowerSystemBlock

仿真大型電力系統(tǒng)的方塊集。

10.FixedPointBlock

模擬定點(diǎn)運(yùn)算的方塊集。

11.RTWADACoder

可產(chǎn)生Simu1ink模型ADA代碼。

12.RTWTarget

可在單臺(tái)PC機(jī)上執(zhí)行Simulink模型的C

代碼(由E產(chǎn)生)。

三、工具箱系統(tǒng)

I信號(hào)與圖象處理

(1)SignalProcessing

信號(hào)處

(2)ImagesProcessing

圖象處理。

(3)Wavelet

小波變換的分析與應(yīng)用。

(4)Higher-OrderSpectraIAnalysis

高階頻譜分析。

(5)FiIterDesign

?化流波的分析與應(yīng)用。

2.控制設(shè)計(jì)

(1)ControlSystem

控制系統(tǒng)設(shè)計(jì)。

(2)FuzzyLogic

模糊邏輯分析與應(yīng)用。_______________

(3)RobustControl

魯棒控制。

(4)NonlinearControlDesignBlockset

非線性控制與數(shù)據(jù)分析方塊集。

(5)SystemIdentification

系統(tǒng)識(shí)別。

<6)LMIControl

基于線性不等式的控制設(shè)計(jì)。

(7)ModelPredictiveControl

模糊邏輯在控制與數(shù)據(jù)分析中的應(yīng)用。

(8)QFTControlDesign

定?反饋理論的強(qiáng)健式控制設(shè)計(jì)。

3.其他工具箱

(1)Optimizayion

最優(yōu)化問題的各種方法。

(2)Statistics

統(tǒng)計(jì)及概率的應(yīng)用。

(3)NeuralNetworks

類神經(jīng)網(wǎng)絡(luò)的設(shè)計(jì)與應(yīng)用。

(4)Symbo1ic/ExtendedSymbo1icMath

符號(hào)的運(yùn)算及化霞。

(5)PartialDifferentialEquation

解偏微分方程的各種方法。

(6)FinancialTimeSeries

金融計(jì)算與投資組合的分析與應(yīng)用。

(7)Garch

對(duì)金融時(shí)間序列的預(yù)測(cè)與分析。

(8)Mapping

對(duì)地理信息的分析。

(9)Spling

利用樣條進(jìn)行數(shù)據(jù)內(nèi)插。

02

第一節(jié)MATLAB的系統(tǒng)結(jié)構(gòu)

MATLAB的系統(tǒng)結(jié)構(gòu)如下圖所示,整個(gè)結(jié)構(gòu)分為三個(gè)層次九個(gè)部分,

其核心的部分是軟件主包MATLAB.下面分別予以定性介紹.

最下面一層是基礎(chǔ)層,上面都是應(yīng)用層

Compiler:編譯器,依附matlab

Toolboxes:工具箱,依附matlab

一、MATLAB系統(tǒng)的基礎(chǔ)層(共三個(gè)部分)

MATLAB系統(tǒng)的基礎(chǔ)層是整個(gè)系統(tǒng)的基礎(chǔ),該展次的核心內(nèi)容是

MATIAB部分,也是整個(gè)系統(tǒng)的霰重要的部分。

1.軟件主包MATLAB的構(gòu)成

(1)MATLAB語(yǔ)言。

(2)MATALB的數(shù)學(xué)函數(shù)。

(3)MATALB的圖形處理系統(tǒng)。

(4)MATAIB的應(yīng)用程序接口。

(5)MATALB的工作環(huán)境管理。

2.MATLAB的工具箱(Toolboxes)

圍繞MATLAB這個(gè)計(jì)算核心,有許多針對(duì)不同應(yīng)用領(lǐng)域開發(fā)的應(yīng)

用程序,稱為MATLAB系統(tǒng)的工具箱.Mathworks公司所提供的應(yīng)

用工具箱大約有40多個(gè),另外還有一些其他公司提供的專門應(yīng)用領(lǐng)域

的工具箱,目前可用的工具箱幾乎上1。。個(gè),并還在不斷增加。目前

可用的工具箱所涉及的應(yīng)用領(lǐng)域大致為

(1)應(yīng)用數(shù)學(xué)類.

(2)電子技術(shù)類.

(3)圖形圖象技術(shù)。..

(4)通訊.

(5)財(cái)經(jīng)與金融。

3MATLAB的編譯器(Compiler)

MATLAB是一種高級(jí)語(yǔ)言,將這種高級(jí)語(yǔ)言高效快速地編譯成為

硬件C語(yǔ)言,結(jié)合MATUVB的矩陣式數(shù)據(jù)結(jié)構(gòu),使MATUVBM有極快的運(yùn)行

速度。

(1)C/Cn代碼生成器。-

(2)終端用戶發(fā)布獨(dú)立應(yīng)用。.

(3)支持如下標(biāo)準(zhǔn)編譯環(huán)境:

1)Windows95/98/NT

MicrosoftDevStudioC/C++Coapiler

BorlandC/Cf<Coapiler

2)Unix

2.MATALB中常見的用戶界面窗口(9個(gè))

(1)命令窗口(CcaaandWindovn).

(2)歷史命令密口(HistoryCoaaandfindown)?

(3)當(dāng)前目錄窗口(CurrentDirectory)?

(4)起始面板窗口(LaunchPad).

(5)工作空間窗口(Workspace).

以上窗口在主菜單里View(視窗)中根據(jù)需要進(jìn)行選擇和組合。

(6)1C文件編輯窗(MFile).

(7)圖形文件編輯窗(Figure).

3.MATLAB的編譯器(Conpiler)

MATLAB是一種高級(jí)語(yǔ)言,將這種高級(jí)語(yǔ)言高效快速地納譯成為

硬件C語(yǔ)言,結(jié)合叫TLAB的矩陣式數(shù)據(jù)結(jié)構(gòu),使HATLA暝有極快的運(yùn)行

速度。

(1)C/C,,代碼生成甥。

(2)終喘用戶發(fā)布獨(dú)立應(yīng)用。

(3)支持如下標(biāo)準(zhǔn)編譯環(huán)境:

DVindovs95/98/NT

MicrosoftDcvStudioC/C++Coapilcr

BorlandC/CHCoapiler

2)Unix

二、MATLAB系統(tǒng)的仿真應(yīng)用層(共三個(gè)部分)

1.系統(tǒng)仿真應(yīng)用層的核心部分(Simulink)

(1)建立和分析線柱.葺線柱動(dòng)態(tài)系統(tǒng)幔型。

(2)具有層次性的交互式模塊框圖結(jié)狗設(shè)計(jì)方法。

(3)支持?jǐn)?shù)字、模n和混合信號(hào)及事件塞動(dòng)遺輯建模仿II。

(4)支持矩陣數(shù)據(jù)類型及線牲代數(shù)運(yùn)算信號(hào)可視化.

(6)與C代碼的硼仿工

(6)與Matlab平臺(tái)緊密集電

(7)良好的操作性與可擴(kuò)展性(模塊與庫(kù)的擴(kuò))。

(8)開發(fā)同期加快。

(9)精確的建財(cái)法和系統(tǒng)結(jié)構(gòu)可視化》

(10)仿真系統(tǒng)嚴(yán)格反映真實(shí)時(shí)序(章實(shí)時(shí)時(shí)標(biāo))。

(11)可重用已有的C和!lallab源代碼。

復(fù)合信號(hào)仿真模型

2.系統(tǒng)仿真應(yīng)用層的模塊集(Blocksets)

MA1UB的模塊集(Blocksets)是一個(gè)個(gè)的數(shù)學(xué)軟件包,是

系統(tǒng)仿真的美健部件.系統(tǒng)的仿真模型是大哥的模塊蛆成.

3.MMATLAB的系統(tǒng)實(shí)時(shí)仿真(RTW)

(1)什么是RTI?

D從系統(tǒng)設(shè)計(jì)到硬件實(shí)現(xiàn)的快速直達(dá)途總

2)無(wú)需編程將Si?ulink模型生成嵌入式代碼。

3)不依麒特殊目標(biāo)硬件。

4)支持多種平臺(tái)。

5)在線監(jiān)控及調(diào)參。

(2)RTW主要特點(diǎn):

D開放的、可獷充的結(jié)構(gòu)o

2)支持定點(diǎn)和浮點(diǎn)。

3)通過交互方式下載參數(shù)到外部硬件。

4)支持連續(xù)系統(tǒng)、離敢系統(tǒng)、混合系統(tǒng)和異步系統(tǒng)仿箓

5)單任務(wù)、多任務(wù)和異步中斷。

三、事件驅(qū)動(dòng)邏輯/行為的建模、仿真(Stateflow)

1.Stateflow-狀態(tài)流程圖

(1)對(duì)事件驅(qū)動(dòng)系統(tǒng)進(jìn)行建模和仿真。

(2)支持自動(dòng)代碼生成o

(3)利用Statecharts的國(guó)際標(biāo)準(zhǔn)進(jìn)行圖形化建模。

(4)狀態(tài)流圖的描述無(wú)二義性。

(5)可與Siaulink,RTW無(wú)縫集成。

2狀態(tài)代碼生成(Corder)

2.MATALB中常見的用戶界面窗口(9個(gè))

(1)命令窗口(CoaaandWindown)o

(2)歷史命令窗口(HistoryCoaaandWindovn)o

(3)當(dāng)前目錄窗口(CurrentDirectory)。

(4)起始面板窗口(LaunchPad)。

(5)工作空間窗口(Workspace)。

以上窗口在主菜單里Vie.(視窗)中根據(jù)需要進(jìn)行選擇和組合。

(6)M文件編輯窗(MFile)o

(7)圖形文件編輯窗(Figure)。

工作空間:在此可以對(duì)變量復(fù)制、重命名、畫圖,并且可以導(dǎo)入新的變量和數(shù)

據(jù),可以設(shè)置顯示變量的類型(大小,中位數(shù)。。)

它是暫時(shí)內(nèi)存,關(guān)機(jī)了就沒了

重新賦值的話就是最新的值,原來的就沒有了

雙擊變量可以對(duì)變量進(jìn)行編輯(變量編輯器)

Clear清除工作空間所有變量(在工作空間里之間刪也可以)

Clearab清除工作空間的a、b變量

Save存工作空間的所有變量到固定名為

matlab.mat的二進(jìn)制文件中。

Savedata存工作空間的所有變量到名為

data,mat的二進(jìn)制文件中。

Savedataxyz存工榨空間名為Xyz變量

到名為data.mat的二進(jìn)制文件中。

Loaddata將數(shù)據(jù)文件data中的變量加載到工作

空間。

以上工作空間的數(shù)據(jù)文件參存取都在當(dāng)前目錄中進(jìn)行。

默認(rèn)存到WORK中

例子(本電腦存在D:\MyDocuments'MATLAB)中:

01.

save

Savingto:matlab.mat

load

Loadingfrom:matlab.mat

02.

saveqqx

貝II存至UD:\MyDocuments\MATLAB\qq.mat

Loadqq

在打開文件中雙擊也可

Desktop:設(shè)置桌面的窗口

Help比較好,可以自學(xué),help中的demos

2.命令窗中直接箱入hel互函數(shù)(類)名

顯示與該類函數(shù)有關(guān)的曲數(shù)信包如與矩陣函數(shù)相關(guān)的內(nèi)容

helpftm

rr*f

?ub?p??rr

tnv

3.命令窗中直接輸入helh函數(shù)名

顯示與該函數(shù)有關(guān)的所有函數(shù)信息,如

h*t|i

MhirhevrtIin*

iHawrMtM**IrtlA”《H

pnt*t?olid

rtrrlrdottrd

4.命令窗口直接■入lookfor,函數(shù)相關(guān)的字符

(注,字符串范圍越小,顯示范圍就越小)

5.其他幫助命令

(1)exist變量檢杳。

(2)what目錄中文件列表.

(3)who內(nèi)存變量列表.

(4)whos內(nèi)存變量詳細(xì)信息.

(5)which確定文件位者。

如下圖所示.

菜單中Edit:

Clearcommandwindow

Clearcommandhistory

Clearworkspace

圖形窗口可以對(duì)圖像進(jìn)行旋轉(zhuǎn)

第三章

第三章基本數(shù)值計(jì)算

第一節(jié)數(shù)據(jù)類型

1.變量分?jǐn)?shù)值變量和字符變量。區(qū)分大小寫、變量名不

超過31位、不能有中文(包括文括文件名)。

2.常量計(jì)算機(jī)中不變的量。如i,j,pi,NaN(不確定),

Inf(無(wú)窮大)等。常量可任意調(diào)用。

3.字符變量胳字符串作為變量。有三種方法表示字符串。

1)用單引號(hào)。

2)用函數(shù)syz(,')。

3)用命令sy”。注意函數(shù)與命令的用法區(qū)別。(exnoQt)

后面變量要用空格隔開

X=2是把2賦給X

Debug:開車,運(yùn)行

只運(yùn)算不賦值,最后賦值到臨時(shí)存儲(chǔ)ans

第二節(jié)矩陣構(gòu)造及運(yùn)算

一、矩陣(Matrix)的構(gòu)造

1矩陣的建立

(1)直接輸入法。注意元素間隔和行間隔。

(2)冒號(hào)法(IxN)o注意元素的個(gè)數(shù)問題。

(3)函數(shù)法(特殊矩陣)。

(4)矩陣的編輯(ArrayEditor)o(exnolOt)

2向量

向■是IXN的特殊矩陣,稱為N維向量。

3向量的點(diǎn)積與叉積

點(diǎn)積:dot(A,B)叉積:cross(A,B).

(cxnollt)

元素間隔:空格,行間隔:分號(hào)

冒號(hào)法(a:d:b)個(gè)數(shù):(b-a)/d+l

W=eye(3)3階單位矩陣

a=rand(2,3)2*3階隨機(jī)矩陣,元素在0?1之間

b=randn(3)3階隨機(jī)矩陣,元素在0?1之間,但元素符合正態(tài)分布

c=randn(2,3)2*3階隨機(jī)矩陣,元素在0?1之間,但元素符合正態(tài)分布

d=magic(3)魔方陣,各行各列以及對(duì)角元素的和相等

e=zeros(3)3階全零矩陣

向量只有一行

向量點(diǎn)積:

Dot(A,B)=|A|*|B|*C0S(AB)

Cross(A,B)

二、矩陣的加、減、乘和除

1.注意進(jìn)行矩陣加、減、乘和除的矩陣條件

(1)進(jìn)行矩陣加減時(shí).參與運(yùn)算的矩陣必須同維。

(3)A/BIH,A、B列數(shù)必須相同。A\B時(shí).A、B行數(shù)必須相同。

2.注意矩陣的左乘與右乘不同(A*B不等于BM)

3.注意矩陣的左除與右除不同(A/B不等于A\B)

4.標(biāo)星當(dāng)矩陣的數(shù)運(yùn)算和數(shù)學(xué)函數(shù)對(duì)矩陣的運(yùn)算等于對(duì)矩陣的每

一個(gè)元素的運(yùn)算

(exnol2t)

乘除是集體運(yùn)算,注意除的操作

標(biāo)量:?jiǎn)为?dú)的量,1,2.。。。。

a=rand(3)

b=abs(a)是做絕對(duì)值的運(yùn)算

三、對(duì)矩陣的操作

L對(duì)矩陣元素的操作

(1)提取矩陣A的第n行第黑列的元素,表示為A(n,m)。

(2)提取矩陣A的第n行的所有元素,表示為A(n,:)。

(3)提取矩陣A的第。列的所有元素,表示為A(:,m)。

(4)將矩陣A的第n行第m列的元素重新賦值b.表示為A(n,Q=b。

(5)將矩陣A的第n行的所有元素重新融值b.表示為A(n,:)=b。

(6)將矩陣A的第m列的所有元素重新賦值b.表示為A(:,?)b。

(7)將矩陣A的第n行第m列的元素刪除.表示為A(n,?)=[]。

(8)將矩陣A的第n行的所有元素刪除,表示為A(n,

(9)將矩陣A的新列所有元素刪除.表示為A(:,m)=「〕。(命今窗練邛

A

注意有冒號(hào)的前面或者后面都要有逗號(hào)給隔開

2對(duì)矩陣A的部分操作

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

Fliplr(A)矩陣左右翻轉(zhuǎn)Tiag(A,k)取矩陣對(duì)角線

元素

Hipud(A)矩陣三下翻轉(zhuǎn)Tril(A,k)取矩陣的下廠

角部分

Flipdim(Ajm)矩陣沿特定維Triu(Ajk)取矩陣的上三

(m)翻轉(zhuǎn)角部分

Rot90(A,k)矩陣逆時(shí)針旋kuj以是正、負(fù)整數(shù),但絕對(duì)值

轉(zhuǎn)k*90度一般不大于矩陣的維數(shù)。

Fliplr=flipleftright

Flipud=flipupdown

Flipdim=flipdim

首字母都要用小寫

3對(duì)矩陣A的分析

(1)方陣A的行列式值,可表達(dá)為dct(A)o

(2)矩陣A的秩,可表達(dá)為rarik(A)o

(3)行列式值不為零的方陣A,求逆矩陣可表達(dá)為inv(A)。

(4)矩陣A的轉(zhuǎn)道陣.可表達(dá)為A,。

(5)矩陣A的特征向量與特征值:

LV,D]eig(A)

式中,等號(hào)左邊是因數(shù)對(duì)矩陣A的作用后返回的變量信息。其中,

V和D分別為A的特征向量與特征值。這里,注意MATLAB的函數(shù)發(fā)生

作用后返回的變量信息這種形式,特別注意中.小括號(hào)的使用。

四、矩陣的數(shù)組運(yùn)算

運(yùn)算中,往往需要在矩陣之間進(jìn)行對(duì)應(yīng)元素的運(yùn)算.這就是矩陣

的數(shù)組運(yùn)算。矩陣運(yùn)算與矩陣的數(shù)組運(yùn)算區(qū)別主要反映在乘和除兩種

運(yùn)算中。

1.乘法

(1)矩陣運(yùn)算A*B。(2)矩陣的數(shù)組運(yùn)算A.*B(稱為數(shù)乘)。

2除法

(1)矩陣運(yùn)算A/B或A\B。

(2)矩陣的數(shù)組運(yùn)算A./B(稱為數(shù)除)。

矩陣的兩種不同運(yùn)算方式提醒讀者特別需要引起高度重視。

五、矩陣元素的關(guān)系運(yùn)算與邏輯運(yùn)算

1矩陣元素之間的關(guān)系運(yùn)算

(1)元素之間的關(guān)系運(yùn)算有

<小于》大于

《=小于等于》=大于等于

==等于~=不等于

(2)運(yùn)算結(jié)果:滿足條件時(shí)為1,不滿足條件時(shí)為0,特別注意

等于的運(yùn)算符號(hào)。

2矩陣元素之間的邏輯運(yùn)算

元素之間的邏輯運(yùn)算。(P40表2-2):

六、矩陣的多維數(shù)組形式

1.數(shù)組的維

(1)具有n個(gè)元素的一行或一列的矩陣數(shù)組稱為一維數(shù)組。

(2)具有n行■列的矩陣數(shù)組稱為nxm二維數(shù)組。

(3)具有h個(gè)二維數(shù)組稱為nxMXh三維數(shù)組。

2多維數(shù)組的構(gòu)成

(1)函數(shù)cal的使用。

_

(2)Bcat(din,al,a2...)o

(3)意義:將多個(gè)同維數(shù)組al,a2…構(gòu)成一個(gè)高維數(shù)組B。Dim是高維

數(shù)組B的維數(shù),它必須等于或大于al,a2…的階次。(cxnol4t)

cat:構(gòu)造多維數(shù)組的函數(shù)

b維數(shù)組B

■開始|||■O0禽11EHcros…|"MATLAB|PowgPol.」|i?C:WA...弓4■9K<9SQ_21:50

c(:,:,l)是a的數(shù)據(jù)

c(:,:,2)是b的數(shù)據(jù)

c(:,:,3)是b的數(shù)據(jù)(為了照顧結(jié)構(gòu),默認(rèn)的)

七、多項(xiàng)式及其運(yùn)算式

1.多項(xiàng)式的創(chuàng)建

(1)由IxN的N維向量

p=M%1

表示

多項(xiàng)式。

(2)由函數(shù)poly(A)定義

如果A為二維或以上的矩陣.poly(A)表示由A的特征根確定

的多項(xiàng)式。如果A為一維矩陣.poly(A)表示由A的元素為多項(xiàng)式

的根確定的多項(xiàng)式o(exnol5t).

,C:MATLAB6p5\work\exno\work\exno\exiiol5lJn

E*Edit*QatougBratport*w?fa出Eow明卜>

iou'二型sMf.|ae歸西即o框???*!一七工

1k方法一

2p=[l-23]%直接給出多項(xiàng)式p

3poly2syn(p)%紿出p多.項(xiàng)式的表達(dá)式

4%方法二

5a=[l2-24]

6ps=poly(a)*計(jì)算s的行征根確定的多項(xiàng)式

7poly2sym(ps)%給出ps、項(xiàng)式的表,式

8%方法三

9x=[T2]

10px=polyG)%以x的元素為多項(xiàng)式的根確定的多項(xiàng)式。

11poly2sy^l(px)%給出ps多:「二式

12

Id

scriptLn1Col1

■開始1109松U13Mleros…|“MATLABIPowgPol…I瞰C:\MA...弓4■呼_22:07

第一個(gè)是方程X2-2X+3-

第二個(gè)是特征根。。。。

第三個(gè)是根

2.多項(xiàng)式函數(shù)的引用poIyvaI

(1)Y-polyval(px,x)。

(2)引用函數(shù)為polyval。

(3)括號(hào)中,Px為多項(xiàng)式的名,x為多項(xiàng)式自變量取值.Y為對(duì)

應(yīng)的函數(shù)值。

3多項(xiàng)式運(yùn)算的函數(shù)

(1)P43.表25。

(2)(exnol6t)。

4,函數(shù)的多項(xiàng)式擬合

(1)用多助式去模擬一個(gè)函數(shù)的方法,稱為函數(shù)的多項(xiàng)式擬合。

Polyval=polyvalue

(2)方法:

1)找出函數(shù)上的已知點(diǎn)系列。

2)由已知點(diǎn)系列確定多助式,即

p=polyfit(.v,r,w)

式中.P為模擬的多項(xiàng)式.Polyfit為調(diào)用函數(shù),x和y是已知點(diǎn)

系列.n是多項(xiàng)式的階次。(一般n越大越精確)。(Cxnol2)

Plot:是畫曲線

第四章符號(hào)運(yùn)算

符號(hào)運(yùn)算是數(shù)學(xué)計(jì)算的重要內(nèi)容,特點(diǎn)是不帶來計(jì)算誤

差,希望認(rèn)真掌握本章內(nèi)容。

第一節(jié)符號(hào)變量的創(chuàng)建

(1)直接用引號(hào)”創(chuàng)建(包括代數(shù)式)。

(2)用函數(shù)sym(“)創(chuàng)建(包括代數(shù))。

注意:

1)上述兩種方法創(chuàng)建的符號(hào)變量所占空間不同。

2)符號(hào)代數(shù)式中的符號(hào)應(yīng)另行創(chuàng)建。

數(shù)值運(yùn)算誤差會(huì)傳遞

它把符號(hào)代數(shù)式看做一個(gè)整體,里面的符號(hào)要另行創(chuàng)建

例如:y=sym(匕*x-2+b,)中.計(jì)算機(jī)只能識(shí)別單引號(hào)

中的字符串,不能識(shí)別字符串中的部分字符,比如

符a,x,b等。

(3),'中包括的空格等都視為符號(hào)。

(4)己創(chuàng)建的符號(hào)變■及代數(shù)式可以進(jìn)行賦值。

(5)用函數(shù)syms創(chuàng)建多符號(hào)變量,變量之間用空格分

開。此方法一般多用于多符號(hào)變量的創(chuàng)建。

(6)可用上述方法創(chuàng)建符號(hào)矩陣與復(fù)數(shù)型符號(hào)變量。

第二節(jié)符號(hào)函數(shù)的運(yùn)算

對(duì)符號(hào)函數(shù)進(jìn)行運(yùn)算,首先必須

(1)定義符號(hào)變量。

(2)定義符號(hào)函數(shù)

1.函數(shù)求極限

(1)Findsym(f,n)e查找函數(shù)f的變量次序.n是查找變量

的個(gè)數(shù)。

(2)limit(f,x,a)e對(duì)于符號(hào)函數(shù)f,求當(dāng)變*x趨于a時(shí)的

極限值。對(duì)獨(dú)立變量的函數(shù)x可省略。對(duì)多變量的

函數(shù)f.變量x不可省,如果省略,計(jì)算機(jī)則按排序的

一個(gè)變量求極限。

先是變量,然后是字母倒序

(3)limit(f,x,ajright)右極限。

(4)limit(f,x,a,'left'),左極限。

(5)無(wú)窮極限。

練習(xí)4T

hi(l+2,v)

lim

?wsin3x

2.微分與積分的運(yùn)算

對(duì)可微函數(shù)f

(1)微分:diff(f,v,n)o函數(shù)f中對(duì)符號(hào)變量v求n階微

分。當(dāng)變量v和階次n省略時(shí),表示對(duì)單變量

的函數(shù)求一階微分。

對(duì)可積函數(shù)f(原函數(shù)存在)g

(2)積分:int(f,v,a,b)。函數(shù)f中對(duì)符號(hào)變量v求定積

分,a和b分別是積分的上下限。

int(f,v)o對(duì)變量v求定不積分。(exnol9t)

Diff:different微小的不同

沒有上下限-不定積分;有上下限-定積分

得出的結(jié)果是符號(hào)表達(dá)式,而不是數(shù)值

Y(D

Y(2)

最后Y是一個(gè)向量,因此在編程序時(shí)可以把要求的值放到一個(gè)向量中

注意:在運(yùn)行程序時(shí),前面的變量(工作空間)沒清除,后面再用該變量的話,若后面賦值

變量小,得到該變量的后面的值還是原來的

3.梯度函數(shù)gradient

(1)如果F是一維矩陣,貝UFX-&radient(F,H)返回F的

一維數(shù)值梯度。H是F中相鄰兩點(diǎn)間的間距。

(2)如果F是二維矩陣,返回F的二維數(shù)值梯度。

[FX,FY]=gradient(F,HX,HY)OHX,HY參數(shù)表示各

方向相鄰兩點(diǎn)的距離。

(3)如果F是三維矩陣,返回卜'的三維數(shù)值梯度。

[FX,FY,FZ]:gradient(F,HX,HY,HZ)。HX,HY,HZ參

數(shù)表示各方向相鄰兩點(diǎn)的距離。(exnol8tt)

_->_M_A_TL_A_B___________________________________________H|H|

E*Edityiew\Aze|iWndow

Dfi#Prectorr[c.WATL^B6p5VwtrMBxno^wt>>no|

X=

132

631

312

?[ex,ey]=gradient(x,0.5,0.2)

k

ex=

41-2

-6~5-4

-4-12

里型I.09其畫MkrosoftP..」|OMATLABPowgPoW勺…|QISI號(hào)20:30

Ex=[(3-1)/0.5(2-1)/(0.5*2)(2-3)/0.5

]

Ey=[(6-1)/0.2...........

(3-l)/(0.2*2)...

(3-6)/0.2.........]

規(guī)律:兩邊是相鄰相減除以d,中間是它的后面減前面再除以2d

Meshgrid(x,y)-將x,y構(gòu)成網(wǎng)格(xx—y個(gè)數(shù)個(gè)行,每行元素都是x

yy—y個(gè)數(shù)個(gè)行,每列元素都是y)

在XX,yy中各取一行,一列

與C:MA[LAB6P5,work\8xno\work\exno\exjx)20Lm?

日(eEditTextDebug桶Whctow

I00$H'r?&MAi£l£);S:IE)x02J霸

1-i[x,y]=meshgrid(-2:.05:2,-2:.05:2)%網(wǎng)格坐標(biāo)函數(shù)

2t=x.*exp(x「2y「24平面的溫度的分布

3"[px,py]=gradient(t,0.05,0.05)%平面上的溫度梯度r兩個(gè)方,

4td=sqrt(px.&2+py/2)?平面」二力滔度梯度的大小

5-subplot(221)%平面上作圖均分四個(gè)區(qū)域.這里表示第一個(gè)區(qū)域

6imagesc(t)?作平面上的溫度的分布囪

7'subplot(222)%

8imagesc(td)%

9'colormap('gray')%顏色矩陣

I1“if

scriptLn2Col14

事開闌,觸09第||iahg」“MA...IPCMP..癡C:\.“4.用X。%a21:11

注意加點(diǎn),表示對(duì)矩陣中的每個(gè)元素運(yùn)算

Imagesc(t):Imagesc

Coloimap:顏色表

Gray:灰度

20

40

60

80

2040608020406080

4.符號(hào)代數(shù)方程(組)的求解solve

(1)定義符號(hào)變量。

(2)定義符號(hào)方程(組)。

(3)求解方程(組):

格式1變量輸出方式

[xl,x2,...xn]solve(eql,eq2...eqn,xl,x2...xn)

格式2結(jié)構(gòu)輸出方式

V=solve(eql,eq2…eqn,xl,x2...xn)

eql,eq2…cqn是符號(hào)方程,xl,x2…xn是求解未知數(shù)。

V.xl(x2……)求里面各個(gè)變量的值

練習(xí)4-3

求解方程組

x;+2x,=0

Xj=0

注意:結(jié)構(gòu)輸出方式的顯示為V.xl或v.x2

v為結(jié)構(gòu)輸出的變量名。

(exno21t)

5.符號(hào)微分方程(組)的求解dsolve

符號(hào)微分方程(組)可以直接求解.調(diào)用格式為

格式1函數(shù)輸出方式

[yl,y2,…]=dsolve(,方程1,方程2初條件1,

初條件2…',’自變量')

格式2結(jié)構(gòu)輸出方式

V=dsolve(,方程1,方程2…初條件1,

初條件2…1'自變量。

注:當(dāng)初條件和自變量省略時(shí),解函數(shù)默認(rèn)為自變量

為t,并含有積分常數(shù)。

可以之前不定義符號(hào)方程組,而在函數(shù)輸出方式中定義

練習(xí)4-4

(1)求解微分方程

型…

dx

J'(0)=l

格式1函數(shù)輸出方式

[y]dsolve('Dy=-a*y','y(0)=1','x')

格式2結(jié)構(gòu)輸出方式

s=dsolve('Dy=~a*y','y(0)=l','x')(cxno22t)

注意微分算符的表達(dá)(大寫字母D),高階為D2、D3...

規(guī)定dy/dt寫成Dy

格式一■:[y]格式二:s

MATLAB

Fite£d<tyitwWt電

口nr??

exp(-a*t)

w

Cl*exp(-a*z)

?

:土思彼力

?開閽|90S*I網(wǎng)Micros…|■MATLAB|PowerPoL.II銖C:WA...4?凈X。%。21:41

注意因變量的一致性[y][u]

不指出自變量,默認(rèn)為t

最后一個(gè)結(jié)果是因?yàn)闆]有給出初值

(2)求解微分方程組

d”*

dz

半=§加匕)

dt

“(0)=1

”,(0)=0

(exno23t)

特別需要注意的是,不是任何微分方程都能進(jìn)行

符號(hào)微分方程的求解,無(wú)解析解的微分方程需要用數(shù)

值求解的方法進(jìn)行,有關(guān)問題將在后面介紹。

結(jié)構(gòu)輸出方式:只是一個(gè)量的話全顯示,是多個(gè)的話就會(huì)只顯示各個(gè)量的大小

要顯示各個(gè)量的話用V.U或V.W

6.符號(hào)變量與數(shù)值變量的轉(zhuǎn)換

符號(hào)變量的運(yùn)算結(jié)果仍然是符號(hào)變量,需要進(jìn)行

數(shù)值轉(zhuǎn)換,有下面的相關(guān)函數(shù):

(1)vpa(f,d):將符號(hào)函數(shù)f進(jìn)行數(shù)值轉(zhuǎn)變,有效位數(shù)

為d。

(2)double(f):將不含自由變量的符號(hào)函數(shù)f作數(shù)值

變換。有效位數(shù)固定為5位。

(3)subs(f,old,new):將符號(hào)表達(dá)式f中的自由變量

名old替換為新變量名new。

注意:符號(hào)函數(shù)f中的自由變量是指非阿拉伯?dāng)?shù)值字符

的符號(hào)變量。

練習(xí)4-5求下列函數(shù)的根

r=x2-x3-1

程序

symsx

f=sym(l-xA3+xA2-1=0')

v=solve(f)

w=vpa(v,2)

u=double(v)exnol3)

最后兩步因?yàn)榫鹊年P(guān)系,得到的結(jié)果可能不同

第五章數(shù)據(jù)可視化

第一節(jié)符號(hào)函數(shù)的函數(shù)圖

1.平面分圖位置函數(shù)subplot(nmj)

n:行m:列j:編號(hào)。

2.二維直角坐標(biāo)符號(hào)函數(shù)繪圖

(1)ezplot(f,[xl,x2])

f:含單變量的符號(hào)函數(shù)。

xl,x2:自變量的取值范圍,默認(rèn)值為[2pi,2pi]。

Ezplot:表示用符號(hào)函數(shù)來畫圖,不加ez默認(rèn)為用數(shù)據(jù)來畫圖

(2)ezplot(*u(x,y)\[xl,x2],[yl,y2])

兩變量隱函數(shù)u(x,y)=0

[xl,x2][yl,y2]:表示兩個(gè)變量的取值范圍。

(3)ezplot(x,y,[tl,t2])

x=f(t)y=g(t)是參數(shù)方程。

tl,t2:參變量的取值范圍。(exno25l)

3.三維直角坐標(biāo)符號(hào)函數(shù)繪圖

ezplot3(x,y,z,[tl,t2j)

x=f(t)y=g(t)zh(t)是參數(shù)方程。

tl,t2:參變量的取值范圍。(exno26t)

Exno25t:

f=sym('xA2+r)

subplot(221)

ezplot(f,[-2,2])

subplot(222)

ezplotCy-xA2-l,,[-2,2],[0,10J)

x=sym(*cos(t),)

y=sym(,sin(t)1)

subplot(223)

ezplot(x,y)

Exno26t:

x-symCcos(t)?)

y=sym(sin(t),)

z二sym(、t'2’)

subplot(224)"

ezplot3(x,y,z)

得到的圖像:

}FigureZo.1也2L

E*teEd*yewinsertJjoote地ndowhelp

.口④QmkA//@6c

4.二維平面極坐標(biāo)符號(hào)函數(shù)繪圖

ezpolar(r,[xl,x2])

函數(shù)r是幅值,自變量是極角,[xl,x2]是極角

的取值范圍。

練習(xí)5-1在極坐標(biāo)下給出下面的函數(shù)圖

1/?:4§in(3〃)

Exno27t:

r=sym('4*sin(3*x)')

ezpolar(r,[0,2*pi])

圖像:r=4sin<3x)

第二節(jié)2D數(shù)據(jù)圖

1.二維數(shù)據(jù)的形式

(1)兩個(gè)元素同為n的行向量。

(2)一個(gè)二維(nxm)矩陣。(n:行.m:列)

2二維數(shù)據(jù)的圖形

(1)兩個(gè)元素同為n的行向量,各對(duì)應(yīng)的元素在平

面上確定n個(gè)點(diǎn)連成一條曲練

(2)二維矩陣(nxm)的每一列元數(shù)可構(gòu)成n個(gè)點(diǎn)的

曲線。曲線的橫坐標(biāo)為行數(shù)。*,…的,縱坐標(biāo)為該

列相應(yīng)的元素。此矩陣可表示為添曲線(列操作)。

第一個(gè)就相當(dāng)于二維(x,y)各點(diǎn)連在一起形成的曲線

第二個(gè)相當(dāng)于(a,x)各點(diǎn)連在一起形成的曲線

(a,y)各點(diǎn)連在一起形成的曲線

(a,z)各點(diǎn)連在一起形成的曲線..........

(a,m)各點(diǎn)連在一起形成的曲線a為行號(hào):1,2,,3°

(3)兩個(gè)同維的(nxm)二維矩陣(X.Y)可表示為m條

曲線。每條曲線的橫、縱坐標(biāo)分別為X和Y對(duì)應(yīng)的列向量各

元素。(列操作)

3建立二維數(shù)據(jù)圖形的函數(shù)

(1)設(shè)xl和yl,x2和y2…為多組行向量.則

plot(xl,yl,x2,y2…)繪出多條曲線<,xl,x2…是橫坐標(biāo)

行向量.yi,y2…是縱坐標(biāo)行向量。

(2)設(shè)x為二維(nxm)矩陣,則

Plot(x)繪出m條曲線。矩陣的行數(shù)為橫坐標(biāo),各列的元素

為縱坐標(biāo)。

(3)設(shè)x和y分別為二維(nxm)矩陣,則

Plot(x,y)繪出m條曲縹每條曲線的橫、縱坐標(biāo)分別

為X和Y對(duì)應(yīng)的列向量各元素。(列操作)(exno28l)

(4)與plot對(duì)應(yīng)的繪圖函數(shù)還有以下一些,他們的調(diào)

用格式相同,坐標(biāo)刻度不同:

1)Plot雙軸線性刻度。

2)Loglog雙軸對(duì)數(shù)刻度。

3)Semilogxx軸對(duì)數(shù)刻度,y軸線性刻度。

4)Semilogyy軸對(duì)數(shù)刻度,x軸線性刻度。

Exno28t:

x=0:0.1:8

yl=sin(x);

y2=cos(x);

subplot(221)

plot(x,yl)

subplot(222)

plot(x,yl,x,y2)

w=[23;31;46]

subplot(223)

plot(w)

q=[46;35;12]

subplot(224)

plot(w,q)

圖像:

5)Ployy雙y軸,適合兩組數(shù)據(jù)相差大的數(shù)

據(jù)組。(exno29t)

4.二維數(shù)據(jù)圖形的繪圖控制

(1)控制曲線的顏色Colors、線型Linestyles、標(biāo)

志Mrkers?;靖袷剑?/p>

plot(X,y,'elm')

1)顏色

B藍(lán),C青(cyan).G綠.K黑(black).M紫(magenta)

R紅,W白,y黃。

Exno29t:

x=0:0.1:10

yq=sin(x)

y2=exp(x)

y3-exp(x).*sin(x)

y3=exp(x).*sin(x)

subplot(221)

plot(x,y2)

subplot(222)

loglog(x,y2)

subplot(223)

plotyy(x,yl,x,y2)

subplot(224)

semilogy(x,y2)

結(jié)果:

Plot(x,y,'clm'):elm指color、linestyles>makers

2)線型

-實(shí)線一虛線:點(diǎn)線點(diǎn)畫線

3)標(biāo)志

<左三角.>右三角.*星號(hào).■?加號(hào)..小黑點(diǎn).

圓I圈.v下三角.上三角,square方型.

diamond菱型.pentagram五角星.hexagram六角星.

none無(wú)

例如plot(x,y,?Rsquare,)代表以紅色的虛線、數(shù)據(jù)

點(diǎn)上用方型符號(hào)的曲線o

(2)控制曲線的坐標(biāo)軸:

axisnormal正常。rgridon(off)網(wǎng)格

axissquare長(zhǎng)寬比例為1。boxon(off)外圍矩型

axisequal長(zhǎng)寬比例為不變,兩刻度一致。

axisequaltight長(zhǎng)寬比例為不變.圖緊貼軸。

axis([xl,xl,yl,y2])控制坐標(biāo)軸的范圍。

axisoff取消坐標(biāo)軸。

(exno31)

網(wǎng)格字打錯(cuò)了應(yīng)為gridon

倒第二個(gè)是x2

Exno31t:

x=0:0.1:8.0

yl=sin(x)

y2=cos(x)

subplot(221)

plot(x,yl?rsquare',x,y2,,b.*)

boxon

giidon

subplot(222)

plot(x,yl,'k:pentagram',x,y2,'b.*')

axisequaltight

boxoff

gridoff

subplot(223)

plot(yl,y2,'k")

axisequal

axisoff

subplot(224)

plot(yl?y2,'b>')

axison

結(jié)果

(3)曲線圖中加入文字標(biāo)注:

1)Title給曲線圖加標(biāo)題。

2)Xlable給曲線圖軸加標(biāo)題。

3)Ylable給曲線圖軸加標(biāo)題。

4)Zlable給曲線圖軸加標(biāo)題。

5)Legend對(duì)當(dāng)前圖加圖注。

6)Text對(duì)指定位置加字符串。

7)Gtext在鼠標(biāo)的位置加字符串。(exno32)

注:上述函數(shù)的引用中.由'引導(dǎo)的英文可表示不同

的意義。如\alpha表示希臘字符a等。

Exno32t:

x=0:0.1:8

plot(x,sin(x),x,cos(x))

title('主題)

xlabel(\alpha)

ylabel('h'2)

legend('1,2')

text(pi/4,sin(pi/4),leftarrowsin(pi/4)~0.707')

gtext(string')

十字叉是由gtest導(dǎo)致的

第三節(jié)3D數(shù)據(jù)圖

3D與2D繪圖的語(yǔ)句結(jié)構(gòu)基本相同,僅繪圖函數(shù)不同。

1.x,y,z分別是向量

plot3(x,y,z)繪制一條三維曲線。

2.x,y,z分別是同維矩陣(nXm)

Plot3(x,y,z)繪制m條三維曲線(按列操作)。

3.三維網(wǎng)狀圖mesh

(1)一般meshezmesh(符號(hào)函數(shù))。

(2)帶等高線meshcezmeshc(符號(hào)函數(shù))。

(3)加圍裙meshzo

4.三維曲面圖surf

⑴一般surfzsurf(符號(hào)函數(shù))。

(2)帶等高線surfcezsurfc(符號(hào)函數(shù))O

(3)加光源surflo

4(1)ezsurf

5.等高線contour

(1

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論