首頁 > 其他

matlab解方程時變數的限定性假設的影響

2019-12-25 20:22:13

    在matlab中若不對符號變數專門設定,符號計算變數預設為在「複數域」裡面。而在實際中我們常要對變數進行各種假設,如正數、負數、複數等。不然的話會對結果產生影響。下面我們在本篇經驗中就介紹變數的限定性假設在解方程過程中的影響。


1

相關指令:sym和syms 

   在matlab中如果要對符號變數進行限定性假設需要借助一些指令,即sym和syms指令才能進行。他具有各種格式,詳情請看下圖。此外還可以借助其他指令如assume和evalin進行更細膩的限定,本篇經驗中只介紹sym和syms對符號變數的限定性假設的影響。


2

復原假設和清除變數

有時候我們在計算過程中需要對先前設定的限定性假設進行復原,這裡就需要用到其他指令了。但是在matlab中由於符號變數和他的限定性假設存放在不同的記憶體中,所以復原假設和刪除變數需要使用命令分別進行。具體指令如下。


3

預設情況下複數域解方程

    這裡我們先對符號變數不做任何假設,就在預設情況下解方程,觀察結果。


4

求實數根

   在求實根之前我們要對符號變數做一個限定性假設,限制在實數範圍內。具體程式碼及過程看下圖。


5

僅在MATLAB記憶體中刪除x,再求解新方程

這裡我們先刪除MATLAB記憶體中的變數x,在求解新方程x^2+x+5=0 ,然後再看結果。由結果可以看出,此前x為實數的假設仍然起作用,所以導致無解。


6

在MuPAD中復原x為實數假設,再解方程

    這裡先用指令復原x在MuPAD中為實數的假設,然後再解上一步中的方程。有結果可以看出在復原x在MuPAD中為實數的假設後,求解出方程的兩個複數根。



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