在这一章中介绍如何使用matlab工具解方程
内容点包括:
- 解基本代数方程
- 符号方程绘图
- 方程展开与合并
解基本代数方程
命令:solve(equation, variable)
equation 是一个字符串,值是方程的表达式
variable (可选)指明 equation中哪个字符是变量,如果不填,matlab会自己默认选择一个作为变量
return 返回的数据格式是一个数组
例:
solve(‘x^2+2*x+1=a’,’x’)
ans =
a^(1/2) - 1
- a^(1/2) - 1
使用 double(ans(1))可以将形式化的解变成具体的数值
解方程组的命令拓展:
solve(equation1,equation2,……,equationn)
解返回的是一个结构体
其中包含每个变量的值
例:
struct with fields:
x: [1×1 sym]
y: [1×1 sym]
使用ans.x可以得到解x
使用ans.y可以得到解y
符号方程绘图
命令:ezplot(f,[x1, x2, y1, y1])
f 是表示表达式的字符串
[x1, x2, y1, y1] 表示定义域为[x1,x2],值域为[y1, y1]
自带title(表达式) 和x轴标号
方程展开与合并
方程展开:
命令:expand()
例:
syms x
expand((x - 1)*(x + 4))
首先定义x是必须的
方程合并同类项
命令:collect()
syms x;
collect(x*(x^2 - 2))扫描二维码关注公众号,回复: 2621376 查看本文章![]()
另一种用法:
collect(S,f)
表示从表达式S中提取出f,f也是一个表达式
注意只能直从表达式中提取(表达式S中包含表达式f),不能计算等价式的提取
f = -1/4*x*exp(-2*x)+3/16*exp(-2*x)
collect(f,exp(-2*x))
ans =
(3/16 - x/4)*exp(-2*x)
因式分解:
命令:factor()
可以传入单个的表达式,也可以传入一个数组,元素是多个表达式
例 :一般形式
factor([x^2-y^2, x^3+y^3])
化解表达式:
命令:
simplify() 用法同collect命令
求解级数
命令:
taylor(f,m)
f 是函数
m 是返回结果的项数