《matlab與數(shù)值分析課》全冊(cè)配套課件2_第1頁
《matlab與數(shù)值分析課》全冊(cè)配套課件2_第2頁
《matlab與數(shù)值分析課》全冊(cè)配套課件2_第3頁
《matlab與數(shù)值分析課》全冊(cè)配套課件2_第4頁
《matlab與數(shù)值分析課》全冊(cè)配套課件2_第5頁
已閱讀5頁,還剩302頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

《matlab與數(shù)值分析課》全冊(cè)配套課件2MATLAB與數(shù)值分析

MATLABandNumericalAnalysis課程綜述與教學(xué)相關(guān)要求課程綜述:1.教材與參考書

教材(Textbook)《MATLAB數(shù)值計(jì)算方法》,張德豐等編著,機(jī)械工業(yè)出版社,2010

參考書目(Reference)《科學(xué)計(jì)算引論——基于MATLAB的數(shù)值分析》,ShoichiroNakamura,電子工業(yè)出版社,2002《數(shù)值分析基礎(chǔ)教程》,李慶揚(yáng),高等教育出版社,2001《數(shù)值計(jì)算引論》,白峰杉,高等教育出版社,20042.課程教學(xué)內(nèi)容MATLAB概論(2學(xué)時(shí))

MATLAB基礎(chǔ)知識(shí)

(4學(xué)時(shí))

MATLAB程序設(shè)計(jì)

(2學(xué)時(shí))

MATLAB數(shù)據(jù)的圖形表示(2學(xué)時(shí))

Simulink建模與仿真基礎(chǔ)

(4學(xué)時(shí))MATLAB部分(14學(xué)時(shí))數(shù)值計(jì)算方法部分(26學(xué)時(shí))

數(shù)值計(jì)算的基本概念(3學(xué)時(shí))線性方程組與矩陣特征值求解的數(shù)值方法(6學(xué)時(shí))函數(shù)的數(shù)值逼近(5學(xué)時(shí))數(shù)值積分(4學(xué)時(shí))常微分方程的初值問題(4學(xué)時(shí))非線性方程求解(3學(xué)時(shí))課程復(fù)習(xí)與總結(jié)(1學(xué)時(shí))教學(xué)相關(guān)要求:1.課堂紀(jì)律

禁止大聲喧嘩禁止玩手機(jī)禁止無故缺席和遲到2.成績構(gòu)成

課程總成績=平時(shí)成績+上機(jī)實(shí)驗(yàn)+課程設(shè)計(jì)+期末考試成績平時(shí)成績(30%):作業(yè)+上機(jī)實(shí)驗(yàn)+課堂表現(xiàn)課程設(shè)計(jì)(20%):課程設(shè)計(jì)報(bào)告期末考試(50%):期末集中卷面考試作業(yè):總共6次,要求每人至少交作業(yè)4次科學(xué)家和工程技術(shù)人員需要的研究工具一種演算紙式的科學(xué)工程計(jì)算語言

MATLABMATLAB概述與基礎(chǔ)參考書

《MATLAB實(shí)用教程》鄭阿奇主編,電子工業(yè)出版社出版,2004年5月出版一、MATLAB的基本組成MATLAB主程序

MATLAB語言、工作環(huán)境、句柄圖形、數(shù)學(xué)函數(shù)庫和應(yīng)用程序接口MATLAB的功能性工具箱

如:Simulink動(dòng)態(tài)系統(tǒng)仿真MATLAB的學(xué)科性工具箱如:SignalProcessingToolbox信號(hào)處理工具箱

1.核心部分:幾百個(gè)核心內(nèi)部函數(shù)。2.大量可選的工具箱。MATLAB的兩個(gè)主要部分例:用一個(gè)簡單命令求解線性系統(tǒng)

3x1+x2-x3=3.6x1+2x2+4x3=2.1-x1+4x2+5x3=-1.4線性系統(tǒng)求解:(Ax=b)輸入指令:A=[31-1;124;-145];b=[3.6;2.1;-1.4];x=A\b得到結(jié)果:x=1.4818-0.46060.3848x=linspace(0,6)y1=sin(2*x);y2=sin(x.^2);y3=(sin(x)).^2;plot(x,y1,x,y2,x,y3,’LineWidth’,2)例.用簡短命令計(jì)算并繪制在0x6范圍內(nèi)的sin(2x)、sinx2、sin2x。常用專業(yè)性工具箱ControlSystem最基本的控制工具箱SignalProcessing信號(hào)處理工具箱ImageProcessing圖像處理工具箱Communication通訊工具箱Higher-OrderSpectralAnalysis高階譜分析Spline樣條分析工具箱Statistics統(tǒng)計(jì)分析工具箱…MATLAB的特點(diǎn)編程效率高用戶使用方便擴(kuò)充能力強(qiáng)、交互性好移植性和開放性好語句簡單、內(nèi)涵豐富高效方便的矩陣和數(shù)組運(yùn)算方便的繪圖功能操作界面窗口及功能MATLAB的操作界面是一個(gè)高度集成的工作界面,它的通用操作界面包括八個(gè)常用的窗口,分別是:命令窗口歷史命令窗口當(dāng)前目錄瀏覽器窗口工作空間瀏覽器窗口數(shù)組編輯器窗口、交互界面分類目錄窗口M文件編輯/調(diào)試窗口幫助導(dǎo)航/瀏覽器窗口。命令窗口(CommandWindow)命令窗口默認(rèn)出現(xiàn)在MATLAB界面右側(cè),是進(jìn)行MATLAB操作的主要窗口。在命令窗口中可鍵入各種MATLAB的命令、函數(shù)和表達(dá)式,并顯示除圖形外的所有運(yùn)算結(jié)果。命令窗口可單獨(dú)顯示:如果選擇菜單“Desktop”→“UndockCommandWindow”單獨(dú)的命令窗口返回MATLAB界面:選擇命令窗口的菜單“Desktop”→“DockCommandWindow”命令命令行的顯示方式命令窗口中每個(gè)命令行前會(huì)出現(xiàn)提示符“>>”。命令窗口內(nèi)顯示的字符和數(shù)值采用不同顏色,在默認(rèn)情況下,輸入的命令、表達(dá)式以及計(jì)算結(jié)果等采用黑色字體;

字符串采用赭紅色;“if”、“for”等關(guān)鍵詞采用藍(lán)色。命令窗口中命令行的編輯

MATLAB命令窗口不僅可以對(duì)輸入的命令進(jìn)行編輯和運(yùn)行,而且可對(duì)已輸入的命令進(jìn)行回調(diào)、編輯和重運(yùn)行。命令窗口中行編輯的常用操作鍵鍵名作用鍵名作用↑

向前調(diào)回已輸入過的命令行

Home

使光標(biāo)移到當(dāng)前行的開頭

向后調(diào)回已輸入過的命令行

End

使光標(biāo)移到當(dāng)前行的末尾

在當(dāng)前行中左移光標(biāo)

Delete

刪去光標(biāo)右邊的字符

在當(dāng)前行中右移光標(biāo)

Backspace

刪去光標(biāo)左邊的字符

PageUp

向前翻閱當(dāng)前窗口中的內(nèi)容

Esc

清除當(dāng)前行的全部內(nèi)容

PageDown

向后翻閱當(dāng)前窗口中的內(nèi)容

CTRL+C

中斷MATLAB命令的運(yùn)行MATLAB常用標(biāo)點(diǎn)符號(hào)的功能名稱符號(hào)功能空格用于輸入變量之間的分隔符以及數(shù)組行元素之間的分隔符逗號(hào),用于要顯示計(jì)算結(jié)果的命令之間的分隔符;用于輸入變量之間的分隔符;用于數(shù)組行元素之間的分隔符。點(diǎn)號(hào).用于數(shù)值中的小數(shù)點(diǎn)。分號(hào);用于不顯示計(jì)算結(jié)果的命令行結(jié)尾,不顯示計(jì)算結(jié)果命令之間的分隔符;用于數(shù)組元素行之間的分隔符。冒號(hào):用于生成一維數(shù)值數(shù)組,表示一維數(shù)組的全部元素或多維數(shù)組的某一維的全部元素。百分號(hào)%用于注釋的前面,在它后面的命令不需要執(zhí)行。單引號(hào)‘’用于括住字符串。圓括號(hào)()用于引用數(shù)組元素;用于函數(shù)輸入變量列表;用于確定算術(shù)運(yùn)算的先后次序方括號(hào)[]用于構(gòu)成向量和矩陣;用于函數(shù)輸出列表?;ɡㄌ?hào){}用于構(gòu)成元胞數(shù)組。下劃線-用于一個(gè)變量、函數(shù)或文件名中的連字符。續(xù)行號(hào)…用于把后面的行與該行連接以構(gòu)成一個(gè)較長的命令?!癆t”號(hào)@用于放在函數(shù)名前形成函數(shù)句柄;用于放在目錄名前形成用戶對(duì)象類目錄。數(shù)值計(jì)算結(jié)果的顯示格式及設(shè)置

