matlab學習Matlab編程基礎及應用_第1頁
matlab學習Matlab編程基礎及應用_第2頁
matlab學習Matlab編程基礎及應用_第3頁
matlab學習Matlab編程基礎及應用_第4頁
matlab學習Matlab編程基礎及應用_第5頁
已閱讀5頁,還剩129頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

mnnnB編程基礎及其

應用

第01章

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

一、MATLAB的功能產品

1.MATLABConpiler

將攻件轉為皿件,加快運行速度。

2.MATLABC/O+GraphicsLibrary

由收件產生GUI獨立運行的帝序代碼。

3.MATLABC/O+MathLibrary

由敗件產生獨立運行如C程序代碼。

4DatabastToolbox

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

5.DatabastAcquisititionToolbox

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

6.ExceILink

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

7.MATLABReportGenerator

MATIJVB的報告產生器。

8.MATLABRuntimeSever

格個人應用程序包成T軟件,并在沒有MT?

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

9MATLABWebSever

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

算或繪圖。

二、設計自動化系列

1.Simulink

2.RTW

由Simu1ink的模型產生的。呈序代碼o

3.Stateflow

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

4.StateflowCoder

產生Stateflow模型匿序代碼。

5.DSPbIockset

對數(shù)字信號處理進行仿真的方塊集。、

6.ConvnunicationToolbox

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

7.XPXTarget

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

一臺PC機.以實現(xiàn)快速原型化的各種測試。

8.DialsandGaugesBlock

由各種電子儀器的圖標來顯示或控制

Simu1ink的信號。

9.PowerSystemBlock

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

10.FixedPointBlock

模擬定點運算的方塊集。

11.RTWADACoder

可產生Simu1ink模型ADA代碼。

12.RTWTarget

可在單臺PC機上執(zhí)行Simulink模型的C

代碼(由E產生)。

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

I信號與圖象處理

(1)SignalProcessing

信號處

(2)ImagesProcessing

圖象處理。

(3)Wavelet

小波變換的分析與應用。

(4)Higher-OrderSpectraIAnalysis

高階頻譜分析。

(5)FiIterDesign

?化流波的分析與應用。

2.控制設計

(1)ControlSystem

控制系統(tǒng)設計。

(2)FuzzyLogic

模糊邏輯分析與應用。_______________

(3)RobustControl

魯棒控制。

(4)NonlinearControlDesignBlockset

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

(5)SystemIdentification

系統(tǒng)識別。

<6)LMIControl

基于線性不等式的控制設計。

(7)ModelPredictiveControl

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

(8)QFTControlDesign

定?反饋理論的強健式控制設計。

3.其他工具箱

(1)Optimizayion

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

(2)Statistics

統(tǒng)計及概率的應用。

(3)NeuralNetworks

類神經網(wǎng)絡的設計與應用。

(4)Symbo1ic/ExtendedSymbo1icMath

符號的運算及化霞。

(5)PartialDifferentialEquation

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

(6)FinancialTimeSeries

金融計算與投資組合的分析與應用。

(7)Garch

對金融時間序列的預測與分析。

(8)Mapping

對地理信息的分析。

(9)Spling

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

02

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

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

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

最下面一層是基礎層,上面都是應用層

Compiler:編譯器,依附matlab

Toolboxes:工具箱,依附matlab

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

MATLAB系統(tǒng)的基礎層是整個系統(tǒng)的基礎,該展次的核心內容是

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

1.軟件主包MATLAB的構成

(1)MATLAB語言。

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

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

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

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

2.MATLAB的工具箱(Toolboxes)

圍繞MATLAB這個計算核心,有許多針對不同應用領域開發(fā)的應

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

用工具箱大約有40多個,另外還有一些其他公司提供的專門應用領域

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

可用的工具箱所涉及的應用領域大致為

(1)應用數(shù)學類.

(2)電子技術類.

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

(4)通訊.

(5)財經與金融。

3MATLAB的編譯器(Compiler)

MATLAB是一種高級語言,將這種高級語言高效快速地編譯成為

