转自:http://m.blog.csdn.net/blog/wxg694175346/9366769
1.符号变量
使用sym函数可以建立一个符号变量,用class函数查看:
或者直接使用syms命令,比如创建一个符号变量b:
2.符号常量
符号常量也是用syms来申明,比如声明一个符号常量c:
3.符号表达式
符号表达式常用两种方式。
一个是使用单引号的形式,比如:
f1 = ' 3 * x + 6'
还有一种就是用syms函数:
syms x
f2 = 3 * x + 6
还有第三种:
f3 = sym('3*y + 4');
下面来比较一下这三者的异同。
f1 = '3 * x + 4';
syms x
f2 = 3 * x + 4;
f3 = sym('3*y + 4');
运行之后看一下这三者的类型:
发现第一个是char类型而不是sym类型。
但是这并不影响我们的使用。我们可以把f1和f2相加:
发现得到的结果还是一个sym类型。
4.符号计算
一般来说符号的四则运算可以用数字运算的+-*/^即可。
5.符号表达式的化简
使用simplify和simple函数可以对符号表达式来化简。
simplify是直接多项式化简,而simple有更多的专业化简内容。
5.符号表达式与数值的转化
使用eval和sym函数即可。
% 符号和数值的转换
eval(c)
numeric(c)
6.符号表达式的因式分解、展开以及合并同类项:
% 因式分解,展开和合并同类项
syms a b x y;
f1 = a^3 - b^3;
factor(f1)
f2 = (3*x^2 + 8*y^2)*(-x^2 + 3*y);
expand(f2)
f3 = 3*x^2 + 4*x^2 + 5*x^2*y;
collect(f3)
7.符号矩阵
% 符号矩阵
a1 = [x x + y; y y^2]
8.符号函数
a.符号函数值的求解
比如f1这个符号:
f1 = x^3 - 9
求在f1在x=3处的结果:
b.符号极限
我们使用limit函数来求符号极限,但是不建议使用因为速度非常慢。
c.符号微分
diff在富豪计算中是求解导数
可以diff(y1)求解导数,也可以diff(y2,2)求解二阶导数,diff(f3,3)求解三阶导数。
d.符号积分
直接使用int(y3)可以求解不定积分,当然也可以算定积分:eval(int(y4, 1, 2))
9.符号级数
a.符号级数求和
比如求解1/n^2的级数求和,各个参数的意思:1.通项,2.规定以哪个参数求和,3.4.求和范围
% 符号级数求和
syms n
f = 1/n^2;
s1 = symsum(f, n, 1, inf)
b.泰勒级数展开
各个参数的含义:1.符号表达式,2.以哪个变量展开(可以省去),3.展开到第几项,4.在什么位置展开
% 泰勒展开
syms x
y = (1 + x + x^2)/(1 - x + x^2);
taylor(y, 6, 1)
10.符号级数
a.符号代数方程和方程组
使用solve函数求解方程:
使用solve函数求解方程组:
b.符号常微分方程
Dy就是一阶导数,D2y就是二阶导数,依次类推。