默認(rèn)顯示格式為:當(dāng)數(shù)值為整數(shù),以整數(shù)顯示;當(dāng)數(shù)值為實(shí)數(shù),以小數(shù)后4位的精度近似顯示,即以“短(Short)”格式顯示;如果數(shù)值的有效數(shù)字超出了這一范圍,則以科學(xué)計(jì)數(shù)法顯示結(jié)果。

顯示格式設(shè)置:選擇菜單File”→“Preferences”,則會(huì)出現(xiàn)參數(shù)設(shè)置對(duì)話框或直接在命令窗口中輸入“format”命令來進(jìn)行數(shù)值顯示格式的設(shè)置。MATLAB數(shù)據(jù)顯示的Format格式命令格式含義例子formatformatshort(默認(rèn))

通常保證小數(shù)點(diǎn)后四位有效;大于1000的實(shí)數(shù),用5位有效數(shù)字的科學(xué)計(jì)數(shù)法顯示314.159顯示為314.15903141.59顯示為3.1416e+003

formatshorte

5位科學(xué)計(jì)數(shù)法表示

π顯示為3.1416e+000

formatshortg

從formatshort和formatshorte中自動(dòng)選擇最佳計(jì)數(shù)方式

π顯示為3.1416

formatlong

15位數(shù)字表示

π顯示為3.1415926535897formatlonge

15位科學(xué)計(jì)數(shù)法表示π顯示為3.141592653589793e+000

formatlongg

從formatlong和formatlonge中自動(dòng)選擇最佳計(jì)數(shù)方式

π顯示為3.1415926358979

formatrat

近似有理數(shù)表示

π顯示為355/113

formathex

十六進(jìn)制表示

π顯示為400921fb54442dl8

format+

正數(shù)、負(fù)數(shù)、零分別用+、-、空格

π顯示為+

formatbank

表示(金融)元、角、分π顯示為3.14

formatcompact

在顯示結(jié)果之間沒有空行的壓縮格式

formatloose

在顯示結(jié)果之間有空行的稀疏格式

歷史命令窗口(CommandHistory)歷史命令窗口默認(rèn)地出現(xiàn)在MATLAB界面的左下側(cè),用來記錄并顯示已經(jīng)運(yùn)行過的命令、函數(shù)和表達(dá)式,并允許用戶對(duì)它們進(jìn)行選擇、復(fù)制和重運(yùn)行。應(yīng)用功能操作方法單行或多行命令的復(fù)制(Copy)選中單行或多行命令,按鼠標(biāo)右鍵出現(xiàn)快捷菜單,再選擇“Copy”菜單,就可以把它復(fù)制。單行或多行命令的運(yùn)

(EvaluateSelection)選中單行或多行命令,按鼠標(biāo)右鍵出現(xiàn)快捷菜單,再選擇“EvaluateSelection”菜單,就可在命令窗口中運(yùn)行,并得出相應(yīng)結(jié)果。或者雙擊選擇的命令行也可運(yùn)行。把多行命令寫成M文件(CreateM-File)選中單行或多行命令,按鼠標(biāo)右鍵出現(xiàn)快捷菜單,選擇“CreateM-File”菜單,就可以打開寫有這些命令的M文件編輯/調(diào)試器窗口。當(dāng)前目錄瀏覽器窗口(CurrentDirectoryBrowser)當(dāng)前目錄瀏覽器窗口默認(rèn)地出現(xiàn)在MATLAB界面的左上側(cè)的后臺(tái),用來設(shè)置當(dāng)前目錄,可以隨時(shí)顯示當(dāng)前目錄下的M、MDL等文件的信息,包括文件類型、文件名、最后修改的時(shí)間和文件說明信息等??梢詮?fù)制、編輯和運(yùn)行M文件??梢詮?fù)制、加載MAT數(shù)據(jù)文件。文件詳細(xì)列表區(qū)的主要應(yīng)用功能功能操作方法運(yùn)行M文件(Run)選擇待運(yùn)行文件,按鼠標(biāo)右鍵出現(xiàn)快捷菜單,選擇“Run”菜單運(yùn)行M文件。打開M文件(Open)選擇待運(yùn)行M文件,按鼠標(biāo)右鍵出現(xiàn)快捷菜單,選擇“Open”菜單,則M文件出現(xiàn)在M文件編輯/調(diào)試器窗口中。或者雙擊該M文件也可打開文件。把MAT文件全部數(shù)據(jù)輸入內(nèi)存(Open)選擇待裝入的MAT數(shù)據(jù)文件,按鼠標(biāo)右鍵出現(xiàn)快捷菜單,選擇“Open”菜單,此文件的數(shù)據(jù)就全部裝入工作空間?;蛘唠p擊該MAT文件也可實(shí)現(xiàn)。把MAT文件部分?jǐn)?shù)據(jù)輸入內(nèi)存(ImportData)選擇待裝載MAT數(shù)據(jù)文件,按鼠標(biāo)右鍵出現(xiàn)快捷菜單,選擇“ImportData”菜單,出現(xiàn)數(shù)據(jù)輸入向?qū)?duì)話框“ImportWizard”,選擇待裝入的數(shù)據(jù)變量名,然后單擊“Finish”按鈕。工作空間瀏覽器窗口(WorkspaceBrowser)工作空間瀏覽器窗口默認(rèn)地出現(xiàn)在MATLAB界面的左上側(cè)后臺(tái),用于顯示所有MATLAB工作空間中的變量名、數(shù)據(jù)結(jié)構(gòu)、類型、大小和字節(jié)數(shù)。用whos查閱MATLAB內(nèi)存變量名、大小、類型和字節(jié)數(shù)。可以對(duì)變量進(jìn)行觀察、編輯、提取和保存。用clear來刪除工作空間中的變量。數(shù)組編輯器窗口(ArrayEditor)

數(shù)組編輯器窗口不隨MATLAB操作界面的出現(xiàn)而啟動(dòng)。只有在工作空間窗口中當(dāng)選擇數(shù)值、字符變量,單擊右鍵選擇“open..”選單或雙擊該變量時(shí)才會(huì)出現(xiàn)“arrayeditor”數(shù)組編輯器窗口,并且變量會(huì)出現(xiàn)在該窗口中??梢灾苯釉谶@個(gè)窗口中修改打開的數(shù)組,甚至可以更改數(shù)據(jù)結(jié)構(gòu)和顯示方式。在“Numericformat”欄中改變變量的顯示類型。在“Size”、“by”欄中改變數(shù)組的大小。逐格修改數(shù)組中的元素值。M文件編輯/調(diào)試器窗口(Editor/Debugger)啟動(dòng)M文件編輯/調(diào)試器窗口的方法:單擊MATLAB界面上的空白頁圖標(biāo),或者單擊菜單“File”→“New”→“M-file”,可打開空白M文件編輯器。單擊MATLAB界面上的文件夾圖標(biāo),或者單擊菜單“File”→“Open”,在打開的“Open”對(duì)話框中填寫所選文件名,單擊“打開”按鈕,就可出現(xiàn)相應(yīng)的M文件。用鼠標(biāo)雙擊當(dāng)前目錄窗口中的M文件(擴(kuò)展名為.m),可直接打開相應(yīng)文件的M文件編輯器。幫助導(dǎo)航/瀏覽器窗口(HelpNavigator/Browser)啟動(dòng)MATLAB幫助,可單擊工具欄的問號(hào)“?”圖標(biāo);或選擇菜單“Help”→“ProductHelp”都能出現(xiàn)幫助導(dǎo)航/瀏覽器窗口。通過命令實(shí)現(xiàn)幫助help:列出所有主要的幫助主題,每個(gè)幫助主題與MATLAB搜索路徑的一個(gè)目錄名相對(duì)應(yīng)lookfor:在所有的幫助條目中搜索關(guān)鍵字,常用來查找具有某種功能而不知道準(zhǔn)確名字的命令。helpwin:打開并顯示幫助導(dǎo)航/瀏覽器窗口。Demo演示Demos演示界面操作非常方便,為用戶提供了圖文并茂的演示實(shí)例。演示程序是一個(gè)很好的學(xué)習(xí)過程,可以作為對(duì)MATLAB功能的瀏覽。通過Web查找?guī)椭畔athWorks公司提供了技術(shù)支持網(wǎng)站,通過該網(wǎng)站用戶可以找到相關(guān)的MATLAB書籍介紹、MATLAB使用建議、常見問題解答和其他MATLAB用戶提供的應(yīng)用程序等。MATLAB用戶文件格式程序文件

程序文件即M文件,其文件擴(kuò)展名為.m,包括主程序和函數(shù)文件,M文件通過M文件編輯/調(diào)試器生成。MATLAB的各工具箱中的函數(shù)大部分是M文件。數(shù)據(jù)文件數(shù)據(jù)文件即MAT文件,其文件的擴(kuò)展名為.mat,用來保存工作空間的數(shù)據(jù)變量,數(shù)據(jù)文件可以通過在命令窗口中輸入“save”命令生成??蓤?zhí)行文件可執(zhí)行文件即MEX文件,其文件的擴(kuò)展名為.mex,由MATLAB的編譯器對(duì)M文件進(jìn)行編譯后產(chǎn)生,其運(yùn)行速度比直接執(zhí)行M文件快得多。圖形文件

圖形文件擴(kuò)展名為.fig,可在“File”菜單中創(chuàng)建和打開,也可由MATLAB繪圖命令和圖形用戶界面窗口產(chǎn)生。模型文件模型文件擴(kuò)展名為.mdl,由Simulink工具箱建模生成。另外,還有仿真文件.s文件。MATLAB路徑管理MATLAB的基本搜索過程MATLAB按照以下步驟進(jìn)行搜索:在MATLAB內(nèi)存中進(jìn)行檢查,檢查X是否為工作空間的變量或特殊變量檢查X是否為MATLAB的內(nèi)部函數(shù)(Built-inFunction)在當(dāng)前目錄上,檢查是否有名為“X.m”或“X.mex”的文件存在在MATLAB搜索路徑的所有其他目錄中,檢查是否有名為“X.m”或“X.mex”的文件存在如果都不是,則MATLAB發(fā)出錯(cuò)誤信息MATLAB搜索路徑的擴(kuò)展和修改當(dāng)用戶的某些目錄不在搜索路徑上,必須修改搜索路徑利用設(shè)置路徑對(duì)話框修改搜索路徑

(1)在MATLAB界面選擇菜單“File”→“SetPath”命令;(2)在命令窗口運(yùn)行“pathtool”命令;(3)通過“AddFolder…”和“AddwithSubfolders…”按鈕打開瀏覽文件夾窗口來添加搜索目錄。利用path命令設(shè)置搜索路徑path(path,‘新增目錄’) %在MATLAB的搜索路徑的末尾添加新目錄MATLAB的部分通用命令clear:刪除內(nèi)存中的變量。clc:刪除工作窗口的內(nèi)容。clf:刪除圖形窗口的內(nèi)容。more:在命令窗口中控制其后每頁的顯示內(nèi)容行數(shù)。把MATLAB工作空間中一些有用的數(shù)據(jù)長久保存下來的方法是生成mat數(shù)據(jù)文件。

save——將工作空間中所有的變量存到matlab.mat文件中。數(shù)據(jù)保存與獲取指令默認(rèn)文件名

savefilename——將工作空間中所有的變量存到filename.mat文件中。

savefilenameab——將工作空間中a和b變量存到filename.mat文件中。

load——loadfilename——loadfilenameab——mat文件是標(biāo)準(zhǔn)的二進(jìn)制文件,還可以ASCII碼形式保存。即可恢復(fù)保存過的所有變量變量查詢函數(shù)who與whos作用都是列出在MATLAB工作空間中已經(jīng)駐留的變量名清單不同的是whos在給出駐留變量的同時(shí),還給出他們的維數(shù)及性質(zhì)MATLAB聯(lián)機(jī)幫助命令help功能提供MATLAB大部分主題的在線幫助信息help

顯示help

主題一覽表helpplotxyz

顯示有關(guān)三維做圖指令幫助信息雖然help可以隨時(shí)提供幫助,但必須知道準(zhǔn)確的函數(shù)名稱。當(dāng)不能確定函數(shù)名稱時(shí),help就無能為力了。

lookfor函數(shù)—它可提供通過一般的關(guān)鍵詞,搜索出一組與之相關(guān)的命令lookforfourier

尋找含有傅立葉變換的相關(guān)指令二、MATLAB數(shù)值運(yùn)算數(shù)據(jù)類型數(shù)據(jù)運(yùn)算:雙精度型(Double)、單精度型和整數(shù)類。例如:整數(shù)類=無符號(hào)類(uint8、uint16、uint32、uint64)和符號(hào)類整數(shù)(int8、int16、int32、int64)。支持的數(shù)據(jù)類型數(shù)值型、字符型、單元型和結(jié)構(gòu)型復(fù)數(shù)的表示

i,j表示虛數(shù)單位

z=a+b*i或z=a+b*j當(dāng)b是一個(gè)數(shù)字時(shí),可以表示為

z=a+bi或z=a+bj復(fù)數(shù)的實(shí)部、虛部、幅值和相角a=real(z) %計(jì)算實(shí)部b=imag(z) %計(jì)算虛部r=abs(z) %計(jì)算幅值theta=angle(z) %計(jì)算相角MATLAB一些基本數(shù)學(xué)函數(shù)函數(shù)名含義函數(shù)名含義abs絕對(duì)值或者復(fù)數(shù)模rat有理數(shù)近似sqrt平方根mod模除求余real實(shí)部round4舍5入到整數(shù)imag虛部fix向最接近0取整conj復(fù)數(shù)共軛floor向最接近-∞取整sin正弦ceil向最接近-∞取整cos余弦sign符號(hào)函數(shù)tan正切rem求余數(shù)留數(shù)asin反正弦exp自然指數(shù)acos反余弦log自然對(duì)數(shù)atan反正切l(wèi)og10以10為底的對(duì)數(shù)atan2第四象限反正切pow22的冪sinh雙曲正弦bessel貝賽爾函數(shù)cosh雙曲余弦gamma伽嗎函數(shù)tanh雙曲正切MATLAB的矩陣和數(shù)組運(yùn)算MATLAB具有出色的矩陣運(yùn)算能力,占據(jù)世界上數(shù)值計(jì)算軟件的重要地位。矩陣的創(chuàng)建1.創(chuàng)建矩陣的方法直接輸入法規(guī)則:矩陣元素必須用[]括住矩陣元素必須用逗號(hào)或空格分隔

在[]內(nèi)矩陣的行與行之間必須用分號(hào)分隔矩陣元素可以是任何MATLAB表達(dá)式,可以是實(shí)數(shù),也可以是復(fù)數(shù),復(fù)數(shù)可用特殊函數(shù)i,j輸入

a=[123;456]x=[2pi/2;sqrt(3)3+5i]注意:只要是賦過值的變量,不管是否在屏幕上顯示過,都存儲(chǔ)在工作空間中,以后可隨時(shí)顯示或調(diào)用。變量名盡可能不要重復(fù),否則會(huì)覆蓋矩陣元素2.用MATLAB函數(shù)創(chuàng)建矩陣空陣[]—MATLAB允許輸入空陣,當(dāng)一項(xiàng)操作無結(jié)果時(shí),返回空陣。rand——隨機(jī)矩陣(randn)eye——單位矩陣zeros——全部元素都為0的矩陣ones——全部元素都為1的矩陣magic——產(chǎn)生N階魔方矩陣(矩陣的行、列和對(duì)角線上元素的和相等)向量的生成利用冒號(hào)生成向x=i:j如果i<j,生成以1為增量的向量;如果i>j,生成X空向x=i:j:kj是遞增步長使用linspace和logspace函數(shù)生成向量linspace生成線性等分向量logspace生成對(duì)數(shù)等分向量矩陣的標(biāo)識(shí)和引用矩陣的元素或子矩陣通過向量、標(biāo)量的標(biāo)識(shí)來引用和賦值。