硬件C語言,結合MATUVB的矩陣式數(shù)據(jù)結構,使MATUVBM有極快的運行

速度。

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

(2)終端用戶發(fā)布獨立應用。.

(3)支持如下標準編譯環(huán)境:

1)Windows95/98/NT

MicrosoftDevStudioC/C++Coapiler

BorlandC/Cf<Coapiler

2)Unix

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

(1)命令窗口(CcaaandWindovn).

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

(3)當前目錄窗口(CurrentDirectory)?

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

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

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

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

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

3.MATLAB的編譯器(Conpiler)

MATLAB是一種高級語言,將這種高級語言高效快速地納譯成為

硬件C語言,結合叫TLAB的矩陣式數(shù)據(jù)結構,使HATLA暝有極快的運行

速度。

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

(2)終喘用戶發(fā)布獨立應用。

(3)支持如下標準編譯環(huán)境:

DVindovs95/98/NT

MicrosoftDcvStudioC/C++Coapilcr

BorlandC/CHCoapiler

2)Unix

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

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

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

(2)具有層次性的交互式模塊框圖結狗設計方法。

(3)支持數(shù)字、模n和混合信號及事件塞動遺輯建模仿II。

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

(6)與C代碼的硼仿工

(6)與Matlab平臺緊密集電

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

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

(9)精確的建財法和系統(tǒng)結構可視化》

(10)仿真系統(tǒng)嚴格反映真實時序(章實時時標)。

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

復合信號仿真模型

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

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

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

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

(1)什么是RTI?

D從系統(tǒng)設計到硬件實現(xiàn)的快速直達途總

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

3)不依麒特殊目標硬件。

4)支持多種平臺。

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

(2)RTW主要特點:

D開放的、可獷充的結構o

2)支持定點和浮點。

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

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

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

三、事件驅動邏輯/行為的建模、仿真(Stateflow)

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

(1)對事件驅動系統(tǒng)進行建模和仿真。

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

(3)利用Statecharts的國際標準進行圖形化建模。

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

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

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

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

(1)命令窗口(CoaaandWindown)o

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

(3)當前目錄窗口(CurrentDirectory)。

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

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

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

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

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

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

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

它是暫時內存,關機了就沒了

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

雙擊變量可以對變量進行編輯(變量編輯器)

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

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

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

matlab.mat的二進制文件中。

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

data,mat的二進制文件中。

Savedataxyz存工榨空間名為Xyz變量

到名為data.mat的二進制文件中。

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

空間。

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

默認存到WORK中

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

01.

save

Savingto:matlab.mat

load

Loadingfrom:matlab.mat

02.

saveqqx

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

Loadqq

在打開文件中雙擊也可

Desktop:設置桌面的窗口

Help比較好,可以自學,help中的demos

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

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

helpftm

rr*f

?ub?p??rr

tnv

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

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

h*t|i

MhirhevrtIin*

iHawrMtM**IrtlA”《H

pnt*t?olid

rtrrlrdottrd

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

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

5.其他幫助命令

(1)exist變量檢杳。

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

(3)who內存變量列表.

(4)whos內存變量詳細信息.

(5)which確定文件位者。

如下圖所示.

菜單中Edit:

Clearcommandwindow

Clearcommandhistory

Clearworkspace

圖形窗口可以對圖像進行旋轉

第三章

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

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

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

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

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

Inf(無窮大)等。常量可任意調用。

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

1)用單引號。

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

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

后面變量要用空格隔開

X=2是把2賦給X

Debug:開車,運行

只運算不賦值,最后賦值到臨時存儲ans

第二節(jié)矩陣構造及運算

一、矩陣(Matrix)的構造

1矩陣的建立

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

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

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

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

2向量

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

3向量的點積與叉積

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

(cxnollt)

元素間隔:空格,行間隔:分號

冒號法(a:d:b)個數(shù):(b-a)/d+l

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

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

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

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

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

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

向量只有一行

向量點積:

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

Cross(A,B)

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

1.注意進行矩陣加、減、乘和除的矩陣條件

(1)進行矩陣加減時.參與運算的矩陣必須同維。

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

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

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

