在matlab負號計算中,我們經常要先用sym或者syms定義乙個符號,如下方法使用。大多數的時候這個符號預設是複數
syms a b c
這個時候問題就來了。比如下面乙個很簡單的例子,計算sqrt(a^2)。
simplify(sqrt(a^2))
如果a是乙個複數,用matla計算出的結果就是(a^2)^(1/2)
assume(a, 'clear')
如果a是乙個實數,結果是abs(a)
assume(a, 'real')
如果a是乙個正數,結果是a
assume(a>0)
如果a是乙個負數,結果是-a
assume(a<0)
看了上面想必大家知道assume的好處了。如果想知道乙個符號現在是什麼假設,可以用下面方法檢視
assumptions(a)
除了在上面的場合,在很多其他符號計算化簡的場合assume也用得著,比如log(a)+log(b)化簡為log(a*b),需要假設a>0和b>0.
assume(a > 0)
assume(b > 0)
s = log(a) + log(b);
combine(s,'log')
ans =log(a*b)
syms a b
assume(abs(a*b) < 1)
combine(atan(a) + atan(b),'atan')
ans =-atan((a + b)/(a*b - 1))
MATLAB符號計算
1.建立符號物件 建立符號變數和符號常量 matlab提供了兩個建立符號物件的函式 sym和syms,兩個函式的用法不同。1 sym函式 sym函式用來建立單個符號量,一般呼叫格式為 符號量名 sym 符號字串 該函式可以建立乙個符號量,符號字串可以是常量 變數 函式或表示式。應用sym函式還可以定...
Matlab中的符號計算
儘管本人認為matlab是乙個優秀的數值計算軟體,不應該拿它來做符號計算,然而客觀上matlab確實有符號工具箱且有很多人使用。因此這裡也整理了一點關於符號計算的認識。下面的說法或程式在matlab 2013b下是成立的。更早版本的符號工具箱有一些差別。1.定義符號變數 syms x y 用syms...
MATLAB的符號計算
數學計算有數值計算與符號計算之分。這兩者的根本區別是 數值計算的表示式 矩陣變數中不允許有未定義的自由變數 而符號計算可以含有未定義的符號變數。對於一般的程式設計軟體如 c,c 等語言實現數值計算還可以 但是實現符號計算並不是一件容易的事。而 matlab 自帶有符號工具箱 symbolic mat...