1.向量標(biāo)識(shí)

A(u,v)2.“0~1”邏輯向量(或矩陣)標(biāo)識(shí)A(L),如何理解或者獲取“L”?子矩陣的產(chǎn)生子矩陣是從對(duì)應(yīng)矩陣中取出一部分元素構(gòu)成,用全下標(biāo)和單下標(biāo)方式取子矩陣。用全下標(biāo)方式A([13],[23])表示取行數(shù)為1、3,列數(shù)為2、3的元素構(gòu)成子矩陣。A(1:3,2:3)表示取行數(shù)為1~3,列數(shù)為2~3的元素構(gòu)成子矩陣。A(:,3)表示取所有行數(shù)即為1~3,列數(shù)為3的元素構(gòu)成子矩陣,“:”表示所有行或列。用單下標(biāo)方式

A([13;26])取單下標(biāo)為1、3、2、6的元素構(gòu)成子矩陣。用邏輯矩陣方式子矩陣也可以利用邏輯矩陣來標(biāo)識(shí);邏輯矩陣是大小和對(duì)應(yīng)矩陣相同,而元素值為0或者1的矩陣。可以用a(L1,L2)來表示子矩陣,其中L1、L2為邏輯向量,當(dāng)L1、L2的元素為0則不取該位置元素,反之則取該位置的元素。例:找出4階魔方陣中大于10的元素。A=16231351110897612414151A(A>10)[r,c]=find(A>10)在MATLAB中,字符串是作為字符數(shù)組來引入的;字符串是按行向量進(jìn)行存儲(chǔ)的。規(guī)則:所有字符串都用單引號(hào)括起來字符串中的每個(gè)字符都是字符串變量中的一個(gè)元素字符串中的字符以ASCII碼形式存儲(chǔ)并區(qū)分大小字符串?dāng)?shù)組字符串?dāng)?shù)組的建立有效字符串連成長字符串多行字符串?dāng)?shù)組的直接創(chuàng)建利用字符串操作函數(shù)創(chuàng)建字符串?dāng)?shù)組利用轉(zhuǎn)換函數(shù)建立字符串?dāng)?shù)組字符串?dāng)?shù)組的元素標(biāo)識(shí)例:a=‘Thisisatest.’A=‘中國成都’

B=‘China’字符串函數(shù)length:用來計(jì)算字符串的長度(即組成字符的個(gè)數(shù))。double:用來查看字符串的ASCII碼儲(chǔ)存內(nèi)容,包括空格(ASCII碼為32)。char:用來將ASCII碼轉(zhuǎn)換成字符串形式。class或ischar:用來判斷某一個(gè)變量是否為字符串。class函數(shù)返回char則表示為字符串,而ischar函數(shù)返回1表示為字符串。strcmp(x,y):比較字符串x和y的內(nèi)容是否相同。返回值如果為1則相同,為0則不同。findstr(x,x1):尋找在某個(gè)長字符串x中的子字符串x1,返回其起始位置。deblank(x):刪除字符串尾部的空格。disp:顯示字符串,即使后面加分號(hào)(;)也進(jìn)行顯示。逗號(hào)的作用可作為指令間的分隔符MATLAB允許多條語句在同一行出現(xiàn)。x=linspace(0,6)y1=sin(2*x),y2=sin(x.^2),y3=(sin(x)).^2;多個(gè)字符串組成一個(gè)新字符串將多個(gè)字符串變量直接用“,”連接,構(gòu)成一個(gè)行向量,就可以得到一個(gè)新字符串變量。1.矩陣加、減(+,-)運(yùn)算規(guī)則:相加、減的兩矩陣必須有相同的行和列兩矩陣對(duì)應(yīng)元素相加減。允許參與運(yùn)算的兩矩陣之一是標(biāo)量。標(biāo)量與矩陣的所有元素分別進(jìn)行加減操作。矩陣運(yùn)算2.矩陣乘()運(yùn)算規(guī)則:A矩陣的列數(shù)必須等于B矩陣的行數(shù)標(biāo)量可與任何矩陣相乘。a=[123;456;780];b=[1;2;3];c=a*bc=143223

矩陣除的運(yùn)算在線性代數(shù)中沒有,有矩陣逆的運(yùn)算,在MATLAB中有兩種矩陣除運(yùn)算。矩陣左除:A\B

定義為:X=A\BAX=B

矩陣右除:B/A

定義為:X=B/AXA=B(B/A)’=(A’\B’)

a^p——a自乘p次冪

方陣整數(shù)3.矩陣乘方當(dāng)p為正整數(shù)時(shí),表示方陣自乘p次;當(dāng)p為負(fù)整數(shù)時(shí),表示方陣自乘p次后的逆;當(dāng)p為零時(shí),為方陣同維的單位陣。

a=[1,2,3;4,5,6;7,8,9];a^2ans=303642668196102126150inv——矩陣求逆det——行列式的值eig——矩陣的特征值diag——對(duì)角矩陣’——矩陣轉(zhuǎn)置sqrt——矩陣開方4.矩陣的其它運(yùn)算

數(shù)組運(yùn)算指元素對(duì)元素的算術(shù)運(yùn)算,與通常意義上的由符號(hào)表示的線性代數(shù)矩陣運(yùn)算不同1.數(shù)組加減(.+,.-)a.+ba.-b數(shù)組運(yùn)算

對(duì)應(yīng)元素相加減(與矩陣加減等效)2.數(shù)組乘除(

,./,.\)ab——a,b兩數(shù)組必須有相同的行和列兩數(shù)組相應(yīng)元素相乘。a=[123;456;789];b=[246;135;7910];a.*bans=281841530497290a*bans=253746558510985133172a./b=b.\aa.\b=b./aa./b=b.\a—都是a的元素被b的對(duì)應(yīng)元素除a.\b=b./a—都是b的元素被a的對(duì)應(yīng)元素除例:a=[123];b=[456];c1=a.\b;c2=b./ac1=4.00002.50002.0000c2=4.00002.50002.0000——給出a,b對(duì)應(yīng)元素間的商3.數(shù)組乘方(.^)—元素對(duì)元素的冪例:a=[123];b=[456];z=a.^2z=1.004.009.00z=a.^bz=1.0032.00729.00矩陣數(shù)組運(yùn)算小結(jié)數(shù)組運(yùn)算矩陣運(yùn)算命令含義命令含義A+B對(duì)應(yīng)元素相加A+B與數(shù)組運(yùn)算相同A-B對(duì)應(yīng)元素相減A-B與數(shù)組運(yùn)算相同S.*B標(biāo)量S分別與B元素的積S*B與數(shù)組運(yùn)算相同A.*B數(shù)組對(duì)應(yīng)元素相乘A*B內(nèi)維相同矩陣的乘積S./BS分別被B的元素左除S\BB矩陣分別左除SA./BA的元素被B的對(duì)應(yīng)元素除A/B矩陣A右除B即A的逆陣與B相乘B.\A結(jié)果一定與上行相同B\AA左除B(一般與上行不同)A.^SA的每個(gè)元素自乘S次A^SA矩陣為方陣時(shí),自乘S次A.^SS為小數(shù)時(shí),對(duì)A各元素分別求非整數(shù)冪,得出矩陣A^SS為小數(shù)時(shí),方陣A的非整數(shù)乘方S.^B分別以B的元素為指數(shù)求冪值S^BB為方陣時(shí),標(biāo)量S的矩陣乘方A.’非共軛轉(zhuǎn)置,相當(dāng)于conj(A’)A’共軛轉(zhuǎn)置exp(A)以自然數(shù)e為底,分別以A的元素為指數(shù)求冪expm(A)A的矩陣指數(shù)函數(shù)log(A)對(duì)A的各元素求對(duì)數(shù)logm(A)A的矩陣對(duì)數(shù)函數(shù)sqrt(A)對(duì)A的各元素求平方根sqrtm(A)A的矩陣平方根函數(shù)關(guān)系操作和邏輯操作關(guān)系操作符<、<=、>、>=、==(等于)、~=(不等于)關(guān)系運(yùn)算規(guī)則兩個(gè)變量都是標(biāo)量,則結(jié)果為真(1)或假(0)。兩個(gè)變量都是數(shù)組,則必須大小相同,結(jié)果也是同樣大小的數(shù)組,數(shù)組的元素為0或1。關(guān)系操作一個(gè)數(shù)組和一個(gè)標(biāo)量,則把數(shù)組的每個(gè)元素分別與標(biāo)量比較,結(jié)果為與數(shù)組大小相同的數(shù)組,數(shù)組的元素為0或1。<、<=和>、>=,僅對(duì)參加比較變量的實(shí)部進(jìn)行比較,==和~=,則同時(shí)對(duì)實(shí)部和虛部進(jìn)行比較。邏輯操作邏輯操作符&(與)、|(或)、~(非)和xor(異或)aba&ba|b~axor(a,b)000010010111100101111100運(yùn)算符優(yōu)先級(jí)在MATLAB中各種運(yùn)算符的優(yōu)先級(jí)順序:'(矩陣轉(zhuǎn)置)、^(矩陣冪)和.'(數(shù)組轉(zhuǎn)置)、.^(數(shù)組冪)~(邏輯非)*(乘)、/(左除)、\(右除)和.*(點(diǎn)乘)、./(點(diǎn)左除)、.\(點(diǎn)右除)+、-(加減):(冒號(hào))<、<=、>、>=、~=&(邏輯與)|(邏輯或)變量命名命名規(guī)則變量名區(qū)分字母的大小寫。例如,“a”和“A”是不同的變量。變量名不能超過63個(gè)字符,第63個(gè)字符后的字符被忽略,對(duì)于MATLAB6.5版以前的變量名不能超過31個(gè)字符。變量名必須以字母開頭,變量名的組成可以是任意字母、數(shù)字或者下劃線,但不能含有空格和標(biāo)點(diǎn)符號(hào)(如,。%等)。例如,“6ABC”、“AB%C”都是不合法的變量名。關(guān)鍵字(如if、while等)不能作為變量名。特殊變量和常數(shù)空數(shù)組,凡是某維長度為0(或若干維長度均為0的數(shù)組都是空數(shù)組)。其他一些常量和特殊變量變量表示意義變量表示意義pi圓周率INF或inf正無窮大eps機(jī)器浮點(diǎn)運(yùn)算誤差限i或j虛數(shù)單位ans臨時(shí)變量,代表未定義名稱的變量NaN不定值熟悉MATLAB的工作環(huán)境及相關(guān)工作窗口熟練應(yīng)用MATLAB的幫助信息熟悉MATLAB的基本指令創(chuàng)建和修改矩陣矩陣及數(shù)組運(yùn)算運(yùn)算符的使用小結(jié)作業(yè)1.給出MATLAB幫助信息的使用方法。2.給出生成向量{}的指令。3.用MATLAB繪制函數(shù)y=tsin2t在內(nèi)的曲線圖(通過.m文件方式實(shí)現(xiàn),僅附相關(guān)代碼,最好能用注釋)。4.通過.m文件的方式在MATLAB中產(chǎn)生4階魔方陣A,然后計(jì)算如下結(jié)果:

sum(A)sum(A’)trace(A)trace(rot90(A))附上相關(guān)MATLAB的.m代碼(最好能對(duì)代碼注釋)1.符號(hào)表達(dá)式的建立2.符號(hào)表達(dá)式的代數(shù)運(yùn)算3.符號(hào)表達(dá)式的操作和轉(zhuǎn)換4.符號(hào)極限、微積分和級(jí)數(shù)求和5.符號(hào)積分變換6.符號(hào)方程的求解MATLAB符號(hào)運(yùn)算符號(hào)運(yùn)算是對(duì)未賦值的符號(hào)對(duì)象(可以是常數(shù)、變量、表達(dá)式)進(jìn)行運(yùn)算和處理。MATLAB具有符號(hào)數(shù)學(xué)工具箱(SymbolicMathToolbox)一、符號(hào)表達(dá)式的建立創(chuàng)建符號(hào)常量符號(hào)常量是不含變量的符號(hào)表達(dá)式,用sym命令來創(chuàng)建符號(hào)常量。語法:sym(‘常量’)%創(chuàng)建符號(hào)常量sym命令也可以把數(shù)值轉(zhuǎn)換成某種格式的符號(hào)常量。語法:sym(常量,參數(shù))%把常量按某種格式轉(zhuǎn)換為符號(hào)常量說明:參數(shù)可以選擇為’d’、’f’、’e’或’r’四種格式,也可省略,其作用如表所示。參數(shù)作用d返回最接近的十進(jìn)制數(shù)值(默認(rèn)位數(shù)為32位)f返回最接近的帶有機(jī)器浮點(diǎn)誤差的有理值r返回該符號(hào)值最接近的有理數(shù)型(為系統(tǒng)默認(rèn)方式),可表示為p/q、p*q、10^q、pi/q、2^q和sqrt(p)形式之一e返回最接近的帶有機(jī)器浮點(diǎn)誤差的有理值例1創(chuàng)建數(shù)值常量和符號(hào)常量。a1=2*sqrt(5)+pi%創(chuàng)建數(shù)值常量

a1=7.6137

a2=sym(‘2*sqrt(5)+pi’)%創(chuàng)建符號(hào)表達(dá)式

a2=2*sqrt(5)+pi

a3=sym(2*sqrt(5)+pi,'d')%按最接近的十進(jìn)制浮點(diǎn)數(shù)表示符號(hào)常量

a3=7.6137286085893727261009189533070創(chuàng)建符號(hào)變量和表達(dá)式

創(chuàng)建符號(hào)變量和符號(hào)表達(dá)式可以使用sym和syms命令。

1.使用sym命令創(chuàng)建符號(hào)變量和表達(dá)式

語法:sym(‘變量’,參數(shù))%把變量定義為符號(hào)對(duì)象

說明:參數(shù)用來設(shè)置限定符號(hào)變量的數(shù)學(xué)特性,可以選擇為’positive’、’real’和’unreal’,’positive’表示為“正、實(shí)”符號(hào)變量,’real’表示為“實(shí)”符號(hào)變量,’unreal’表示為“非實(shí)”符號(hào)變量。如果不限定則參數(shù)可省略。例2創(chuàng)建符號(hào)變量,用參數(shù)設(shè)置其特性。

symsxyreal

%創(chuàng)建實(shí)數(shù)符號(hào)變量

z=x+i*y;

%創(chuàng)建z為復(fù)數(shù)符號(hào)變量

real(z)

%復(fù)數(shù)z的實(shí)部是實(shí)數(shù)x

ans=x

sym('x','unreal');

%清除符號(hào)變量的實(shí)數(shù)特性

real(z)

%復(fù)數(shù)z的實(shí)部

ans=1/2*x+1/2*conj(x)

程序分析:設(shè)置x、y為實(shí)數(shù)型變量,可以確定z的實(shí)部和虛部。

2.使用syms命令創(chuàng)建符號(hào)變量和符號(hào)表達(dá)式語法:syms(‘a(chǎn)rg1’,‘a(chǎn)rg2’,…,參數(shù))%把字符變量定義為符號(hào)變量

symsarg1arg2…,參數(shù) %把字符變量定義為符號(hào)變量的簡潔形式說明:syms用來創(chuàng)建多個(gè)符號(hào)變量,這兩種方式創(chuàng)建的符號(hào)對(duì)象是相同的。參數(shù)設(shè)置和前面的sym命令相同,省略時(shí)符號(hào)表達(dá)式直接由各符號(hào)變量組成。例2續(xù)使用syms命令創(chuàng)建符號(hào)變量和符號(hào)表達(dá)式。

symsabcx%創(chuàng)建多個(gè)符號(hào)變量

f2=a*x^2+b*x+c %創(chuàng)建符號(hào)表達(dá)式

f2=a*x^2+b*x+c

syms('a','b','c','x')

f3=a*x^2+b*x+c; %創(chuàng)建符號(hào)表達(dá)式

程序分析:既創(chuàng)建了符號(hào)變量a、b、c、x,又創(chuàng)建了符號(hào)表達(dá)式,f2、f3和f1符號(hào)表達(dá)式相同。符號(hào)矩陣用sym和syms命令也可以創(chuàng)建符號(hào)矩陣。例如,使用syms命令創(chuàng)建相同的符號(hào)矩陣:

symsabcdA=[ab;cd]

A=[a,b]

[c,d]

例3比較符號(hào)矩陣與字符串矩陣的不同。

A=sym('[a,b;c,d]') %創(chuàng)建符號(hào)矩陣