4.標星當矩陣的數(shù)運算和數(shù)學函數(shù)對矩陣的運算等于對矩陣的每

一個元素的運算

(exnol2t)

乘除是集體運算,注意除的操作

標量:單獨的量,1,2.。。。。

a=rand(3)

b=abs(a)是做絕對值的運算

三、對矩陣的操作

L對矩陣元素的操作

(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

注意有冒號的前面或者后面都要有逗號給隔開

2對矩陣A的部分操作

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

Fliplr(A)矩陣左右翻轉Tiag(A,k)取矩陣對角線

元素

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

角部分

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

(m)翻轉角部分

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

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

Fliplr=flipleftright

Flipud=flipupdown

Flipdim=flipdim

首字母都要用小寫

3對矩陣A的分析

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

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

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

(4)矩陣A的轉道陣.可表達為A,。

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

LV,D]eig(A)

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

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

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

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

運算中,往往需要在矩陣之間進行對應元素的運算.這就是矩陣

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

運算中。

1.乘法

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

2除法

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

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

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

五、矩陣元素的關系運算與邏輯運算

1矩陣元素之間的關系運算

(1)元素之間的關系運算有

<小于》大于

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

==等于~=不等于

(2)運算結果:滿足條件時為1,不滿足條件時為0,特別注意

等于的運算符號。

2矩陣元素之間的邏輯運算

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

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

1.數(shù)組的維

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

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

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

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

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

_

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

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

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

cat:構造多維數(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ù)(為了照顧結構,默認的)

七、多項式及其運算式

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

(1)由IxN的N維向量

p=M%1

表示

多項式。

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

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

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

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

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

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

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

1k方法一

2p=[l-23]%直接給出多項式p

3poly2syn(p)%紿出p多.項式的表達式

4%方法二

5a=[l2-24]

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

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

8%方法三

9x=[T2]

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

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

12

Id

scriptLn1Col1

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

第一個是方程X2-2X+3-

第二個是特征根。。。。

第三個是根

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

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

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

(3)括號中,Px為多項式的名,x為多項式自變量取值.Y為對

應的函數(shù)值。

3多項式運算的函數(shù)

(1)P43.表25。

(2)(exnol6t)。

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

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

Polyval=polyvalue

(2)方法:

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

2)由已知點系列確定多助式,即

p=polyfit(.v,r,w)

式中.P為模擬的多項式.Polyfit為調用函數(shù),x和y是已知點

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

Plot:是畫曲線

第四章符號運算

符號運算是數(shù)學計算的重要內容,特點是不帶來計算誤

差,希望認真掌握本章內容。

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

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

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

注意:

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

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

數(shù)值運算誤差會傳遞

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

例如:y=sym(匕*x-2+b,)中.計算機只能識別單引號

中的字符串,不能識別字符串中的部分字符,比如

符a,x,b等。

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

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

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

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

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

第二節(jié)符號函數(shù)的運算

對符號函數(shù)進行運算,首先必須

(1)定義符號變量。

(2)定義符號函數(shù)

1.函數(shù)求極限

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

的個數(shù)。

(2)limit(f,x,a)e對于符號函數(shù)f,求當變*x趨于a時的

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

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

一個變量求極限。

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

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

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

(5)無窮極限。

練習4T

hi(l+2,v)

lim

?wsin3x

2.微分與積分的運算

對可微函數(shù)f

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

分。當變量v和階次n省略時,表示對單變量

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

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

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

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

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

Diff:different微小的不同

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

得出的結果是符號表達式,而不是數(shù)值

