7.1 符号对象
7.1.1 符号对象的建立
sym函数

符号计算的结果是一个精确的数学表达式,更像是一种符号推演,结果是完全精确的。
数值计算的结果是一个数值,是近似解。
syms命令

7.1.2 符号对象的运算

syms x;
f = 2*x^2 +3*x-5;
g = x^2+7;
f+g
结果:
3*x^2 + 3*x + 2


syms x;
assume(x<0);
abs(x) == x
结果
ans =
-x == x
assume(x,'positive');
abs(x) ==x
结果
ans =
x == x

两种方式得到的结果完全相同。

syms a b;
s = a^3 - b^3;
factor(s)
结果
ans =
[ a - b, a^2 + a*b + b^2]
factor (12)
结果
ans =
2 2 3

%梅森素数的验证问题。请验证M19 、 M23 、 M29 、 M31是否为梅森素数。
syms p;
m=2^p-1; %定义梅森数的公式
p=19;
m19=eval(m) %求M19的值
factor(m19) %验证是否为素数
p=23;
m23=eval(m)
factor(m23)
p=29;
m29=eval(m)
factor(m29)
p=31;
m31=eval(m)
factor(m31)
结果:
M19 M31是梅森素数,M23和M29不是。

%例1 求方程ax^2+bx+c=0的根。
syms a b c x;
f=a*x^2+b*x+c
g=coeffs(f,x) %提取表达式系数,系数从低次到高次
g=g(end:-1:1) %反转系数矩阵,由高次到低次排列
roots(g) %调用求根公式

7.1.3 符号矩阵

syms a b x y alp;
m = [a^3-b^3, sin(alp)^2+cos(alp)^2;(15*x*y-3*x^2)/(x-5*y),78]
m =
[ a^3 - b^3, cos(alp)^2 + sin(alp)^2]
[ (- 3*x^2 + 15*y*x)/(x - 5*y),
化简
simplify(m)
ans =
[ a^3 - b^3, 1]
[ -3*x, 78]
由于符号矩阵也是一个矩阵,所以有关矩阵的运算对符号矩阵也仍然适用,前面介绍过的点运算符和相关函数,如diag inv det rank trace等等都可以直接应用于符号矩阵。

%例2 当λ取何值时,以下齐次线性方程组有非零解。
syms lamda;
A=[1-lamda,-2,4;2,3


2472

被折叠的 条评论
为什么被折叠?



