Matlab中的符號計算

2021-06-20 09:16:48 字數 770 閱讀 9211

儘管本人認為matlab是乙個優秀的數值計算軟體,不應該拿它來做符號計算,然而客觀上matlab確實有符號工具箱且有很多人使用。因此這裡也整理了一點關於符號計算的認識。下面的說法或程式在matlab 2013b下是成立的。更早版本的符號工具箱有一些差別。

1. 定義符號變數

syms x y

用syms命令可以一句話定義多個符號變數。還可以定義符號函式:

syms y(x1, x2)

2. 符號變數參與的計算與符號表示式求值

凡是有符號變數參加的計算,結果也是符號變數。例如:

a = 1.0;

syms b

c = a*b;

class(c)

結果顯示變數c的型別是sym。

如果現在我又想給b賦值以得到乙個具體的c,用subs:

cc = subs(c, b, 1.0) % 相當於「取b=1.0,代入c式中,得:」 

結果顯示cc是乙個值為1的符號變數。那麼如何將其轉換成乙個數值變數呢?

ccc = double(cc)

很簡單,乙個double函式就可以把cc轉換成double型別了。

哈哈,有了這個技能,再也不怕先化簡後求值的數學題啦(⊙﹏⊙b汗)

3. 限定符號變數取值範圍

數學中經常會有設x(x>0)這種操作,符號計算裡可以用assume函式給變數加限制:

syms x a

assume(a ~= -1)

int(x^a, x)

結果為:

x^(a + 1)/(a

MATLAB符號計算

1.建立符號物件 建立符號變數和符號常量 matlab提供了兩個建立符號物件的函式 sym和syms,兩個函式的用法不同。1 sym函式 sym函式用來建立單個符號量,一般呼叫格式為 符號量名 sym 符號字串 該函式可以建立乙個符號量,符號字串可以是常量 變數 函式或表示式。應用sym函式還可以定...

MATLAB的符號計算

數學計算有數值計算與符號計算之分。這兩者的根本區別是 數值計算的表示式 矩陣變數中不允許有未定義的自由變數 而符號計算可以含有未定義的符號變數。對於一般的程式設計軟體如 c,c 等語言實現數值計算還可以 但是實現符號計算並不是一件容易的事。而 matlab 自帶有符號工具箱 symbolic mat...

MATLAB 求導 符號計算

求導 diff 函式 求的一階導數 diff 函式,n 求的n階導數 n是具體整數 diff 函式,變數名 求對的偏導數 diff 函式,變數名,n 求對的n階偏導數 符號計算函式 r subs s,new 利用new的值代替符號表示式s中的預設符號 r subs s 用由呼叫函式或matlab工作...