Y(D

Y(2)

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

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

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

3.梯度函數(shù)gradient

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

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

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

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

方向相鄰兩點的距離。

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

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

數(shù)表示各方向相鄰兩點的距離。(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號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構成網(wǎng)格(xx—y個數(shù)個行,每行元素都是x

yy—y個數(shù)個行,每列元素都是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)格坐標函數(shù)

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

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

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

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

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

7'subplot(222)%

8imagesc(td)%

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

I1“if

scriptLn2Col14

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

注意加點,表示對矩陣中的每個元素運算

Imagesc(t):Imagesc

Coloimap:顏色表

Gray:灰度

20

40

60

80

2040608020406080

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

(1)定義符號變量。

(2)定義符號方程(組)。

(3)求解方程(組):

格式1變量輸出方式

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

格式2結構輸出方式

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

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

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

練習4-3

求解方程組

x;+2x,=0

Xj=0

注意:結構輸出方式的顯示為V.xl或v.x2

v為結構輸出的變量名。

(exno21t)

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

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

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

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

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

格式2結構輸出方式

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

初條件2…1'自變量。

注:當初條件和自變量省略時,解函數(shù)默認為自變量

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

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

練習4-4

(1)求解微分方程

型…

dx

J'(0)=l

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

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

格式2結構輸出方式

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

注意微分算符的表達(大寫字母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]

不指出自變量,默認為t

最后一個結果是因為沒有給出初值

(2)求解微分方程組

d”*

dz

半=§加匕)

dt

“(0)=1

”,(0)=0

(exno23t)

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

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

值求解的方法進行,有關問題將在后面介紹。

結構輸出方式:只是一個量的話全顯示,是多個的話就會只顯示各個量的大小

要顯示各個量的話用V.U或V.W

6.符號變量與數(shù)值變量的轉換

符號變量的運算結果仍然是符號變量,需要進行

數(shù)值轉換,有下面的相關函數(shù):

(1)vpa(f,d):將符號函數(shù)f進行數(shù)值轉變,有效位數(shù)

為d。

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

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

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

名old替換為新變量名new。

注意:符號函數(shù)f中的自由變量是指非阿拉伯數(shù)值字符

的符號變量。

練習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)

最后兩步因為精度的關系,得到的結果可能不同

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

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

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

n:行m:列j:編號。

2.二維直角坐標符號函數(shù)繪圖

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

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

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

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

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

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

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

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

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

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

3.三維直角坐標符號函數(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.二維平面極坐標符號函數(shù)繪圖

ezpolar(r,[xl,x2])

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

的取值范圍。

練習5-1在極坐標下給出下面的函數(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)兩個元素同為n的行向量。

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

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

(1)兩個元素同為n的行向量,各對應的元素在平

面上確定n個點連成一條曲練

(2)二維矩陣(nxm)的每一列元數(shù)可構成n個點的

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

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

第一個就相當于二維(x,y)各點連在一起形成的曲線

第二個相當于(a,x)各點連在一起形成的曲線

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

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

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

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

曲線。每條曲線的橫、縱坐標分別為X和Y對應的列向量各

元素。(列操作)

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

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

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

行向量.yi,y2…是縱坐標行向量。

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

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

為縱坐標。

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

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

為X和Y對應的列向量各元素。(列操作)(exno28l)

(4)與plot對應的繪圖函數(shù)還有以下一些,他們的調

用格式相同,坐標刻度不同:

1)Plot雙軸線性刻度。

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

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

4)Semilogyy軸對數(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、標

志Mrkers。基本格式:

plot(X,y,'elm')

1)顏色

B藍,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)

結果:

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

2)線型

-實線一虛線:點線點畫線

3)標志

<左三角.>右三角.*星號.■?加號..小黑點.

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

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

none無

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

點上用方型符號的曲線o

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

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

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

axisequal長寬比例為不變,兩刻度一致。

axisequaltight長寬比例為不變.圖緊貼軸。

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

axisoff取消坐標軸。

(exno31)

網(wǎng)格字打錯了應為gridon

倒第二個是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

結果

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

1)Title給曲線圖加標題。

2)Xlable給曲線圖軸加標題。

3)Ylable給曲線圖軸加標題。

4)Zlable給曲線圖軸加標題。

5)Legend對當前圖加圖注。

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

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

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

的意義。如\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導致的

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

3D與2D繪圖的語句結構基本相同,僅繪圖函數(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(符號函數(shù))。

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

(3)加圍裙meshzo

4.三維曲面圖surf

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

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

(3)加光源surflo

4(1)ezsurf

5.等高線contour

(1

溫馨提示

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

評論

0/150

提交評論