資源描述:
《matlab程序設計與調(diào)試優(yōu)化》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、MATLAB程序設計與調(diào)試優(yōu)化9/9/20211非線性方程求解的牛頓-拉夫遜法9/9/202129/9/202139/9/202149/9/20215多變量的牛頓-拉夫遜法對于含n個未知數(shù)的n個方程,估計值與解之間的誤差為9/9/20216多變量的求解方法J9/9/20217應用背景已知電源的幅值和相位,M處的有功和無功(分別為2和1),Z的值,如何計算M處的電壓(幅值和相位)?Z=j0.1P+jQM9/9/20218數(shù)學方程9/9/20219求解方法9/9/202110MATLAB程序的基本組成部分
2、說明部分(或稱之為注釋部分)清除命令(可選)定義變量(局部變量和全局變量)按照順序行執(zhí)行的命令語句控制語句開始控制語句體……控制語句結(jié)束其他命令(如繪圖等)9/9/202111工作環(huán)境的設定設置路徑的原因:對于用戶程序中使用的文件名和變量名,系統(tǒng)按照以下順序搜索:(1)查找對象是否是工作空間的變量。(2)查找對象是否是系統(tǒng)的內(nèi)部函數(shù)。(3)查找對象是否是在系統(tǒng)的當前目錄下9/9/202112MatLab的基本語法數(shù)據(jù)類型常量和變量程序運算符程序控制語句M文件9/9/202113MatLab的基本語法-
3、-數(shù)據(jù)類型(1)MatLab6.5共有7種基本的數(shù)據(jù)類型以及若干衍生類型。匯總?cè)缦聢D所示。9/9/202114MatLab的基本語法--常量和變量MatLab中的常量:類似于c語言中的整型常量和實型常量,常量的表方法一般采用十進制數(shù)來表示,可以帶正負號和小數(shù)點,當然也可采用科學記數(shù)法。如1、25、0.0033、2e-7、pi、2十3i等都是MATLAB的合法常量。這里的2十3i是復數(shù)常量,它是由實數(shù)與虛數(shù)單位i組成MATLAB中的變量:一般無需事先定義。一個程序中的變量以其名稱在操作語句第一次合法出現(xiàn)
4、而定義。如果這個變量已經(jīng)存在,那么MATLAB將改變它的內(nèi)容,如a=2.5定義了一個變量a,并給它賦值2.5;如果再輸入a=3,那么變量a的值就變?yōu)?。9/9/202115MatLab的基本語法--常量和變量(2)MATLAB中的變量命名應該遵循以下規(guī)則:變量名必須以字母開頭,后面可以是任意的字母、數(shù)字或下劃線。MATLAB變量名有效的最大長度是31。MLAB的變量要區(qū)分大小寫,如:MY_NAME,My_name,my_name分別表示不同的變量。MatLab自身帶有一些具有特殊含義的變量和常量,用戶
5、在使用時不能對這些量進行變更。例如:pi表示圓周率,inf表示數(shù)學中的正無窮大等。9/9/202116MatLab的基本語法-程序運算符MATLAB的運算符可分為三類:算術(shù)運算符關(guān)系運算符邏輯運算符9/9/202117MatLab的基本語法-程序控制語句MATLAB控制語句主要有以下幾類:for循環(huán)結(jié)構(gòu)While循環(huán)結(jié)構(gòu)if-else-end分支結(jié)構(gòu)switch-case分支結(jié)構(gòu)9/9/202118MatLab的基本語法-程序控制語句for循環(huán)結(jié)構(gòu)for循環(huán)語句通常用來執(zhí)行循環(huán)次數(shù)已知的情況。它
6、可以按照用戶指定的次數(shù)來執(zhí)行循環(huán)體中的內(nèi)容。調(diào)用格式:forx=初值:步長:終值循環(huán)體end注意:變量x通常稱為循環(huán)變量;初值、終值和步長可以是標量,也可以是表達式。當循環(huán)語句開始執(zhí)行時,變量x的值被賦為和初值相同的內(nèi)容。每執(zhí)行一次循環(huán)體中的內(nèi)容,變量x的值就會按照步長的大小來改變。如果步長是一個正數(shù),那么變量x的值增加一個步長;如果步長是一個負數(shù),那么變量的值就減小一個步長。在步長為正的情況下,如果變量的值小于終值,就將繼續(xù)執(zhí)行循環(huán)體中的內(nèi)容。當步長為負時,如果變量的值大于終值,也將繼續(xù)執(zhí)行循環(huán)體中
7、的內(nèi)容。如此循環(huán),直到變量的值大于或者小于終值的內(nèi)容,這個for語句循環(huán)就結(jié)束,而繼續(xù)執(zhí)行end語句下面的命令。語句中的步長可以省略不寫,在這種情況下,默認的步長值為1。for循環(huán)語句允許嵌套,每一個“for”關(guān)鍵字必須和一個“end”配對。9/9/202119MatLab的基本語法-程序控制語句While循環(huán)結(jié)構(gòu)while語句根據(jù)一個控制表達式的值來確定程序的運行方式。常用于事先不能確定循環(huán)次數(shù)的情況。調(diào)用格式:while表達式循環(huán)體end當表達式中的值為真時,執(zhí)行循環(huán)體。當循環(huán)體執(zhí)行完畢后,繼續(xù)
8、判斷表達式的值,如果仍為真,那么繼續(xù)執(zhí)行循環(huán)體,如此循環(huán),直到表達式的值為假時終止循環(huán)。當表達式的值是一個矩陣,且矩陣中所有元素都不為零時,才執(zhí)行循環(huán)體中的內(nèi)容。如果表達式A是一個空矩陣,那么循環(huán)體中的內(nèi)容永遠不會被執(zhí)行。另外,要想在任何時候終止循環(huán)(for或while循環(huán)),可利用break語句。終止循環(huán)后繼續(xù)執(zhí)行end語句下面的語句。9/9/202120MatLab的基本語法-程序控制語句if-else-end分支結(jié)構(gòu)if語句是一種條件選擇結(jié)構(gòu)語句