A=[a,b][c,d]

B='[a,b;c,d]' %創(chuàng)建字符串矩陣

B=[a,b;c,d]二、符號(hào)表達(dá)式的代數(shù)運(yùn)算符號(hào)運(yùn)算與數(shù)值運(yùn)算的區(qū)別主要有以下幾點(diǎn):1.傳統(tǒng)的數(shù)值型運(yùn)算因?yàn)橐艿接?jì)算機(jī)所保留的有效位數(shù)的限制,它的內(nèi)部表示法總是采用計(jì)算機(jī)硬件提供的8位浮點(diǎn)表示法,因此每一次運(yùn)算都會(huì)有一定的截?cái)嗾`差,重復(fù)的多次數(shù)值運(yùn)算就可能會(huì)造成很大的累積誤差。符號(hào)運(yùn)算不需要進(jìn)行數(shù)值運(yùn)算,不會(huì)出現(xiàn)截?cái)嗾`差,因此符號(hào)運(yùn)算是非常準(zhǔn)確的。2.符號(hào)運(yùn)算可以得出完全的封閉解或任意精度的數(shù)值解。3.符號(hào)運(yùn)算的時(shí)間較長,而數(shù)值型運(yùn)算速度快。符號(hào)表達(dá)式的代數(shù)運(yùn)算1.符號(hào)運(yùn)算中的運(yùn)算符(1)基本運(yùn)算符

①運(yùn)算符“+”,“-”,“*”,“\”,“/”,“^”分別實(shí)現(xiàn)符號(hào)矩陣的加、減、乘、左除、右除、求冪運(yùn)算。

②運(yùn)算符“.*”,“./”,“.\”,“.^”分別實(shí)現(xiàn)符號(hào)數(shù)組的乘、除、求冪,即數(shù)組間元素與元素的運(yùn)算。

③運(yùn)算符“′”,“.′”分別實(shí)現(xiàn)符號(hào)矩陣的共軛轉(zhuǎn)置、非共軛轉(zhuǎn)置。(2)關(guān)系運(yùn)算符

①在符號(hào)對(duì)象的比較中,沒有“大于”、“大于等于”、“小于”、“小于等于”的概念,而只有是否“等于”的概念。

②運(yùn)算符“==”、“~=”分別對(duì)運(yùn)算符兩邊的符號(hào)對(duì)象進(jìn)行“相等”、“不等”的比較。當(dāng)為“真”時(shí),比較結(jié)果用1表示;當(dāng)為“假”時(shí),比較結(jié)果則用0表示。2.函數(shù)運(yùn)算(1)三角函數(shù)和雙曲函數(shù)三角函數(shù)包括sin、cos、tan;雙曲函數(shù)包括sinh、cosh、tanh;三角反函數(shù)除了atan2函數(shù)僅能用于數(shù)值計(jì)算外,其余的asin、acos、atan函數(shù)在符號(hào)運(yùn)算中與數(shù)值計(jì)算的使用方法相同。(2)指數(shù)和對(duì)數(shù)函數(shù)指數(shù)函數(shù)sqrt、exp、expm的使用方法與數(shù)值計(jì)算的完全相同;對(duì)數(shù)函數(shù)在符號(hào)計(jì)算中只有自然對(duì)數(shù)log(表示ln),而沒有數(shù)值計(jì)算中的log2和log10。(3)復(fù)數(shù)函數(shù)復(fù)數(shù)的共軛conj、求實(shí)部real、求虛部imag和求模abs函數(shù)與數(shù)值計(jì)算中的使用方法相同。但注意,在符號(hào)計(jì)算中,MATLAB沒有提供求相角的命令。(4)矩陣代數(shù)命令MATLAB提供的常用矩陣代數(shù)命令有diag,triu,tril,inv,det,rank,poly,expm,eig等,它們的用法幾乎與數(shù)值計(jì)算中的情況完全一樣。例4求矩陣的行列式值、非共軛轉(zhuǎn)置和特征值。symsa11a12a21a22A=[a11a12;a21a22] %創(chuàng)建符號(hào)矩陣

A=[a11,a12][a21,a22]

det(A) %計(jì)算行列式

ans=a11*a22-a12*a21

A.' %計(jì)算非共軛轉(zhuǎn)置

ans=[a11,a21][a12,a22]

eig(A) %計(jì)算特征值

ans=[1/2*a11+1/2*a22+1/2*(a11^2-2*a11*a22+a22^2+4*a12*a21)^(1/2)][1/2*a11+1/2*a22-1/2*(a11^2-2*a11*a22+a22^2+4*a12*a21)^(1/2)]例5符號(hào)表達(dá)式f=2x2+3x+4與g=5x+6的代數(shù)運(yùn)算。f=sym('2*x^2+3*x+4')

f=2*x^2+3*x+4

g=sym('5*x+6')

g=5*x+6

f+g %符號(hào)表達(dá)式相加

ans=2*x^2+8*x+10

f*g %符號(hào)表達(dá)式相乘

ans=(2*x^2+3*x+4)*(5*x+6)符號(hào)數(shù)值任意精度控制和運(yùn)算1.SymbolicMathToolbox中的算術(shù)運(yùn)算方式在SymbolicMathToolbox中有三種不同的算術(shù)運(yùn)算:

(1)數(shù)值型:MATLAB的浮點(diǎn)運(yùn)算。

(2)有理數(shù)型:Maple的精確符號(hào)運(yùn)算。(7.7之前的版本,7.7之后的版本MuPAD)

(3)VPA型:Maple的任意精度運(yùn)算。2.任意精度控制 任意精度的VPA型運(yùn)算可以使用digits和vpa命令來實(shí)現(xiàn)。 語法:digits(n) %設(shè)定默認(rèn)的精度說明:n為所期望的有效位數(shù)。digits函數(shù)可以改變默認(rèn)的有效位數(shù)來改變精度,隨后的每個(gè)進(jìn)行Maple函數(shù)的計(jì)算都以新精度為準(zhǔn)。當(dāng)有效位數(shù)增加時(shí),計(jì)算時(shí)間和占用的內(nèi)存也增加。命令“digits”用來顯示默認(rèn)的有效位數(shù),默認(rèn)為32位。 語法:S=vpa(s,n)%將s表示為n位有效位數(shù)的符號(hào)對(duì)象 說明:s可以是數(shù)值對(duì)象或符號(hào)對(duì)象,但計(jì)算的結(jié)果S一定是符號(hào)對(duì)象;當(dāng)參數(shù)n省略時(shí)則以給定的digits指定精度。vpa命令只對(duì)指定的符號(hào)對(duì)象s按新精度進(jìn)行計(jì)算,并以同樣的精度顯示計(jì)算結(jié)果,但并不改變?nèi)值膁igits參數(shù)。3.SymbolicMathToolbox中的三種運(yùn)算方式的比較例6用三種運(yùn)算方式表達(dá)式比較2/3的結(jié)果。a1=2/3 %數(shù)值型

a1=0.6667

a2=sym(2/3) %有理數(shù)型

a2=2/3

a3=vpa('2/3',32) %VPA型

a3=0.66666666666666666666666666666667

程序分析:(1)

三種運(yùn)算方式中數(shù)值型運(yùn)算的速度最快;(2)有理數(shù)型符號(hào)運(yùn)算的計(jì)算時(shí)間和占用內(nèi)存是最大的,產(chǎn)生的結(jié)果是非常準(zhǔn)確的;(3)VPA型的任意精度符號(hào)運(yùn)算比較靈活,可以設(shè)置任意有效精度,當(dāng)保留的有效位數(shù)增加時(shí),每次運(yùn)算的時(shí)間和使用的內(nèi)存也會(huì)增加。符號(hào)對(duì)象與數(shù)值對(duì)象的轉(zhuǎn)換1.將數(shù)值對(duì)象轉(zhuǎn)換為符號(hào)對(duì)象 sym命令可以把數(shù)值型對(duì)象轉(zhuǎn)換成有理數(shù)型符號(hào)對(duì)象,vpa命令可以將數(shù)值型對(duì)象轉(zhuǎn)換為任意精度的VPA型符號(hào)對(duì)象。2.將符號(hào)對(duì)象轉(zhuǎn)換為數(shù)值對(duì)象 使用double、numeric函數(shù)可以將有理數(shù)型和VPA型符號(hào)對(duì)象轉(zhuǎn)換成數(shù)值對(duì)象。 語法:N=double(S)%將符號(hào)變量S轉(zhuǎn)換為數(shù)值變量N

