【MATLAB】matlab中的subs()函数和solve()函数用法

subs函数用法

matlab中的subs函数是符号计算函数,表示将符号表达式中的某些符号变量替换为指定的新的变量,常用的调用格式为:
在这里插入图片描述
subs(s,old,new)表示将符号表达式s中的符号变量old替换为新的值new
【MATLAB】matlab中的subs()函数和solve()函数用法_第1张图片

s =x^2 + y^2
ans =y^2 + z^2
ans =z^2 + 1
ans =
[ y^2 + 1,  y^2 + 4]
[ y^2 + 9, y^2 + 16]

solve()函数的用法

【MATLAB】matlab中的subs()函数和solve()函数用法_第2张图片
 1.s = solve(eqn,var)求解变量var的方程eqn。
 2.s = solve(eqn,var,name,value)使用由一个或多个name,value对参数指定的附加选项。
 3.y = solve(eqns,vars)为变量vars求解方程组eqns,并返回包含解的结构。
 4.y = solve(eqns、vars、name、value)使用由一个或多个name、value对参数指定的附加选项。
 5.[y1,…,yn] = solve(eqns,vars)求解变量vars的方程组eqns。解被分配给变量y1,…,yn
 
注意:
eqn为要求解的方程,指定为符号表达式或符号方程。关系运算符==定义符号表达式。如果eqn是一个符号表达式(没有右侧),则解算器假设右侧为0,并求解方程eqn==0

下面看几个例子:
【MATLAB】matlab中的subs()函数和solve()函数用法_第3张图片
例一:

syms x                  %定义要求解的符号变量
eqn0 = x^2-2*x-3 == 0;  %要求解的为一个符号方程
solve(eqn0,x)           %指定要求解的变量为x

ans =
  3
 -1

例二:

syms x                      %定义要求解的符号变量
eqn1 = x^2 - 2*x - 3;       %要求解的为一个符号表达式
solve(eqn1)                 %求解的变量默认为x

ans =
  3
 -1

例三:

syms x                      %定义要求解的符号变量
eqn3 = x^4 + x^3 + 1;       %要求解的为一个符号表达式
s = solve(eqn3)             %求解的变量默认为x

s =
     0.5189127943851558447865795886366 - 0.666609844932018579153758800733*i
     0.5189127943851558447865795886366 + 0.666609844932018579153758800733*i
 - 1.0189127943851558447865795886366 - 0.60256541999859902604398442197193*i
 - 1.0189127943851558447865795886366 + 0.60256541999859902604398442197193*i

例四:

syms x                      %定义要求解的符号变量
eqn4 = x^4 + x^3 + 1 == 0;  %要求解的为一个符号表达式
s = solve(eqn4,x)           %指定要求解的变量为x

s =
     0.5189127943851558447865795886366 - 0.666609844932018579153758800733*i
     0.5189127943851558447865795886366 + 0.666609844932018579153758800733*i
 - 1.0189127943851558447865795886366 - 0.60256541999859902604398442197193*i
 - 1.0189127943851558447865795886366 + 0.60256541999859902604398442197193*i

PS:正确写法: s = solve('x^4 + x^3 + 1')
错误写法: s = solve(x^4 + x^3 + 1)

你可能感兴趣的:(MATLAB)