在數**算中,運算的結果如果是乙個數值,可以稱這類運算為數值運算;如果運算結果為表示式,在matlab中稱為符號運算,符號計算是對未賦值的符號物件(可以是常數、變數、表示式)進行運算和處理。matlab具有符號數學工具箱(symbolicmath toolbox),將符號運算結合到matlab的數值運算環境。符號數學工具箱是建立在maple軟體基礎上的。
建立符號變數的方法有兩種,應用,應用sym與syms函式,通常應用sym建立符號表示式,應用syms同時定義多個符號變數。
(1)函式:sym
功能:用來建立單個符號量
語法形式:sym(『表示式或變數』)
舉例:
可得到如下結果:a = sym('a'); %定義符號變數a,下同
b = sym('b')
c = sym('c')
d = sym('d') %至此定義了4個符號變數
w = 10;x = 5;y = -8;z = 11;
a = [a,b;c,d] %建立符號矩陣a
b = [w,x;y,z] %建立數值矩陣b
c = det(a); %計算符號矩陣a的行列式
d = det(b); %建立數值矩陣b的行列式
由上述結果我們不難看出,在符號運算中是以表示式形式呈現結果的,而在數值運算中是以數值表示結果的。
(2)函式:syms
功能:定義多個符號變數
語法:syms var1 var2 ……varn
說明:函式定義符號變數var1,var2,……,varn等。在用這種格式定義符號變數時無需在變數名上加字元分解符(『』),變數間用空格而不要用逗號分隔,要用空格來分隔。
例2:應用syms函式定義符號變數
(二)基本的符號運算1基本符號運算函式syms x y %同時定義x,y為符號變數
a = [sin(x) sin(y);cos(x) cos(y)]
在matlab中,有很多應用於符號運算的函式,常用的函式如下表所示:
函式名功能
用法舉例
sym字串或數值到符號的切換
sym(『a+b』)
expand
展開syms x
s = (-7*x^2-8*y^2)*(-x^2+3*y^2);
expand(s)
collect(s,x)
factor(ans)
g = ******(ans)
collect
合併同類項
factor
因式分解
simplify
******
化簡sym2poly(s)
轉化s為多項式係數向量
syms x;f=』2*x^2+3*x-5』;
n = sym2poly(f)
poly2sym(n)
poly2sym(c)
轉換多項式係數向量c為符號多項式
2符號表示式運算
(1)符號表示式的四則運算
(2)因式分解與多項式展開syms x y z; %定義x,y,z為符號變數
f1 = 2*x+x^2*x-5*x+x^3
f2 = 2*x/(5*x)
f3 = (x+y)*(x-y)
函式1:factor
功能:分解因式
語法:factor(s)
說明:s是符號表示式或符號矩陣
函式2:collect
功能:合併同類項
語法:collect(s)
collect(s,x)
說明:對s按符號變數x進行同類項合併,s是符號表示式或符號矩陣。
舉例:對表示式
(3)表示式化簡matlab提供的對符號表示式化簡函式為simplify。f = sym('2*(x-1)/(x^2+2*x-3)'); %輸入表示式
f = factor(f) %對符號表示式f進行因式分解
函式:simplify
功能:對表示式進行化簡
語法:simplfy(s)
注:simplify和******是matlab符號數學工具箱提供的兩個簡化函式,區別如下:f=cos(x)^2+sin(x)^2
simplify(f)
simplify的呼叫格式為:simplify(s);對表示式s進行化簡。
******是通過對表示式嘗試多種不同的方法(包括simplify)進行化簡,以尋求符號表示式s的最簡形式。
呼叫方式為:
[r,how]=******(s);r為返回的簡化形式,how為化簡過程中使用的一種方法。how有以下幾種形式:
(1)simplify 函式對表示式進行化簡;
(2)radsimp函式對含根式的表示式進行化簡;
(3)combine 函式將表示式中以求和、乘積、冪運算等形式出現的項進行合併;
(4)collet合併同類項
(5)factor函式實現因式分解
(6)convert函式完成表示式形式的轉換
參考文獻
[1] 劉加海,嚴冰等主編. matlab視覺化科學計算[m]:浙江: 浙江大學出版社,2014.6
[2] 薛定宇,陳陽泉主編.高等應用數學問題的matlab求解[m]:第二版.北京: 清華大學出版社,2015.6
matlab符號運算基礎
sym與syms 區別1 如果定義變數x,syms x 當用sym生成多個符號變數時,matlab要報錯 syms函式的功能比sym函式更為強大,它可以一次建立任意多個符號變數.而且,syms函式的使用格式也很簡單,使用格式如下 syms var1 var2 var3 如 syms x y z 區別...
Matlab符號運算
一 宣告 宣告單個符號變數 sym a 宣告多個符號變數 syms a b c 二 符號表示式 提取分子分母 n,d numdem a 自變數為 v的符號函式的反函式 finverse f,v 求和 symsum s,v,a,b 三 符號表示式化簡 以直觀漂亮的形式顯示 pretty f 合併同類項...
matlab符號運算
sym打頭與符號相關 定義符號物件 sym syms f sym arg 將數字 字串和表示式arg轉換成符號物件f syms arg1 arg2 arg3 將符號 arg1 arg2 arg3.定義為基本符號物件 syms arg1 arg2 同上 符號表示式累計求和 symsum s symsu...