首頁 > 其他

Matlab解方程時如何確定自由變數?

2019-12-25 21:37:15

   再利用Matlab解方程時,對於沒有其他引數的方程可以利用數值計算直接得出方程的數值解。但是有的方程帶有引數,我們無法得到數值解,這時我們就需要採用符號計算來解方程,從而得到方程的解析解。

    再利用符號計算解方程時,如帶有多個引數,這時就需要我們手動來確定哪個是自由符號變數,哪個是符號引數,然後在計算。本片經驗就是介紹我們在利用Matlab的符號計算解方程時是如何確定自由變數的。


1

相關指令函數

    解題通常是圍繞自由符號變數進行的,而解得的結果通常是「用符號引數構成的表示式表述自由符號變數」。解題時,自由符號變數可以「人為指定」,也可以使用軟體「預設自動認定」。

    這裡介紹一個函數symvar。下面介紹symvar指令的功能:

      symvar(expression)       列出表示式中的所有基本符號變數

      symvar(expression,n)     列出表示式中認定n個自由符號變數

說明:expression可以是符號表示式,或符號表示式矩陣。


2

軟體預設識別自由符號變數的順序

    軟體自動認定的預設規則:在沒有專門指定變數名的富符號算中,Matlab將按照與小寫字母x的ASCⅡ碼距離自動識別自由符號變數。此後的解題將按照被自動識別的變數進行。圖片為軟體預設識別自由符號變數的順序,依此類推。


3

結合具體例子--產生符號表示式

    下面我們就結合具體的相關例子講解。例如用符號計算研究方程sin(3)uz^2+vz+3w-a5=0的解。相關matlab程式碼請看圖片。


4

結合具體例子--基本符號變數和自由符號變數的認定

    分別按字母表順序、離x的距離順序列出基本符號變數,以及只識別一個自由變數是的自由符號變數。詳細請看圖。

注意:這是在第三步的基礎上進行的。


5

結合具體例子--對自由變數解方程

下面我們就根據自由變數解方程。詳細程式碼請看圖:


6

結合具體例子--同一方程,自由變數不同,解也不同

在上一部中的自由變數是w,下面我們就指定不同的自由變數求解。本次指定z為自由變數。請看圖:


7

結合具體例子--在指定一個自由變數求解,並分析結果

這次我們指定自由變數u求解,分析結果。


8

結合具體例子--分析5,6,7步求解結果

由下圖可以看出,當我們指定不同的自由變數來求解同一個方程時,所得解jieguo_1、jieguo_2、jieguo_3各不相同。



IT145.com E-mail:sddin#qq.com