N=numeric(S)%將符號(hào)變量S轉(zhuǎn)換為數(shù)值變量N例7將符號(hào)變量與數(shù)值變量進(jìn)行轉(zhuǎn)換。cleara1=sym('2*sqrt(5)+pi')

a1=2*sqrt(5)+pi

b1=double(a1) %轉(zhuǎn)換為數(shù)值變量

b1=7.6137

a2=vpa(sym('2*sqrt(5)+pi'),32)

a2=7.6137286085893726312809907207421

注意:這是一數(shù)值么?三、符號(hào)表達(dá)式的操作和轉(zhuǎn)換符號(hào)表達(dá)式中自由變量的確定

1.自由變量的確定原則

MATLAB將基于以下原則選擇一個(gè)自由變量:

(1)小寫字母i和j不能作為自由變量。

(2)符號(hào)表達(dá)式中如果有多個(gè)字符變量,則按照以下順序選擇自由變量:首先選擇x作為自由變量;如果沒有x,則選擇在字母順序中最接近x的字符變量;如果與x相同距離,則在x后面的優(yōu)先。

(3)大寫字母比所有的小寫字母都靠后。2.findsym函數(shù)如果不確定符號(hào)表達(dá)式中的自由符號(hào)變量,可以用findsym函數(shù)來自動(dòng)確定。語法:findsym(EXPR,n)%確定自由符號(hào)變量說明:EXPR可以是符號(hào)表達(dá)式或符號(hào)矩陣;n為按順序得出符號(hào)變量的個(gè)數(shù),當(dāng)n省略時(shí),則不按順序得出EXPR中所有的符號(hào)變量。例8得出符號(hào)表達(dá)式中的符號(hào)變量。f=sym('a*x^2+b*x+c')

f=a*x^2+b*x+c

findsym(f) %得出所有的符號(hào)變量

ans=a,b,c,x

g=sym('sin(z)+cos(v)')

g=sin(z)+cos(v)

findsym(g,1) %得出第一個(gè)符號(hào)變量

ans=z

程序說明:符號(hào)變量z和v距離x相同,以在x后面的z為自由符號(hào)變量。符號(hào)表達(dá)式的化簡同一個(gè)數(shù)學(xué)函數(shù)的符號(hào)表達(dá)式的可以表示成三種形式,例如以下的f(x)就可以分別表示為:

(1)多項(xiàng)式形式的表達(dá)方式:f(x)=x3+6x2+11x-6

(2)因式形式的表達(dá)方式:f(x)=(x-1)(x-2)(x-3)

(3)嵌套形式的表達(dá)方式:f(x)=x(x(x-6)+11)-6

例9三種形式的符號(hào)表達(dá)式的表示。f=sym('x^3-6*x^2+11*x-6') %多項(xiàng)式形式

f=x^3-6*x^2+11*x-6

g=sym('(x-1)*(x-2)*(x-3)')%因式形式

g=(x-1)*(x-2)*(x-3)

h=sym('x*(x*(x-6)+11)-6')%嵌套形式

h=x*(x*(x-6)+11)-6MATLAB提供了pretty,collect,expand,horner,factor,simplify和simple函數(shù),可以對(duì)符號(hào)表達(dá)式進(jìn)行化簡。pretty()函數(shù)給出排版形式的輸出結(jié)果collect()函數(shù)將符號(hào)表達(dá)式表示為關(guān)于符號(hào)變量的合并同類項(xiàng)多項(xiàng)式expand()函數(shù)將符號(hào)表達(dá)式展開成多項(xiàng)式形式horner()函數(shù)將符號(hào)表達(dá)式寫成嵌套的形式factor()函數(shù)將符號(hào)表達(dá)式寫成因式的形式simplify()函數(shù)利用各種形式的代數(shù)恒等式對(duì)符號(hào)表達(dá)式進(jìn)行化簡,包括求和、分解、積分、冪、三角、指數(shù)和對(duì)數(shù)函數(shù)等來化簡表達(dá)式simple()函數(shù)給出多種化簡形式,并尋求包含最少數(shù)目字符的表達(dá)式符號(hào)表達(dá)式的替換1.subexpr函數(shù)語法:subexpr(s,s1)

%用符號(hào)變量s1來置換s中的子表達(dá)式

subexpr函數(shù)對(duì)子表達(dá)式是自動(dòng)尋找的,只有比較長的子表達(dá)式才被置換,比較短的子表達(dá)式,即使重復(fù)出現(xiàn)多次,也不被置換。例10用subexpr函數(shù)使的特征值表達(dá)式簡潔。

symsabcdx

s=eig([ab;cd]) %計(jì)算特征值

s=[1/2*a+1/2*d+1/2*(a^2-2*a*d+d^2+4*b*c)^(1/2)][1/2*a+1/2*d-1/2*(a^2-2*a*d+d^2+4*b*c)^(1/2)]

subexpr(s,x) %用x替換子表達(dá)式

ans=[1/2*a+1/2*d+1/2*(a^2-2*a*d+d^2+4*b*c)^(1/2)][1/2*a+1/2*d-1/2*(a^2-2*a*d+d^2+4*b*c)^(1/2)]2.subs函數(shù)subs函數(shù)可用來進(jìn)行對(duì)符號(hào)表達(dá)式中符號(hào)變量的替換。語法:subs(s) %用給定值替換符號(hào)表達(dá)式s中的所有變量subs(s,new) %用new替換符號(hào)表達(dá)式s中的自由變量subs(s,old,new)%用new替換符號(hào)表達(dá)式s中的old變量例10續(xù)用subs函數(shù)對(duì)符號(hào)表達(dá)式(x+y)2+3(x+y)+5進(jìn)行替換。f=sym('(x+y)^2+3*(x+y)+5') %創(chuàng)建符號(hào)表達(dá)式

f=(x+y)^2+3*(x+y)+5

x=5;f1=subs(f) %用工作空間的給定值替換x

f1=

(5+y)^2+20+3*y

f2=subs(f,'x+y','s') %用s替換x+y

f2=((s))^2+3*((s))+5

f3=subs(f,'x+y',5) %用常數(shù)5替換x+y

f3=45

f4=subs(f,'x','z') %用z替換x

f4=((z)+y)^2+3*((z)+y)+5求反函數(shù)和復(fù)合函數(shù)在MATLAB中finverse函數(shù)可以求得符號(hào)函數(shù)的反函數(shù)。語法:finverse(f,v)

%對(duì)指定自變量v的函數(shù)f(v)求反函數(shù)說明:當(dāng)v省略,則對(duì)默認(rèn)的自由符號(hào)變量求反函數(shù)。1.求反函數(shù)例11求tex的反函數(shù)。

f=sym('t*e^x') %原函數(shù)

f=t*e^x

g=finverse(f) %對(duì)默認(rèn)自由變量求反函數(shù)

g=log(x/t)/log(e)

g=finverse(f,'t') %對(duì)t求反函數(shù)

g=t/(e^x)

程序分析:如果先定義t為符號(hào)變量,則參數(shù)'t'的單引號(hào)可去掉:

symstg=finverse(f,t)2.求復(fù)合函數(shù)運(yùn)用函數(shù)compose可以求符號(hào)函數(shù)f(x)和g(y)的復(fù)合函數(shù)。語法:compose(f,g)

%求f(x)和g(y)的復(fù)合函數(shù)f(g(y))

compose(f,g,z)

%求f(x)和g(y)的復(fù)合函數(shù)f(g(z))例11續(xù)

計(jì)算tex與ay2+by+c的復(fù)合函數(shù)。

f=sym('t*e^x'); %創(chuàng)建符號(hào)表達(dá)式

g=sym('a*y^2+b*y+c'); %創(chuàng)建符號(hào)表達(dá)式

h1=compose(f,g) %計(jì)算f(g(x))

h1=t*e^(a*y^2+b*y+c)

h2=compose(g,f) %計(jì)算g(f(x))

h2=a*t^2*(e^x)^2+b*t*e^x+c

h3=compose(f,g,'z') %計(jì)算f(g(z))

