一、符號表達式
符號表達式的代數運算
(1).主要通過符號函數來實現。
(2).所有符號函數作用到符號表達式後,返回符號表達式。
(3).有時結果看起來像數字,但其實是一個內部用字符串表示的符號表達式
與數值運算的區別:
(1).數值型運算受到計算機內部有效位數的限定,每次運算有截取誤差;
(2).符號運算不需要進行數值運算,沒有截取誤差,非常準確;
(3).符號運算可以得出完全的封閉解;
(4).符號運算比數值運算時間長。
1.符號積分、微積分以及函數求和
(1).符號極限
limit函數
(2). 符號微分
diff函數
(3). 符號積分
int函數
(4). 符號級數求和
symsum函數
taylor函數
例子:
>> f=sym('1/x');
>> limit(f)
>> limit(f,'x','0','right')
>> limit(f,'x','0','left')
>> g=sym('a*x^3+b*x^2+c*x+d');
>> diff(g)
>> diff(g,2)
>> diff(g,'a')
>> f=sym('cos(x)')
>> int(f)
>> int(f,0,pi/3)
>> int(int(f))
>> syms x k
>> symsum(1/k^2,1,10)
>> symsum(1/k^2,1,inf)
>> taylor(exp(x),8)
2.符號積分變換
(1). 傅里葉變換及反變換
fourier 與 ifourier
(2). 拉普拉斯變換及反變換
laplace 與 ilaplace
(3). Z變換及反變換
ztrans 與 iztrans
例:
>> syms t w
>> T=fourier(1/t,t,w)
>> ifourier(T,t)
>> syms a t s
>> L1= laplace('sin(a*t)',t,s)
>> laplace(sym('heaviside(t)'))
>> ilaplace(L1,s,t)
3.符號函數的可視化
(1). ezplot和ezplot3函數
(2). funtool
例:
>> ezplot('heaviside(t)')
>> ezplot('heaviside(t)',[-5 5])
>> funtool
例:
syms A t beta w;
pi=sym('pi')
beta=sym('beta','positive');
f=A*exp(-beta*t^2);
F=fourier(f,t,w); %F=simple(F)
F1=subs(F,[A beta],[4 2])
ezplot(F1,[-10,10])