【matlab】科学计算与MATLAB语言(MOOC课程)笔记八

版权声明:转载时打个招呼。 https://blog.csdn.net/qq_15971883/article/details/81126874

专题七    符号计算

目录

一    符号对象

1. 符号对象的建立

1.1 sym函数

1.2 syms命令

2. 符号对象的运算

2.1 四则运算

2.2 关系运算

2.3 逻辑运算

2.4 因式分解与展开运算

2.5 其它运算


一    符号对象

1. 符号对象的建立

这里的符号对象包括符号常量和符号变量,在MATLAB中建立符号对象会用到函数sym()和命令syms。

1.1 sym函数

sym函数用于建立单个符号对象。其常用的调用格式为:符号对象名=sym(A),将由A来建立符号对象。其中,A可以是一个数值常量、数值矩阵、数值表达式(不加单引号),此时符号对象是一个符号常量;A也可以是一个变量名(加单引号),此时符号对象是一个符号变量。

举个例子:分别使用符号常量和符号变量。

右例中,如果希望将符号表达式转换为数值结果,可以使用eval函数,如下(接着右例继续编写):

1.2 syms命令

syms命令可以一次定义多个符号变量。其一般调用格式是:

syms  符号变量名1  符号变量名2 … 符号变量名n

其中,变量名不能加单引号,相互之间用空格隔开。例如,输入命令>>syms a b c d,生成4个符号变量之后,可以操作这4个变量,例如>>a = 5。

2. 符号对象的运算

2.1 四则运算

符号表达式的四则运算与数值运算一样,用+、-、*、/、^运算符实现,,其运算结果依然是一个符号表达式。

举个例子。

其结果ans仍然是一个符号表达式。

2.2 关系运算

  • 6种关系运算符:<、<=、>、>=、==、~=
  • 对应的6个函数是:lt()、le()、gt()、ge()、eq()、ne()

在进行符号对象的运算前,可用assume函数对符号对象设置值域,函数调用格式是:

  • assume(condition)
  • assume(expr, set)

第一种格式指定变量满足条件condition,第二种格式指定表达式expr属于集合set。

举个例子。

2.3 逻辑运算

  • 3种逻辑运算符:&(与)、|(或)、~(非)
  • 4个逻辑运算函数:and()、or()、not()、xor()

举个例子。

2.4 因式分解与展开运算

MATLAB提供了对符号表达式进行因式分解、展开、合并的函数,函数的调用格式为:

  • factor(s):对符号表达式s进行因式分解。
  • expand(s):对符号表达式s进行展开。
  • collect(s):对符号表达式s合并同类项。
  • collect(s, v):对符号表达式s按变量v合并同类项。

举个例子:因式分解a³-b³。

2.5 其它运算

  • 提取有理分式的分子分母:[n, d] = numden(s)。
  • 提取符号表达式的系数:c = coeffs(s, x)。
  • 符号表达式化简:simplify(s)。

猜你喜欢

转载自blog.csdn.net/qq_15971883/article/details/81126874
今日推荐