在Matlab符號計算中靈活運用assume

2021-07-11 01:00:35 字數 1003 閱讀 9359

在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...