![計算機仿真技術與CAD-基于MATLAB的電氣工程(第2版) 課件全套 潘峰 第1-10章MATLAB語言簡介-MATLAB在電力系統(tǒng)中的應用_第1頁](http://file4.renrendoc.com/view12/M04/38/07/wKhkGWc_D_aAZdJcAADVPcl_gcw510.jpg)
![計算機仿真技術與CAD-基于MATLAB的電氣工程(第2版) 課件全套 潘峰 第1-10章MATLAB語言簡介-MATLAB在電力系統(tǒng)中的應用_第2頁](http://file4.renrendoc.com/view12/M04/38/07/wKhkGWc_D_aAZdJcAADVPcl_gcw5102.jpg)
![計算機仿真技術與CAD-基于MATLAB的電氣工程(第2版) 課件全套 潘峰 第1-10章MATLAB語言簡介-MATLAB在電力系統(tǒng)中的應用_第3頁](http://file4.renrendoc.com/view12/M04/38/07/wKhkGWc_D_aAZdJcAADVPcl_gcw5103.jpg)
![計算機仿真技術與CAD-基于MATLAB的電氣工程(第2版) 課件全套 潘峰 第1-10章MATLAB語言簡介-MATLAB在電力系統(tǒng)中的應用_第4頁](http://file4.renrendoc.com/view12/M04/38/07/wKhkGWc_D_aAZdJcAADVPcl_gcw5104.jpg)
![計算機仿真技術與CAD-基于MATLAB的電氣工程(第2版) 課件全套 潘峰 第1-10章MATLAB語言簡介-MATLAB在電力系統(tǒng)中的應用_第5頁](http://file4.renrendoc.com/view12/M04/38/07/wKhkGWc_D_aAZdJcAADVPcl_gcw5105.jpg)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1
計算機仿真技術—基于MATLAB的電氣工程2
MATLAB語言簡介MATLAB基本操作MATLAB程序設計MATLAB圖形處理MATLAB高級操作Simulink動態(tài)仿真集成環(huán)境MATLAB在電力電子變流中的應用MATLAB在直流調速系統(tǒng)中的應用MATLAB在交流調速系統(tǒng)中的應用MATLAB在電力系統(tǒng)中的應用本書內容3本章內容
MATLAB的功能特點;
MATLAB的操作界面;
MATLAB的工作窗口;
MATLAB的文件管理;
MATLAB的的幫助系統(tǒng)。第1章MATLAB語言簡介4
MATLAB是由美國MathWorks公司發(fā)布的主要面對科學計算、可視化以及交互式程序設計的高科技計算環(huán)境。它的應用范圍非常廣,包括工程計算、系統(tǒng)設計、數(shù)值分析、信號和圖像處理、通訊、測試和測量、財務與金融分析以及計算生物學等眾多應用領域。附加的工具箱擴展了MATLAB環(huán)境,以解決這些應用領域內特定類型的問題。5
1.1MATLAB的功能特點MATLAB是一種用于算法開發(fā)、數(shù)據可視化、數(shù)據分析以及數(shù)值計算的高級技術計算語言和交互式環(huán)境。使用它可以較使用傳統(tǒng)的編程語言(如C、C++和Fortran)更快地解決技術計算問題。它的應用范圍非常廣,包括工程計算、控制系統(tǒng)設計、信號和圖像處理、通訊、測試和測量、金融建模和分析以及計算生物學等眾多應用領域。附加的工具箱擴展了MATLAB環(huán)境,以解決這些應用領域內特定類型的問題。6
在科學研究和工程應用中,為了克服一般語言對大量的數(shù)學運算,尤其當涉及矩陣運算時,編程難、調試麻煩等困難,美國MathWorks公司于1967年構思并開發(fā)了“MatrixLaboratory”(縮寫MATLAB,即矩陣實驗室)軟件包,經過不斷更新和擴充,該公司于1984年推出了正式版的MATLAB1.0。特別是1992年推出了具有劃時代意義的MATLAB4.0版,并于1993年推出了其微機版,以配合當時日益流行的MicrosoftWindows一起使用。7
到目前為止先后推出了微機版的MATLAB4.x~MATLAB9.x/23.2
,使之應用范圍越來越廣。從2006年開始,MathWorks公司每年發(fā)布兩個用年號表示建造編號的MATLAB版本,其中上半年3月份左右發(fā)布a版,下半年9月份左右發(fā)布b版。如MATLAB7.2(R2006a)、MATLAB7.3(R2006b)。欲查看MATLAB版本更新一覽表請掃描下面二維碼1。
8
用MATLAB編程運算與人進行科學計算的思路和表達方式完全一致,所以使用MATLAB進行數(shù)學運算就象在草稿紙上演算數(shù)學題一樣方便。
萬能的、科學的數(shù)學運算“演算紙”萬能的計算器9MATLAB大大降低了對使用者的數(shù)學基礎和計算機語言知識的要求,既使用戶不懂C或FORTRAN這樣的程序設計語言,也可使用MATLAB輕易的再現(xiàn)C或FORTRAN語言幾乎全部的功能,設計出功能強大、界面優(yōu)美、穩(wěn)定可靠的高質量程序來,而且編程效率和計算效率極高。10
盡管MATLAB開始并不是為電氣工程的設計者們編寫的,但以它“語言”化的數(shù)值計算、強大的矩陣處理及繪圖功能、靈活的可擴充性和產業(yè)化的開發(fā)思路很快就為電氣工程界研究人員所矚目。目前,在電氣工程、自動控制、圖像處理、信號分析、語言處理、振動理論、優(yōu)化設計、時序分析和系統(tǒng)建模等領域。11
由著名專家與學者以MATLAB為基礎開發(fā)的實用工具箱極大地豐富了MATLAB的內容,較為常見的MATLAB工具箱主要有:(1)AerospaceToolbox—航空航天工具箱;(2)AntennaToolbox—天線工具箱;(3)AutomatedDrivingSystemToolbox—自動駕駛系統(tǒng)工具箱;(4)BioinformaticsToolbox—生物信息工具箱;(5)CommunicationsSystemToolbox—通信系統(tǒng)工具箱;(6)ComputerVisionSystemToolbox—計算機視覺系統(tǒng)工具箱;(7)ControlSystemToolbox—控制系統(tǒng)工具箱;(8)CurveFittingToolbox—曲線擬合工具箱;12(9)DataAcquisitionToolbox—數(shù)據采集工具箱;(10)DatabaseToolbox—數(shù)據庫工具箱;(11)DatafeedToolbox—數(shù)據饋送工具箱;(12)DeepLearningToolbox—深度學習工具箱;(13)DSPSystemToolbox—DSP系統(tǒng)工具箱;(14)EconometricsToolbox—經濟計量學工具箱;(15)FilterDesignToolbox—濾波器設計工具箱;(16)FinancialInstrumentsToolbox—金融工具箱;(17)FinancialToolbox—財務工具箱;(18)Fixed-PointBlockset—定點運算模塊集;(19)FuzzyLogicToolbox—模糊邏輯工具箱;(20)GaugesBlockset—儀表模塊集;13(21)GeneticAlgorithmandDirectSearchToolbox—遺傳算法與直
接搜索工具箱;(22)GlobalOptimizationToolbox—全局優(yōu)化工具箱;(23)Higher-OrderSpectralAnalysisToolbox—高階譜分析工具箱;(24)ImageAcquisitionToolbox—圖像采集工具箱;(25)ImageProcessingToolbox—圖像處理工具箱;(26)InstrumentControlToolbox—儀器控制工具箱;(27)LMIControlToolbox—線性矩陣不等式工具箱;(28)LTESystemToolbox—LTE系統(tǒng)工具箱;(29)MappingToolbox—繪圖工具箱;(30)ModelPredictiveControlToolbox—模型預測控制工具箱;(31)Model-BasedCalibrationToolbox—基于模型的標定工具箱;(32)NeuralNetworkToolbox—神經網絡工具箱;(33)OPCToolbox—OPC開發(fā)工具箱;(34)OptimizationToolbox—優(yōu)化工具箱;14(35)ParallelComputingToolbox—并行計算工具箱;(36)PartialDifferentialEquationToolbox—偏微分方程工具箱;(37)PhasedArraySystemToolbox—相控陣系統(tǒng)工具箱;(38)PowersysToolbox—電力系統(tǒng)工具箱;(39)ReinforcementLearningToolbox—強化學習工具箱;(40)RoboticsToolbox—機器人工具箱;(41)RobustControlToolbox—魯棒控制工具箱;(42)SensorFusionandTrackingToolbox—傳感器融合和跟蹤工具箱;(43)SignalProcessingToolbox—信號處理工具箱;(44)SimulinkToolbox—動態(tài)仿真工具箱;(45)SplineToolbox—樣條工具箱;(46)StatisticsToolbox—統(tǒng)計工具箱;15(47)Statistics
and
MachineLearning
Toolbox—統(tǒng)計和機器學習工具箱;(48)SymbolicMathToolbox—符號數(shù)學工具箱;(49)SystemIdentificationToolbox—系統(tǒng)辨識工具箱;(50)TradingToolbox—貿易工具箱;(51)VehicleNetworkToolbox—運輸網絡工具箱;(52)WaveletToolbox—小波工具箱;(53)μ-AnalysisandSynthesisToolbox—μ分析和綜合工具箱;(54)5GToolbox—5G工具箱。16
模型輸入與仿真環(huán)境Simulink更使MATLAB為電氣工程系統(tǒng)的仿真與CAD中的應用打開了嶄新的局面,并使得MATLAB目前已經成為國際上最流行的電氣工程系統(tǒng)計算機輔助設計的軟件工具。
MATLAB不僅流行于電氣工程系統(tǒng),在控制系統(tǒng)、語言處理、圖像信號處理、雷達工程、信號分析、數(shù)學計算、生物醫(yī)學工程、金融統(tǒng)計和計算機技術等各行各業(yè)中都有極廣泛的應用。17
嚴格地說,MATLAB并不是一種計算機語言,它僅僅是一種高級的科學分析與計算軟件。因為,用它編寫出來的程序并不能脫離MATLAB環(huán)境而執(zhí)行,但從其功能上講,MATLAB已經完全具備了計算機語言的結構與性能,所以我們這里將其簡稱為“MATLAB語言”。18
一臺計算機上可同時安裝多種MATLAB版本,它們之間相互獨立互不干擾。從MATLAB7.1開始,MATLAB同時支持32和64位操作系統(tǒng),安裝包win32和win64兩個文件夾分別與之對應。使用WindowsXP系統(tǒng)的用戶需要安裝MATLAB6.5及以上的版本,否則不能正常使用。MATLAB7.8(R2009a)及以上的版本基本都兼容Windows7及以上操作系統(tǒng)。
1.2MATLAB的操作界面
19目前較為常用MATLAB版本的操作界面如圖1-1所示。(a)MATLAB6.1(b)MATLAB6.5圖1-120
(c)MATLAB7.5(R2007b)
(d)MATLAB7.13(R2011b)
(c)MATLAB8.5(R2015a)(d)MATLAB9.14(R2023a)
21
由圖1-1可知,MATLAB各種版本的操作界面略有不同。
MATLAB6.5以前版本的操作界面通常由工作窗口、功能菜單和工具欄等組成。
MATLAB6.5和MATLAB7.x的操作界面中新增加了開始(Start)按鈕。在MATLAB8.x/9.x操作界面中,又新設置了主頁(HOME)、繪圖(PLOTS)和應用程序(APPS)等3個頁面,同時取消了開始按鈕并將其主要操作命令合并到應用程序頁面中。其中主頁中包含一些常用的功能菜單和快捷按鈕;繪圖頁面中包含所有繪圖函數(shù);應用程序頁面包含常用工具箱中的各種交互操作界面命令,其更加方便、實用和靈活。22
隨著MATLAB的迅速變化,盡管目前最新版本與MATLAB7.x相比,其內容和功能急劇擴充,但就本教材所涉及的內容而言,它們并無本質性變化,且常用功能的使用方法基本相同。另外,最新版本安裝程序大,且運行速度慢,尤其是啟動初始化時特慢。特別指出的是,MATLAB9.14(R2023a)等雖已將主操作界面漢化,并支持中文,便于讀者自學,但其大多子操作界面和子菜單仍為英文,且主要功能的使用方法仍同于MATLAB7.x。23
故本書仍以目前流行的經典版本MATLAB7.5(R2007b)為基礎來進行敘述,但增加了新版本與以前版本有較大變化且涉及本課程內容的部分,使得本書所述內容對使用最新版本的用戶仍可完全適用,同時也兼顧了當前仍在較低配置計算機上使用較低版本的用戶。24
由圖1-1所示MATLAB的操作界面可知,在默認狀態(tài)下,MATLAB通常包含以下幾個工作窗口。
1.3MATLAB的工作窗口
圖1-125①命令窗口(CommandWindow)
MATLAB的命令窗口位于MATLAB操作界面的右方或中間,它是MATLAB的主要操作窗口,MATLAB的大部分操作命令和結果都需要在此窗口中進行操作和顯示。在MATLAB命令窗口中的“>>”標志為MATLAB的命令提示符,“|”標志為輸入字符提示符。26
如果用戶是第一次使用MATLAB,則建議首先在命令行中鍵入demo命令,它將啟動MATLAB的演示程序,用戶可以在這些演示程序中領略到MATLAB所提供的強大的運算和繪圖功能。27②歷史命令(CommandHistory)窗口在默認狀態(tài)下,該命令窗口出現(xiàn)在MATLAB操作界面的左下方或右下方
。這個窗口記錄用戶已經操作過的各種命令,用戶可以對這些歷史信息進行編輯、復制和剪切等操作。28③當前工作目錄(CurrentDirectory)窗口在默認狀態(tài)下,該窗口出現(xiàn)在MATLAB操作界面的左上方的前臺或左方
。在這個窗口中,用戶可以設置MATLAB的當前工作目錄,并展示目錄中的M文件等。同時,用戶可以對這些M文件進行編輯等操作。29④工作空間(Workspace)瀏覽器窗口在默認狀態(tài)下,該窗口出現(xiàn)在MATLAB操作界面的左上方的后臺或右上方
。在這個窗口中,用戶可以查看工作空間中所有變量的類別、名稱和大小。用戶可以在這個窗口中觀察、編輯和提取這些變量。30
1.4MATLAB的文件管理
1.開始按鈕開始按鈕(Start)位于MATLAB6.5和MATLAB7.x操作界面的左下角,單擊這個按鈕后,會出現(xiàn)MATLAB的操作菜單。這個菜單上半部分的選項包含MATLAB的各種交互操作命令,下半部分的選項的主要功能是窗口設置、訪問MATLAB公司的網頁和查看幫助文件等。但在MATLAB8.x/9.x操作界面中,取消了左下角的開始按鈕(Start),并將其主要操作命令合并到應用程序頁面中。312.功能菜單為了更好地利用MATLAB,在其操作界面中設置了以下多個功能菜單。32*File文件操作菜單
New新建M文件、圖形、模型和圖形用戶界面
Open打開.m,.fig,.mat,.mdl,.cdr等文件
CloseCommandWindow關閉命令窗口
ImportData從其他文件導入數(shù)據
SaveWorkspaceAs
保存工作空間數(shù)據到相應的路徑文件中窗口
SetPath設置工作路徑
Preferences設置命令窗口的屬性
PageSetup頁面設置
Print設置打印機屬性
PrintSelection選擇打印
ExitMATLAB退出MATLAB操作界面33*Edit編輯菜單
Undo撤消上一步操作
Redo重新執(zhí)行上一步操作
Cut剪切
Copy復制
Paste粘貼
PasteSpecial粘貼特定內容
SelectAll全部選定
Delete刪除所選對象
Find查找所需對象
FindFiles查找所需文件
ClearCommandWindow清除命令窗口的內容
ClearCommandHistory清除歷史窗口的內容
ClearWorkspace清除工作區(qū)的內容34*Debug調試菜單
OpenM-FileswhenDebugging調試時打開M文件
Step單步調試
StepIn單步調試進入子函數(shù)
StepOut單步調試跳出子函數(shù)
Continue連續(xù)執(zhí)行到下一斷點
ClearBreakpointsinAllFiles清除所有文件中的斷點
StopifErrors/Warnings出錯或報警時停止運行
ExitDebugMode退出調試模式35*Desktop桌面菜單
UnlockCommandWindow命令窗口設為當前全屏活動窗口
DesktopLayout桌面設計
SaveLayout保存桌面設計
OrganizeLayout組織桌面設計
CommandWindow顯示命令窗口
CommandHistory顯示歷史窗口
CurrentDirectory顯示當前工作目錄
Workspace顯示工作空間
Help幫助窗口
Profiler輪廓圖窗口
Toolbar顯示/隱藏工具欄
ShortcutsToolbar顯示/隱藏快捷工具欄
Titles顯示/隱藏標題36*Window窗口菜單
CloseAllDocuments關閉所有文檔
CommandWindow選定命令窗口為當前活動窗口
CommandHistory選定歷史窗口為當前活動窗口
CurrentDirectory選定當前工作目錄為當前活動窗口
Workspace選定工作空間為當前活動窗口
在MATLAB8.x/9.x/23.2的操作界面中,由于取消了功能菜單,因此將其主要操作命令均合并到主頁
(HOME)中,另外在其操作界面中利用鼠標右鍵也可彈出相應的菜單命令。373.工具欄
MATLAB操作界面工具欄中的工具“”分別用來建立M文件編輯窗口和打開編輯文件窗口;工具“”對應的功能與Windows操作系統(tǒng)類似;工具“”分別用來快捷啟動Simulink庫瀏覽窗口、GUIDE模版窗口和輪廓圖窗口;工具“”分別用來快捷設置當前目錄和返回到當前目錄的父目錄。38MATLAB的各種版本都為用戶提供非常詳細的幫助系統(tǒng),可以幫助用戶更好地了解和運用MATLAB。因此,不論用戶是否使用過MATLAB,是否熟悉MATLAB,都應該了解和掌握MATLAB的幫助系統(tǒng)。
1.5MATLAB的文件管理
391.純文本幫助在MATLAB中,所有執(zhí)行命令或者函數(shù)的M源文件都有較為詳細的注釋。這些注釋都是用純文本的形式來表示的,一般都包括函數(shù)的調用格式或者輸入參數(shù)、輸出結果的含義。在MATLAB的命令窗口中,用戶利用以下命令可以查閱不同范圍的純文本幫助。
helphelp%查閱如何在MATLAB中使用
help命令,如圖1-2所示;
help%查閱關于MATLAB系統(tǒng)中的所有主題的幫助信息;
help命令或函數(shù)名%查閱關于該命令或函數(shù)的所有幫助信息。40圖1-2查閱如何在MATLAB中使用help命令412.演示(demo)幫助在MATLAB中,各個工具包都有設計好的演示程序,這組演示程序在交互界面中運行,操作非常簡便。因此,如果用戶運行這組演示程序,然后研究演示程序的相關m文件,對MATLAB用戶而言是十分有益的。這種演示功能對提高用戶對MATLAB的運用能力有著重要的作用。特別對于那些初學者而言,不需要了解復雜的程序就可以直觀地查看程序結果,可以加強用戶對MATLAB的掌握能力。42
如果用戶是第一次使用MATLAB,則建議首先在命令提示符“>>”后鍵入demo命令,它將啟動MATLAB演示程序的幫助對話框,如圖1-3所示,用戶可以在這些演示程序中領略到MATLAB所提供的強大的運算和繪圖功能。43單擊圖1-4對話框右側的“Runthisdemo”選項,MATLAB會打開“3-DPlotinHandleGraphics”窗口,該窗口就是演示demo的交互界面,如圖1-5所示。用戶可以調整該界面中的選項,來改變圖形的處理方式,這些程序命令會出現(xiàn)在圖1-5左下角的“CommandWindow”窗口中。圖1-4“3-DSurfacePlots”演示程序介紹圖1-5demo的交互界面44用戶除了可以在打開的動態(tài)界面中演示demo,還可以查看該demo的程序代碼,單擊圖1-4對話框右側的“Opengraf3d.mintheEditor”選項,就會打開該GUI界面的MATLAB程序代碼,如圖1-6所示。45
另外,為提高讀者對MATLAB的興趣,MATLAB中提供了許多有趣的實例,具體內容可掃描以下二維碼2。46再見!47本章內容
MATLAB的基本數(shù)學函數(shù)和常用命令的使用;
MATLAB的基本輸入/輸出函數(shù)及其應用;
MATLAB的外部命令調用方法;
MATLAB的基本數(shù)值運算方法;
MATLAB的基本符號運算方法。第2章MATLAB基本操作482.1MATLAB語言的結構其中等號右邊的表達式可由操作符或其它字符、函數(shù)和變量名組成,它可以是MATLAB允許的數(shù)學或矩陣運算,也可以包含MATLAB下的函數(shù)調用;等號左邊的變量名為MATLAB語句右邊表達式的返回值語句所賦值的變量的名字。MATLAB語句的一般形式為
變量名=表達式49
在調用函數(shù)時,MATLAB允許一次返回多個結果,這時等號左邊的變量名需用[]括起來,且各個變量名之間用逗號分隔開。
MATLAB語句結構形式中的等號和左邊的變量名也可以缺省,此時返回值自動賦給變量ans。50
在MATLAB中變量名必須以字母開頭,之后可以是任意字母、數(shù)字或者下劃線(不能超過19個字符),但變量中不能含有標點符號。變量名區(qū)分字母的大小寫,同一名字的大寫與小寫被視為兩個不同的變量。一般說來,在MATLAB下變量名可以為任意字符串,但MATLAB保留了一些特殊的字符串如表2-1所示。1.MATLAB的變量名51表2-1MATLAB中的特殊變量
特殊變量取值特殊變量取值ans默認變量名nargin函數(shù)的輸入變量數(shù)目pi圓周率(
=3.1415926…)nargout函數(shù)的輸出變量數(shù)目i或j基本虛數(shù)單位realmin系統(tǒng)所能表示的最小數(shù)值inf或Inf無限大,如1/0realmax系統(tǒng)所能表示的最大數(shù)值nan或NaN不定量,如0/0,
/
,0*
lasterr存放最新的錯誤信息eps浮點相對精度lastwarn存放最新的警告信息522.MATLAB的算術運算符
MATLAB中使用的算術運算符如表2-2所示。表2-1MATLAB中的算術運算符算術運算符意義算術運算符意義+加\左除-減∕右除*乘^冪53
對于矩陣來說,這里左除和右除表示兩種不同的除數(shù)矩陣和被除數(shù)矩陣的關系。對于標量,兩種除法運算的結果相同,如1/4和4\1有相同的值0.25。
常用的十進制符號如小數(shù)點、負號等,在MATLAB中也可以同樣使用,表示10的冪次要用符號e或E,如:3、-99、0.0001、1.6e-20、6.2e23。
543.MATLAB的基本數(shù)學函數(shù)
為了方便用戶,MATLAB提供了豐富的庫函數(shù),庫函數(shù)是根據系統(tǒng)已經編制好了的,提供用戶直接使用的函數(shù)。其中MATLAB中常用的基本數(shù)學函數(shù),如表2-3所示。55函數(shù)名含義函數(shù)名含義sin()正弦sqrt()平方根cos()余弦real()實部tan()正切imag()虛部asin()反正弦conj()復數(shù)共軛acos()反余弦round()4舍5入到整數(shù)atan()反正切fix()舍入到最接近0的整數(shù)atan2()第四象反正切floor()舍入到最接近-∝的整數(shù)sonh()雙曲正弦ceil()舍入到最接近+∝的整數(shù)cosh()雙曲余弦sign()符號函數(shù)tanh()雙曲正切rem()留數(shù)exp()自然指數(shù)bessel()貝塞爾函數(shù)log()自然對數(shù)gamma()伽嗎函數(shù)logl0()以10為底的對數(shù)rat()有理逼近隨機數(shù)abs()絕對值或模
rand()
表2-3MATLAB的基本函數(shù)
56
除了基本函數(shù)外,不同版本的MATLAB還增加了具有不同功能的庫函數(shù),也稱工具箱或模塊集。例如電力系統(tǒng)工具箱、控制系統(tǒng)工具箱和信號處理工具箱等等等等。對于各種函數(shù)的功能和調用方法可使用MATLAB的聯(lián)機幫肋help來查詢,例如:
>>helpsin%得到正弦函數(shù)的使用信息;
>>help[%顯示如何使用方括號。572.1MATLAB的窗口命令MATLAB命令窗口就是MATLAB語言的工作空間,因為MATLAB的各種功能的執(zhí)行必須在此窗口下才能實現(xiàn)。所謂窗口命令,就是在上述命令窗口中輸入的MATLAB語句,并直接執(zhí)行它們完成相應的運算等。58MATLAB命令語句能即時執(zhí)行,它不是輸入完全部MATLAB命令語句經過編譯、連接形成可執(zhí)行文件后才開始執(zhí)行,而是每輸入完一條命令,MATLAB就立即對其處理,并得出中間結果,完成了MATLAB所有命令語句的輸入,也就完成了它的執(zhí)行,直接便可得到最終結果。從這一點來說,MATLAB清晰地體現(xiàn)了類似“演算紙”的功能。2.2.1窗口命令的執(zhí)行及回調
1.窗口命令的執(zhí)行59例如>>a=5;>>b=6;>>c=a*b,>>d=c+2其中第3,4條命令的執(zhí)行結果分別顯示如下:
c=30d=3260
注意,以上各命令行中的“>>”標志為MATLAB的命令提示符,其后的內容才是用戶輸入的命令語句。每行命令輸入完后,只有當用回車鍵進行確定后,命令才會被執(zhí)行。
MATLAB語句既可由分號結束,也可由逗號或換行號結束,但它們的含義是不同的。如果用分號“;”結束,則說明除了這一條命令外還有下一條命令等待輸入,MATLAB這時將不立即顯示運行的中間結果,而等待下一條命令的輸入,如以上前兩條命令;如果以逗號“,”或回車結束,則將把左邊返回的內容全部顯示出來,如以上后兩條命令。
61
當然在任何時候也可輸入相應的變量名來查看其內容。如>>aa=5
在MATLAB中,幾條語句也可以出現(xiàn)在同一行中,只要用分號或逗號將它們分割。例如>>a=5;b=6;c=a*b,d=c+2這時可得與上面相同的結果。62MATLAB工作空間中的變量在退出MATLAB時會丟失,如果在退出MATLAB前想將工作空間中的變量保存到文件中,則可以調用save命令來完成,該命令的調用格式為>>save文件名變量列表其它選項
注意這一命令中不能使用逗號,不同的元素之間只能用空格來分隔。2.2.2窗口變量的處理
1.變量的保存63例如,想把工作空間中的a,b,c變量存到mydat.mat文件中去,則可用下面的命令來實現(xiàn)。>>savemydatabc
這里將自動地使用文件擴展名mat。如果想將整個工作空間中所有的變量全部存入該文件,則應采用下面的命令。>>savemydat64
當然這里的mydat也可省略,這時將工作空間中的所有變量自動地存入到文件matlab.mat中了。應該指出的是,這樣存儲的文件均是按照二進制的形式進行的,所以得出的文件往往是不可讀的,如果想按照ASCII碼的格式來存儲數(shù)據,則可以在命令后面加上一個控制參數(shù)-ascii,該選項將變量以單精度的ASCII碼形式存入文件中去,如果想獲得高精度的數(shù)據。則可使用控制參數(shù):-ascii-double。65MATLAB提供的load命令可以從文件中把變量調出并重新裝入到MATLAB的工作空間中去,該函數(shù)的調用格式與save命令同。當然工作空間中變量的保存和調出也可利用菜單項中的File|SaveWorkspaceAs…和File|Open命令來完成。2.變量的調取66
如果想查看目前的工作空間中都有哪些變量名,則可以使用who命令來完成。例如當MATLAB的工作空間中有a,b,c,d四個變量名時,使用who命令將得出如下的結果。>>whoyourvariableare:abcd
想進一步了解這些變量的具體細節(jié),則可以使用whos命令來查看。3.變量的查看67
了解了當前工作空間中的現(xiàn)有變量名之后,則可以使用clear命令來刪除其中一些不再使用的變量名,這樣可使得整個工作空間更簡潔,節(jié)省一部分內存,例如想刪除工作空間中的a,b兩個變量,則可以使用下面的命令>>clearab
如果想刪除整個工作空間中所有的變量,則可以使用以下命令>>clear4.變量的刪除68
在MATLAB操作界面中,用戶可以根據自己的需要,對窗口命令的字體風格、大小和顏色等進行自定義的設置。利用MATLAB操作界面中的菜單命令File
Preferences命令可打開Preferences參數(shù)設置窗口,用戶可以在此設置字體格式等,如圖2-1所示。2.2.3窗口命令的屬性6970MATLAB可以使用format命令來改變顯示格式,其調用格式為format控制參數(shù)其中控制參數(shù)決定顯示格式,控制參數(shù)如表2-4表示。除format命令外,還可由MATLAB命令窗口的Options|NumericFormat菜單項來設置顯示形式。2.2.4數(shù)值結果顯示格式71控制參數(shù)意義例100/3short5位有效數(shù)字,同默認顯示33.3333long長格式,15位有效數(shù)字33.33333333333334shorte短格式,5位有效數(shù)字的浮點數(shù)3.3333e+001longe長格式,15位有效數(shù)字的浮點數(shù)3.333333333333334e+001hex十六進制格式4040aaaaaaaaaaabbank2個十進制位33.33+正、負或零+rat有理格式100/3表2-4format命令的控制參數(shù)
722.2.5基本輸入與輸出函數(shù)
除上面提到的用于機器間交換數(shù)據的命令語句save和load外,MATLAB還允許計算機和用戶之間進行數(shù)據交換,允許對文件進行讀寫操作。73
如果用戶想在計算的過程中給計算機輸入一個參數(shù),則可以使用input()函數(shù)來進行,該函數(shù)的調用格式為變量名=input(提示信息,選項)這里提示信息可以為一個字符串顯示,它用來提示用戶輸入什么樣的數(shù)據,input()函數(shù)的返回值賦給等式左邊的變量名。1.輸入函數(shù)74
例如,用戶想輸入x的值,則可以采用下面的命令來完成>>x=input(‘Entermatrixx=>’);
執(zhí)行該命令時首先給出EntermatrixA=>提示信息,然后等待用戶從鍵盤按MATLAB格式輸入值,并把此值賦給x。如果在input()函數(shù)調用時采用了‘s’選項,則允許用戶輸入一個字符串,此時需用單引號將所輸字符串括住。75MATLAB提供的命令窗口輸出函數(shù)主要有disp()函數(shù),其調用格式為
disp(變量名)其中變量名既可以為字符串,也可以為變量矩陣。例如>>s=‘HelloWorld’,s=HelloWorld>>disp(s)HelloWorld2.輸出函數(shù)76MATLAB提供了較實用的字符串處理及轉換的函數(shù),例如int2str()函數(shù)就可以方便在將一個整形數(shù)據轉換成字符串形式,該函數(shù)的調用格式為cstr=int2str(n)其中n為一個整數(shù),而該函數(shù)將返回一個相關的字符串cstr。例如
num的數(shù)值為num=15,而在輸出中還想給出其它說明性附加信息,則可利用下面的語句>>disp([‘Thevalueofnumis’,int2str(num),‘!ok’])這樣可得
Thevalueofnumis15!ok3.字符串轉換函數(shù)77
與int2str()函數(shù)的功能及調用方式相似,MATLAB還提供了num2str()函數(shù),可以將給出的實型數(shù)據轉換成字符串的表達式,最終也可以將該字符串輸出出來。例如給繪制的圖形賦以數(shù)字的標題時可采用下面的命令>>c=(70-32)/1.8;>>title([‘Roomtemperatureis’,num2str(c),‘degreesC’])則會在當前圖形上加上題頭標注
Roomtemperatureis21.1111degreesC782.2.5外部程序的調用MATLAB允許在其命令窗口中調用可執(zhí)行文件(.exe),其調用方法是在MATLAB提示符下鍵入驚嘆號!后面直接跟該可執(zhí)行文件即可。
MATLAB也允許采用這樣的方式來直接使用DOS命令,如磁盤復制命令copy可以由!copy來直接使用,而文件列表命令dir可以由!dir來調用。事實上,為了使用戶提供更大的方便,MATLAB已經把一些常用的DOS命令做成了相應的MATLAB命令,表2-5列出了MATLAB中提供的一些文件管理命令。79命令注釋what列出當前目錄下所有的m文件dir列當前目錄下所有的文件1s與dir命令相同typemyfile在命令窗口中顯示文件myfile.m的內容deletemyfile刪除文件myfile.mcdpath進入子目錄pathwhichmyfile顯示文件myfile.m所在的路徑表2-5文件管理命令
802.3MATLAB的數(shù)值運算MATLAB具有強大的數(shù)值能力,它不僅能對矩陣和向量進行相應的運算,而且也可進行關系運算、邏輯運算和多項式運算等問題。812.3.1矩陣運算MATLAB的基本數(shù)據單元是不需要指定維數(shù)的復數(shù)矩陣,它提供了各種矩陣的運算與操作,因它既可以對矩陣整體地進行處理,也可以對矩陣的某個或某些元素進行單獨地處理,所以在MATLAB環(huán)境下矩陣的操作同數(shù)的操作一樣簡單。821.矩陣的實現(xiàn)
在MATLAB語言中不必描述矩陣的維數(shù)和類型,它們是由輸入的格式和內容來確定的,例如當
時,把A自動當作一個2×2的矩陣;A=[12]時,把A當作一個2維向量
時,把A自動當作一個2維列向量;A=5時,把A當作一個標量;A=1+2i時,把A當作一個復數(shù)。831)矩陣的賦值矩陣可以用以下幾種方式進行賦值*直接列出元素的形式;*通過語句和函數(shù)產生;*建立在文件中;*從外部的數(shù)據文件中裝入。84(1)簡單矩陣的輸入對于比較小的簡單矩陣可以使用直接排列的形式輸入,把矩陣的元素直接排列到方括號中,每行內的元素間用空格或逗號分開,行與行的內容用分號隔開。在MATLAB下的輸入方式為
>>A=[1,2,3;4,5,6;7,8,9]或>>A=[123;456;789]都將得相同的結果85
對于比較大的矩陣,可以用回車鍵代替分號,對每一行的內容分行輸入,也可利用續(xù)行符號(…),把一行的內容分兩行來輸入。如前面的矩陣還可以等價地由下面兩種方式來輸入。
>>A=[123;456789]或>>A=[123;45…6;789]
輸入后A矩陣將一直保存在工作空間中,除非被替代和清除,在MATLAB的命令窗口中可隨時查看其內容。86(2)利用語句或函數(shù)產生矩陣在MATLAB中,矩陣也可利用下例語句來產生s1:s2:s3其中,s1為起始值;s3為終止值;s2為步矩。使用這樣的命令就可以產生一個由s1開始,以步距s2自增,并終止于s3的行向量,如87>>y=[0:pi/4:pi;0:10/4:10]y=00.78541.57082.35623.141602.50005.00007.500010.0000如果S2省略,則可以認為自增步距為1,例如>>x=1:5結果顯示:
x=1234588
利用size()函數(shù)可測取一個矩陣的維數(shù),該函數(shù)的調用格式為[n,m]=size(A)其中A為要測試的矩陣名,而返回的兩個參數(shù)n和m分別為A矩陣的行數(shù)和列數(shù)。當要測試的變量是一個向量時,當然仍可由size()函數(shù)來得出其大小,更簡潔地,用戶可以使用length()函數(shù)來求出,該函數(shù)的調用格式為n=length(x)其中x為要測試的向量名,而返回的n為向量x的元素個數(shù)。89
如果對一個矩陣A用length(A)函數(shù)測試,則返回該矩陣行列的最大值,即該函數(shù)等效于max(size(A))。902)矩陣的元素
MATLAB的矩陣元素可用任何表達式來描述,它既可以是實數(shù),也可以是復數(shù),例如>>B=[-1/31.3;sqrt(3)(1+2+3)*i]
B=
-0.3333+0.0000i1.3000+0.0000i1.7321+0.0000i0.0000+6.0000iMATLAB允許把矩陣作為元素來建立新的矩陣,例如,利用A矩陣通過下面的語句>>A=[123;456;789];C=[A;[101112]]91MATLAB還允許對一個矩陣的單個元素進行賦值和操作,例如如果想將A矩陣的第2行第3列的元素賦為100,則可通過下面的語句來完成>>A(2,3)=100
A=1 23451007 89
這時將只改變此元素的值,而不影響其它元素的值。92
如果給出的行數(shù)或列數(shù)大于原來矩陣的范圍,則MATLAB將自動擴展原來的矩陣,并將擴展后未賦值的矩陣元素置為0。例如如果想把矩陣A的第4行第5列元素的值定義為8,就可以通過下面語句來完成。>>A(4,5)=8A=1230045100007890000008933)特殊矩陣的實現(xiàn)在MATLAB中特殊矩陣可以利用函數(shù)來建立。(1)單位矩陣函數(shù)eye()基本格式
A=eye(n)
%產生一個n階的單位矩陣A或A=eye(size(B))
%產生與B矩陣同階的單位矩陣A94(2)零矩陣函數(shù)zeros()(3)1矩陣函數(shù)ones()(4)隨機元素矩陣函數(shù)rand()(5)對角矩陣函數(shù)diag()(6)伴隨矩陣函數(shù)compan()(7)上三角矩陣函數(shù)triu()和下三角矩陣函數(shù)tril()952.矩陣的基本運算
矩陣運算是MATLAB的基礎,MATLAB的矩陣運算功能十分強大,并且運算的形式和一般的數(shù)學表示十分相似。1)矩陣的轉置矩陣轉置的運算符為“'”。例如>>A=[123;456];B=A'
142536962)矩陣的加和減
矩陣的加減法的運算符為“+”和“-”。矩陣只有同階方可進行加減運算,標量可以和矩陣進行加減運算但應對矩陣的每個元素施加運算。例如>>A=[123;456];B=A+1B=234567973)
矩陣的乘法矩陣的乘法運算符為“*”。當兩個矩陣中前一矩陣的列數(shù)和后一矩陣的行數(shù)相同時,可以進行乘法進行運算,這與數(shù)學上的形式是一致的。例>>C=A*B;在MATLAB中還可進行矩陣和標量相乘,其結果為標量與矩陣中的每個元素分別相乘。984)矩陣的除法
矩陣的除法有兩種運算符“\”和“/”,分別表示左除和右除。一般地講,x=A\B是A*x=B的解,x=B/A是x*A=B的解,通常A\B≠B/A,而A\B=inv(A)*B,B/A=B*inv(A)。995)矩陣的乘方
矩陣的乘方運算符為“^”。一個方陣的乘方運算可以用A^P來表示。P為正整數(shù),則A的P次冪即為A矩陣自乘P次。如果P為負整數(shù),則可以將A自乘P次,然后對結果進行求逆運算,就可得出該乘方結果。如果P是一個分數(shù),例如P=m\n,其中n和m均為整數(shù),則首先應該將A矩陣自乘n次,然后對結果再開m次方。1006)矩陣的翻轉MATLAB還提供了一些矩陣翻轉處理的特殊命令,對n×m維矩陣A如B=fliplr(A)%命令將矩陣A進行左右翻轉再賦給B,即bij=ai,m+1-j,
C=flipud(A)%命令將矩陣A進行上下翻轉再賦給C,即cij=an+1-i,j,
D=rot90(A)%命令將矩陣A進行旋轉90度后賦給D,即dij=aj,m+1-I。1017)矩陣的超越函數(shù)MATLAB中exp(),sqrt(),sin(),cos()等基本函數(shù)命令可以直接使用在矩陣上,這種運算只定義在矩陣的單個元素上,即分別對矩陣的每個元素進行運算。超越數(shù)學函數(shù),可以在函數(shù)后加上m而成為矩陣的超越函數(shù),例如expm(A),sqrtm(A),logm(A)分別為矩陣指數(shù)、矩陣開方和矩陣對數(shù)。矩陣的超越函數(shù)要求運算的矩陣必須為方陣。1022.3.2
MATLAB的向量運算
雖然向量和矩陣在形式上有很多的一致性,但在MATLAB中它們實際上遵循著不同的運算規(guī)則。MATLAB向量運算符由矩陣運算符前面加一點“.”來表示,如“.*”、“./”和“.^”等。 在MATLAB中,兩個維數(shù)相同的矩陣也可以采用向量運算符,但與采用以上矩陣運算符的結果是不一樣的,它實與向量運算結果一致,均為對應元素之間的運算。實際上向量就是矩陣的一種特殊形式,即僅有一行或一列元素的矩陣,因此MATLAB中的向量運算又被稱為矩陣元素運算。1031.向量的加減向量的加、減運算與矩陣的運算相同,所以“+”和“-”既可被向量接收又可被矩陣接收。1042.向量的乘法
向量乘法的操作符為“.*”。如果x,y兩向量具有相同的維數(shù),則x.*y表示x和y單個對應元素之間的對應相乘。例如>>x=[123];y=[456];z=x.*yz=41018
可見向量的輸入和輸出與矩陣具有相同的格式,但它們的運算規(guī)則不同,例如,如果x是一個向量,則求取函數(shù)x平方時不能直接寫成x*x,而必須寫成x.*x,否則將給出錯誤信息。105
但是對于矩陣可以使用向量運算符號,這時實際上就相當于把矩陣看成了向量進行對應元素間的運算。例如對于兩個維數(shù)相同的A,B矩陣,C=A.*B表示A和B矩陣的相應元素之間直接進行乘法運算,然后將結果賦給C矩陣,把這種運算稱為矩陣的點積運算,兩個矩陣之間的點積是它們對應元素的直接運算,它與矩陣的乘法是不同的。例如>>A=[123;456;789];>>B=[234;567;890];C=A.*B結果顯示C=261220304256720
1063.向量的除法
向量除法的操作符為“./”或“.\”。它們的運算結果一樣。例如對前面給出的x和y向量>>z=y./xz=4.00002.50002.0000
對于向量x.\y和y./x一樣,將得到相同的結果,這與矩陣的左、右除是不一樣的,因向量的運算是它們對應元素間的運算。對于矩陣也可使用向量的除法操作符,這時就相當于把矩陣看成向量進行對應元素間的除法運算。
1074.向量的乘方向量乘方的運算符為“.^”。向量的乘方是對應元素的乘方,在這種底與指數(shù)均為向量的情況下,要求它們的維數(shù)必須相同。例如>>x=[123];>>y=[456];>>z=x.^yz=132729
它相當于z=[123]^[456]=[142536]1082.3.3關系和邏輯運算1.關系運算MATLAB常用的關系操作符見表2-6表示。表2-6關系運算符
關系操作符意義關系操作符意義<小于>=大于等于<=小于等于==等于>大于~=不等于109
函數(shù)find()在關系運算中很有用,它可以在矩陣中找出一些滿足一定關系的數(shù)據元素。例如
>>A=1:9;B=A>4>>C=A(A>4)C=56789或>>C=find(A>4)
C
=567891102.邏輯運算MATLAB的邏輯操作符有&(與)、|(或)和~(非)。它們通常用于元素或0-1矩陣的邏輯運算。與和或運算符可比較兩個標量或兩個同階矩陣,對于矩陣,邏輯運算符是作用于矩陣中的元素。邏輯運算結果信息也用“0”和“1”表示,邏輯操作符認定任何非零元素都表示為真。給出1為真,0為假。111
非是一元操作符,當A非零時,~A返回的信息為0,當A為零時,~A返回信息為1。因而就有:P|(~P)返回值為1,P&(~P)返回值為0。例>>A=1:9;C=~(A>4)C=111100000>>C=(A>4)&(A<7)
C=0000110001123.關系和邏輯運算函數(shù)
除了上面介紹的關系和邏輯運算符外,MATLAB中還提供了一些關系和邏輯運算函數(shù)如表1-10所示。表1-10關系和邏輯操作符
函數(shù)名說明xor(x,y)異或any(x)向量x中的任一元素非零,返回1all(x)向量x中的所有元素非零,返回1isnan(x)當x是NaN時,返回1isinf(x)當x是inf時,返回1finite(x)當x屬于(-∞,+∞)時返回1,而當x=NaN時,返回零。1132.3.4多項式運算
多項式運算是數(shù)學中最基本的運算之一。在MATLAB中同樣可對多項式進行相應的一系列運算。1.多項式的表示在高等數(shù)學中,多項式一般可表示成以下形式f(x)=a0
x
n+a1x
n-1+…+an-1x+an其中,a0,a1,…,an稱為多項式的系數(shù)。所以在MATLAB中多項式很容易用其系數(shù)組成的行向量來表示,即P=[a
0
a
1…an]其中行向量是按其系數(shù)降冪排列組成的系數(shù)向量。114
在MATLAB中,利用函數(shù)poly2str()可將多項式的系數(shù)向量表示成相應多項式的習慣表示形式,該函數(shù)的調用格式為f=poly2str(p,'s')其中,p為多項式的系數(shù)向量;s為多項式的變量名;f為相應的多項式。例>>p=[15032];f=poly2str(p,'x')結果顯示:f=x^4+5x^3+3x+21152.多項式的四則運算多項式的四則運算主要是多項式的加、減、乘和除運算。其中多項式的加、減運算要求兩個相加、減多項式的系數(shù)向量維數(shù)的大小必須相等。多項式的加減例1-12
求以下兩個多項式
f1(x)=x
4+5x
3+3x+2,f2(x)=x
2+6x+5的和解
MATLAB命令如下>>p1=[15032];p2=[00165];p=p1+p21162)多項式的乘法在MATLAB中,多項式的乘法運算,利用函數(shù)conv()來實現(xiàn),函數(shù)conv()相等于執(zhí)行兩個數(shù)組的卷積,其調用格式為
p=conv(p1,p2)3)多項式的除法在MATLAB中,多項式的除法運算,利用函數(shù)deconv()來實現(xiàn),其調用格式為
[p,r]=deconv(p1,p2)1173.多項式的值及多項式的導數(shù)如果f(x)函數(shù)為下面的一個多項式f(x)=a0xn+a1xn-1+…+an-1x+an則可以求出該函數(shù)的導數(shù)函數(shù)為
f'(x)=na0xn-1+(n-1)a1xn-2+…+an-1
在MATLAB中提供了多項式求值函數(shù)polyval()和多項式求導的函數(shù)polyder()它們的調用格式分別為
f0=polyval(p,x0)及dp=polyder(p)118
同樣,MATLAB也提供了多項式矩陣的求值函數(shù)polyvalm(),其調用格式為fA=polyvalm(p,A)4.多項式的求解
MATLAB中多項式的求解運算可利用函數(shù)roots()來實現(xiàn),其調用格式為r=roots(p)1192.4MATLAB的符號運算MATLAB的優(yōu)點不僅在于其強大的數(shù)值運算功能,而且也在于其強大的符號運算功能。MATLAB的符號運算是通過集成在MATLAB中的符號數(shù)學工具箱(SymbolicMathToolbox)來實現(xiàn)的。它可完成幾乎所有的符號運算功能,如符號表達式的生成、復合和化簡;符號矩陣的求解;符號微積分的求解;符號函數(shù)的畫圖;符號代數(shù)方程的求解;符號微分方程的求解等。120
2.4.1符號表達式的生成在MATLAB中的符號數(shù)學工具箱中,符號表達式是代表數(shù)字、函數(shù)和變量的MATLAB字符串或字符串數(shù)組,它不要求變量要有預先確定的值。符號表達式可以是符號函數(shù)或符號方程。其中,符號函數(shù)沒有等號,而符號方程必須有等號。
MATLAB在內部把符號表達式表示成字符串,以與數(shù)字區(qū)別。符號表達式可由以下三種方法生成。1211.用單引號生成符號表達式在MATLAB中,符號表達式如同字符串一樣也可利用單引號來直接設定。如>>fun='sin(x)‘2.用函數(shù)sym()生成符號表達式在MATLAB可自動確定變量類型的情況下,可不用函數(shù)sym()來顯式生成符號表達式。但在某些情況下,特別是在建立符號數(shù)組時,必須要用函數(shù)sym()來將字符串轉換成符號表達式。如
>>A=sym('[sin(x)b;cd]')122>>symsKtT;fun=K*(exp(-t/T))結果顯示:fun=K*exp(-t/T)3.用命令syms生成符號表達式在MATLAB中,利用命令syms只能生成符號函數(shù),而不能生成符號方程。例如
另外,在MATLAB中,利用函數(shù)symvar()可知道符號表達式中哪些變量為符號變量。同時MATLAB會自動把i,j,pi,inf,nan,eps等特殊字母不當成符號變量。
1232.4.2符號表達式的基本運算
MATLAB的符號工具箱中,符號方程的求解包括符號代數(shù)線性方程的求解、符號代數(shù)非線性方程的求解和符號微分方程的求解等。1.符號表達式的提取分子/分母運算在MATLAB中,如果符號表達式為有理分式的形式或可展開為有理分式的形式,則可通過函數(shù)numden()來提取符號表達式中的分子與分母。其調用格式如下[nem,den]=numden(f)124例>>f=sym('(x+d)/(a*x^2+b*x+c)');>>[num,den]=numden(f)運行結果:num=x+dden=a*x^2+b*x+c
1252.符號表達式的基本代數(shù)運算在MATLAB中,符號表達式的加、減、乘、除四則運算及冪運算等基本的代數(shù)運算,分別由函數(shù)symadd(),symsub(),symmul(),symdiv()及sympow()來實現(xiàn)。其中求和函數(shù)symadd()的調用格式為:
h=symadd(f,g)1263.符號表達式與數(shù)值表達式的相互轉換在MATLAB中,利用函數(shù)numeric()(僅適用于MATLAB6.5及以前的版本)或eval()可將符號表達式轉換成數(shù)值表達式。反之,函數(shù)sym()可將數(shù)值表達式轉換成符號表達式。例
>>f='abs(-1)+sqrt(1)/2',p=eval(f),n=sym(p)運行結果:f=abs(-1)+sqrt(1)/2p=1.5000n=3/2
127
若已知數(shù)值多項式系數(shù)向量,則可以通過符號運算工具箱提供的函數(shù)poly2sym()將其轉換成多項式表達式。若已知多項式表達式,則可以由函數(shù)sym2poly()將其轉換成系數(shù)向量形式。它們調用格式為f=poly2sym(p)和p=sym2poly(f)其中,p為多項式系數(shù)降冪排列構成的系數(shù)向量;f為多項式表達式。1284.符號表達式的化簡在MATLAB中,函數(shù)simple()可按有關數(shù)學規(guī)則把符號表達式化簡成最簡形式,其調用格式如下:y=simple(f)1295.符號表達式的替換在MATLAB的符號數(shù)學工具箱中,函數(shù)subexpr()和函數(shù)subs()可以進行符號表達式的替換。其中函數(shù)subexpr()用于把復雜表達式中所含的多個相同子表達式用一個符號代替,使其表達簡潔,其調用格式如下g=subexpr(f,'S')
1302.4.3符號表達式的微積分
MATLAB的符號工具箱中,符號微積分包括符號序列求和、符號極限、符號微分和符號積分等運算。1.符號序列求和對于求和問題,在MATLAB中可利用符號序列求和函數(shù)symsum()來實現(xiàn),其調用格式為y=symsum(f,'x',a,b)%求符號表達式f在指定變量x
取遍[a,b]中所有整數(shù)和yy=symsum(f,'x')%求符號表達式f在指定變量x
取遍[0,x-1]中所有整數(shù)和yy=symsum(f,a,b)%求符號表達式f對獨立變量
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 現(xiàn)代家庭教育與孩子未來職業(yè)規(guī)劃的聯(lián)動
- Unit 5 The colourful world Part C Reading time大單元整體說課稿表格式-2024-2025學年人教PEP版(2024)英語三年級上冊001
- Unit 1 Wish you were here Integrated skills (1) 說課稿-2024-2025學年高中英語牛津譯林版(2020)選擇性必修第三冊
- 2023三年級英語下冊 Unit 10 Is he a farmer第2課時說課稿 湘少版
- Unit 4 History and Traditions Reading for Writing 說課稿-2024-2025學年高中英語人教版(2019)必修第二冊
- 2024年五年級語文下冊 第六單元 17 跳水說課稿 新人教版
- 《3 熱空氣和冷空氣》說課稿-2023-2024學年科學三年級上冊蘇教版
- 2025地質災害治理工程施工合同
- 2024年四年級英語下冊 Unit 4 There are seven days in a week Lesson 22說課稿 人教精通版(三起)
- 2025工程建設招標投標合同(投標書)范文
- 2024-2025學年成都高新區(qū)七上數(shù)學期末考試試卷【含答案】
- 企業(yè)員工食堂管理制度框架
- 電力溝施工組織設計-電纜溝
- 《法律援助》課件
- 小兒肺炎治療與護理
- 《高處作業(yè)安全》課件
- 2024年山東鐵投集團招聘筆試參考題庫含答案解析
- 7.5正態(tài)分布課件(共26張PPT)
- 水體國產載體固化微生物
- 七年級語文課外閱讀理解練習
- 理解文中重要句子含義(課堂PPT)
評論
0/150
提交評論