《matlab揭秘》解方程笔记

在这一章中介绍如何使用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 是返回结果的项数

猜你喜欢

转载自blog.csdn.net/Clark_Fitz817/article/details/81217565