h3=t*e^(a*z^2+b*z+c)符號(hào)表達(dá)式的轉(zhuǎn)換1.符號(hào)表達(dá)式與多項(xiàng)式的轉(zhuǎn)換構(gòu)成多項(xiàng)式的符號(hào)表達(dá)式f(x)可以與多項(xiàng)式系數(shù)構(gòu)成的行向量進(jìn)行相互轉(zhuǎn)換,MATLAB提供了函數(shù)sym2poly和poly2sym實(shí)現(xiàn)相互轉(zhuǎn)換。(1)sym2poly函數(shù),用來將構(gòu)成多項(xiàng)式的符號(hào)表達(dá)式轉(zhuǎn)換為按降冪排列的行向量,并只能對(duì)含有一個(gè)變量的符號(hào)表達(dá)式進(jìn)行轉(zhuǎn)換。例12將符號(hào)表達(dá)式2x+3x2+1轉(zhuǎn)換為行向量。

f=sym('2*x+3*x^2+1')

f=2*x+3*x^2+1

sym2poly(f) %轉(zhuǎn)換為按降冪排列的行向量

ans=321(2)poly2sym函數(shù)與sym2poly函數(shù)相反,用來將按降冪排列的行向量轉(zhuǎn)換為符號(hào)表達(dá)式例12續(xù)

將行向量轉(zhuǎn)換為符號(hào)表達(dá)式。

g=poly2sym([132]) %默認(rèn)x為符號(hào)變量的符號(hào)表達(dá)式

g=x^2+3*x+2

g=poly2sym([132],sym('y'))%y為符號(hào)變量的符號(hào)表達(dá)式

g=y^2+3*y+22.提取分子和分母如果符號(hào)表達(dá)式是一個(gè)有理分式(兩個(gè)多項(xiàng)式之比),可以利用numden函數(shù)來提取分子或分母,還可以進(jìn)行通分。語法:[n,d]=numden(f)說明:n為分子;d為分母;f為有理分式。例13

用numden函數(shù)來提取符號(hào)表達(dá)式和的分子、分母。f1=sym('1/(s^2+3*s+2)')

f1=1/(s^2+3*s+2)

f2=sym('1/s^2+3*s+2')f2=1/s^2+3*s+2

[n1,d1]=numden(f1)

n1=1d1=s^2+3*s+2

[n2,d2]=numden(f2)

n2=1+3*s^3+2*s^2d2=s^2四、符號(hào)極限、微積分和級(jí)數(shù)求和假定符號(hào)表達(dá)式的極限存在,SymbolicMathToolbox提供了直接求表達(dá)式極限的函數(shù)limit,函數(shù)limit的基本用法如表所示。表達(dá)式函數(shù)格式說明Limf(x)x→0limt(f)對(duì)x求趨近于0的極限Limf(x)x→alimt(f,x,a)對(duì)x求趨近于a的極限,當(dāng)左右極限不相等時(shí)極限不存在。Limf(x)x→a-limt(f,x,a,left)對(duì)x求左趨近于a的極限Limf(x)x→a+limt(f,x,a,right)對(duì)x求右趨近于a的極限例14分別求1/x在0處從兩邊趨近、從左邊趨近和從右邊趨近的三個(gè)極限值。

f=sym('1/x')

f=1/x

limit(f) %對(duì)x求趨近于0的極限

ans=NaN

limit(f,'x',0) %對(duì)x求趨近于0的極限

ans=NaN

limit(f,'x',0,'left') %左趨近于0

ans=-inf

limit(f,'x',0,'right') %右趨近于0

ans=inf

程序分析:當(dāng)左右極限不相等,表達(dá)式的極限不存在為NaN。采用極限方法也可以用來求函數(shù)的導(dǎo)數(shù):例14續(xù)

求函數(shù)cos(x)的導(dǎo)數(shù)。

symstxlimit((cos(x+t)-cos(x))/t,t,0)

ans=-sin(x)符號(hào)微分函數(shù)diff是用來求符號(hào)表達(dá)式的微分。語法:diff(f) %求f對(duì)自由變量的一階微分

diff(f,t)%求f對(duì)符號(hào)變量t的一階微分

diff(f,n) %求f對(duì)自由變量的n階微分

diff(f,t,n) %求f對(duì)符號(hào)變量t的n階微分例15已知f(x)=ax2+bx+c,求f(x)的微分。

f=sym('a*x^2+b*x+c')

f=a*x^2+b*x+c

diff(f)%對(duì)默認(rèn)自由變量x求一階微分

ans=2*a*x+b

diff(f,'a') %對(duì)符號(hào)變量a求一階微分

ans=x^2

diff(f,'x',2)%對(duì)符號(hào)變量x求二階微分

ans=2*a

diff(f,3) %對(duì)默認(rèn)自由變量x求三階微分

ans=0符號(hào)積分有定積分和不定積分,運(yùn)用函數(shù)int可以求得積分符號(hào)表達(dá)式的積分。語法:int(f,’t’) %求符號(hào)變量t的不定積分

int(f,’t’,a,b) %求符號(hào)變量t的積分

int(f,’t’,’m’,’n’) %求符號(hào)變量t的積分

說明:t為符號(hào)變量,當(dāng)t省略則為默認(rèn)自由變量;a和b為數(shù)值,[a,b]為積分區(qū)間;m和n為符號(hào)對(duì)象,[m,n]為積分區(qū)間;與符號(hào)微分相比,符號(hào)積分復(fù)雜得多。因?yàn)楹瘮?shù)的積分有時(shí)可能不存在,即使存在,也可能限于很多條件,MATLAB無法順利得出。當(dāng)MATLAB不能找到積分時(shí),它將給出警告提示并返回該函數(shù)的原表達(dá)式。例16求cos(x)的積分和二重積分。

f=sym('cos(x)');int(f) %求不定積分

ans=sin(x)

int(f,0,pi/3) %求定積分

ans=1/2*3^(1/2)

int(f,'a','b') %求定積分

ans=sin(b)-sin(a)

int(int(f)) %求多重積分

ans=-cos(x)符號(hào)級(jí)數(shù)1.symsum函數(shù)語法:symsum(s,x,a,b) %計(jì)算表達(dá)式s的級(jí)數(shù)和說明:x為自變量,x省略則默認(rèn)為對(duì)自由變量求和;s為符號(hào)表達(dá)式;[a,b]為參數(shù)x的取值范圍。例17求級(jí)數(shù)和1+x+x2+…+xk+…的和。

symsxks1=symsum(1/k^2,1,10) %計(jì)算級(jí)數(shù)的前10項(xiàng)和

s1=1968329/1270080

s2=symsum(1/k^2,1,inf) %計(jì)算級(jí)數(shù)和

s2=1/6*pi^2

s3=symsum(x^k,'k',0,inf)%計(jì)算對(duì)k為自變量的級(jí)數(shù)和

s3=-1/(x-1)2.taylor函數(shù)語法:taylor(F,x,n) %求泰勒級(jí)數(shù)展開說明:x為自變量,F(xiàn)為符號(hào)表達(dá)式;對(duì)F進(jìn)行泰勒級(jí)數(shù)展開至n項(xiàng),參數(shù)n省略則默認(rèn)展開前5項(xiàng)。例17續(xù)

求ex的泰勒展開式。

symsxs1=taylor(exp(x),8)

%展開前8項(xiàng)

s1=1+x+1/2*x^2+1/6*x^3+1/24*x^4+1/120*x^5+1/720*x^6+1/5040*x^7

s2=taylor(exp(x))

%默認(rèn)展開前5項(xiàng)

s2=1+x+1/2*x^2+1/6*x^3+1/24*x^4+1/120*x^5

五、符號(hào)積分變換傅里葉(Fourier)變換及其反變換fourier變換和反變換可以利用積分函數(shù)int來實(shí)現(xiàn),也可以直接使用fourier或ifourier函數(shù)實(shí)現(xiàn)。1.fourier變換語法:F=fourier(f,t,w)%求時(shí)域函數(shù)f(t)的fourier變換F說明:返回結(jié)果F是符號(hào)變量w的函數(shù),當(dāng)參數(shù)w省略,默認(rèn)返回結(jié)果為w的函數(shù);f為t的函數(shù),當(dāng)參數(shù)t省略,默認(rèn)自由變量為x。

2.fourier反變換語法:f=ifourier(F) %求頻域函數(shù)F的fourier反變換f(t) f=ifourier(F,w,t)說明:ifourier函數(shù)的用法與fourier函數(shù)相同。例18

溫馨提示

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