一、符号对象

1、符号对象的建立
本节课讲sym()函数和syms命令
08 - MATLAB符号计算
不懂?没关系,我们例子:
(下例中左侧的编程是符号常量的例子;右侧的例子是符号变量的例子)
注1:t = sym(2)表示把2转换为符号对象t;
注2:sin(sym(pi/3))表示把pi/3转换成符号常量并求此符号常量的sin();而sin(pi/3)表示求pi/3的sin()函数;你会发现3^(1/2)/2 = 0.8660;
注3:w是求数值计算的结果;s是符号计算。发现符号计算只输出一个式子没有结果,想要结果,那你就输入eval(s),然后就会输出结果了。
注4:我们发现,数值结算的结果只是一个数值,而符号计算的结果是一个数学表达式。可以看出,符号计算更符合科学,更精准。
08 - MATLAB符号计算
08 - MATLAB符号计算
好,来看syms命令
08 - MATLAB符号计算
好,再来看符号对象的运算:
08 - MATLAB符号计算
再来看关系运算:
08 - MATLAB符号计算
08 - MATLAB符号计算
再来看逻辑运算
08 - MATLAB符号计算
再来看因式分解与展开运算
08 - MATLAB符号计算
注意factor()还可以把正整数分解为质因子:
(用这个函数可以验证一个属是否为素数)
08 - MATLAB符号计算
好,我们用factor()来验证一下梅森素数:
(下图右侧的编程即p=23时,有两个质因子,说明不是素数)
08 - MATLAB符号计算
好,来看符号运算的其他运算:
08 - MATLAB符号计算
例:
注1:左侧编程所提取的系数的排列顺序是从低次到高次;
注2:g = g(end????1)是把系数的排列顺序调过来
注3:roots(g)函数用于求根。
08 - MATLAB符号计算
关于符号运算中符号变量的确定
08 - MATLAB符号计算
来看符号矩阵:
08 - MATLAB符号计算
注:下图simplify(m)是对矩阵m进行花化简
08 - MATLAB符号计算
注意,我们以前用于数值矩阵的很多函数和运算符都可以用于符号矩阵:
如下面的这些函数:
08 - MATLAB符号计算
下面,我们看一个结合符号计算和数值矩阵的例子:
(我们用|A| = 0这个条件来算)
08 - MATLAB符号计算
08 - MATLAB符号计算

二、符号微积分

本节内容:
08 - MATLAB符号计算
1、函数的极限:
08 - MATLAB符号计算
例:
注1:(1)中的m和a是符号常量,x是符号变量
注2:(2)中的inf代表无穷大
08 - MATLAB符号计算
2、符号函数的导数
08 - MATLAB符号计算
例:
注1:(2)右侧的编程,是一个二元函数,我们求它的偏导数。
08 - MATLAB符号计算
我们需要知道:
08 - MATLAB符号计算
3、符号积分
先来看不定积分:
08 - MATLAB符号计算
举例:
(注:(2)中intt(g,t)指定t为自变量。否则,你要是不指定,系统就默认指定了x)
08 - MATLAB符号计算
再来看定积分:
08 - MATLAB符号计算
例:
注:(2)的-inf,inf是指从负无穷大到正无穷大。
(3)的上线为一个符号表达式,则结果也是一个符号表达式。
08 - MATLAB符号计算
看一个实际问题:
08 - MATLAB符号计算
补充一个知识点:
08 - MATLAB符号计算
好,来对第一问和第二问进行问题分析:
08 - MATLAB符号计算
先来求第一问:
注:polyfit()和plot()分别是拟合河床曲线和散点图;
ploy2sym();是把拟合曲线的多项式形式p转换为符号表达式形式y;
int()函数求定积分,从而求出横截面积;
s*流速即可求出水流量。
eval()把结果转换为数值形式。
08 - MATLAB符号计算
再来求第二问:
我们需要先把上面的曲线倒过来,即yn = -yi;
08 - MATLAB符号计算
三、级数
1、级数求和
用sum()的话,如果级数是无限的或者项数非常多,就不容易计算了。因此我们可以用symsum()函数
08 - MATLAB符号计算
看例子
注:hypergeom是超几何函数的意思。
08 - MATLAB符号计算
看一个应用的举例:
08 - MATLAB符号计算
08 - MATLAB符号计算
需要注意:
08 - MATLAB符号计算
如:
08 - MATLAB符号计算
2、泰勒级数
08 - MATLAB符号计算
08 - MATLAB符号计算
看一个例子:
08 - MATLAB符号计算
思考一个问题:
08 - MATLAB符号计算
那么,我们对于难以解决的式子,就可以用泰勒级数,把除了加减乘除之外的计算式转化为加减乘除。
如下,把con(x)转化为我们自己可以计算的加减乘除的式子:
并通过cos(3)进行验证:
08 - MATLAB符号计算

四、符号方程求解

符号方程求解 - solve()的三种格式
08 - MATLAB符号计算
例:
下面方程的四种解法:
注:右侧的两种解法是把方程的 “== 0”省略掉了。
08 - MATLAB符号计算
在看一个例子:
08 - MATLAB符号计算
看符号常微分方程的导数表示以及求解函数dsolve(e,c,v):
08 - MATLAB符号计算
再来看符号常微分方程组的求解
08 - MATLAB符号计算
例:
下面分别是求符号常微分方程、符号常微分方程组的通解。
08 - MATLAB符号计算

相关文章: