subs函数用法
matlab中的subs函数是符号计算函数,表示将符号表达式中的某些符号变量替换为指定的新的变量,常用的调用格式为:
subs(s,old,new)表示将符号表达式s中的符号变量old替换为新的值new
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()函数的用法
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
。
下面看几个例子:
例一:
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)