(一)符號對象
一、建立符號對象
1、建立符號變量和符號常量(sym,syms):
只可以建立一個符號變量
可以一次性建立多個符號變量
PS:符號常量計算的結果是精確的數學表達式,而數值常量是進行約分后的常數
2、建立符號表達式:
(1)利用單引號來生成符號表達式:
y='1/sqrt(2*x)'; %符號表達式
g='cos(x^2)-sin(x)=0’ %符號方程
(2)用sym函數建立符號表達式:
Y=sym('3*x'); %符號表達式: G=sym ('[a,b;c,d]'); %矩陣表達式
(3)使用已經定義的符號變量組成符號表達式
syms x y; V=3*x^2-5*y+2*x*y+6;
二、符號表達式的計算
1、符號表達式的四則運算
符號表達是的加減乘除運算的實現方法:
(1)使用函數:
%其中f,g為符號表達式 symadd(f,g); %加法 symsub(f,g); %減法 symmul(f,g); %乘法 symdiv(f,g); %除法 sympow(f,g); %冪運算
(2)可以直接使用”+,-,*,/,^“運算符實現運算。
PS:但是MATLAB不一定會化簡到最簡的形式
2、符號表達式提取分子和分母的運算
[n,d]=numden(s); %s為符號表達是,n為分子,,d為分母
PS:無論s是什么,MATLAB會進行運算,使得s化為一個分式
3、符號表達式的因式分解與展開
factor(s); %對符號表示式分解分解因式 expands(s); %對s進行展開 collect(s); %對s合並同類項 collect(s,v);%對s按變量v合並同類項。
4、符號表達式的化簡
simplify(s); %應用函數規則對s進行化簡。
simple(s); %調用MATLAB的其他函數對表示式進行綜合化簡。並顯示化簡過程
5、符號表達式與數值表達式之間的轉換
sym(1.5); %數值表達式轉換為符號表達式 numeric('sqrt(5)'); %符號表達式轉換為數值表達式 eval('sqrt(5)'); %符號表達式轉換為數值表達式
三、符號表達式中變量的確定
findsym(s,n);
%返回符號表達式s中的n個符號變量,若沒有指定n,則返回s中的全部符號變量。
PS:在求函數的極限導數和積分時:如果用戶沒有明確指定自變量,MATLAB將按缺省原則findsym(s,1)找到缺省變量(離x最近的符號變量);
四、符號矩陣:
使用sym函數可以建立符號矩陣並化簡
m=sym('[1/(a+x),1;2;1/(b+y)'];
對矩陣使用的函數同樣可以對符號矩陣使用
transpose(s); %返回s矩陣的轉置矩陣 determ(s); %返回s矩陣的行列式值 diag(s); %以矩陣s的元素作為矩陣X的主對角線元素 triu(s); %返回矩陣s上三角矩陣 tril(s); %返回矩陣s下三角矩陣 inv(s); %返回矩陣s的逆矩陣 det(s); %返回矩陣s的行列式的值 rank(s); %返回矩陣的秩 eig(s); %返回矩陣的特征值和特征向量
(二)符號微積分
一、符號極限limit
二、符號導數diff
三、符號積分int
四、積分變換
1、傅里葉變換
(1)概念
(2)MATLAB實現
fourier(f,x,t); %求函數f(x)的傅里葉像函數F(t)
ifourier(f,t,x); %求傅里葉像函數F(t)的原函數f(x).
2、拉普拉斯變換
(1)概念
(2)MATLAB實現
laplace(fx,x,t); %求函數f(x)的拉普拉斯像函數F(t)
ilaplace(Fw,t,x); %求拉普拉斯像函數F(t)的原函數f(x)
3、Z變換
(1)概念
(2)MATLAB實現
ztrans(fn,n,z); %求函數f(n)的Z變換像函數F(z)
iztrans(Fz,z,n); %求函數F(z)的Z變換原函數f(n)
(三)級數
一、級數符號求和
symsum(s,v,n,m); %s表示一個技術的通項,是一個符號表達。 %v是求和向量 %n和m是開始項和末項(m可以取inf)
二、函數的泰勒級數
taylor(f,v,n,a); %將函數f按變量v展開為泰勒級數 %展開到第n想為止,n的缺省值為6 %a為在何處展開,默認a=0