MATLAB学习记录1 [第三章 符号运算]

为了加深印象就把学的东西再敲一遍,开始吧!

第三章 MATLAB的符号运算

3.4 方程求解
3.4.1 代数方程
利用符号表达式解代数方程
solve(f) %解符号方程式f
例 求f(x)=ax^2+bx+c 的根

syms a b c x
f = ax^2+bx+c
solve(f)
ans =
-(b + (b^2 - 4ac)^(1/2))/(2a)
-(b - (b^2 - 4
ac)^(1/2))/(2a)
solve(f,a) %指定要求解的变量、
ans =
-(c + b*x)/x^2

solve 解方程时,默认求解表达式为0的方程,即ax^2+bx+c=0
在输入到MATLAB中需要将原方程的等号用双等号代替

solve(1+x==sin(x))
ans =
-1.9345632107520242675632614537689 %对有等号的符号方程式求解

对于含有周期函数的方程求解时,虽然本身有无穷多个解,但是MATLAB只求出零附近的有限几个解。

solve(sin(x)==1/2)
ans=
pi/6
(5*pi)/6

求解方程组的命令为
solve(f1,f2,…fn) 解由f1,…,fn,组成的代数方程组
例 求解方程
{x+y+z=10
x-y+z=0 的解
z*x-y-z=-4

syms x y z
eq1=x+y+z==10;
eq2=x-y+z == 0;
eq3=2*x-y-z == -4;
[x,y,z]=solve(eq1,eq2,eq3) %解三个联立方程式
x =2
y = 5
z =3

3.4.2 常微分方程
dsolve(‘equation’,‘condition’) equation 代表常微分方程式,condition为初始条件,如果未给出初始条件,则会解出通解形式。
在函数dsolve所包含的equation中,用字母D来表示求微分,其后的数字表示几重微分,后面的变量为因变量,如Dy代表一阶微分项y’ D2y代表二阶微分项y’’ ,并默认所有这些变量都是对自变量t求导。
例 求微分方程y’=5的通解

dsolve(‘Dy=5’)
警告: Support of character vectors and strings will be removed in a future release. Use sym objects to define differential equations instead.
对字符向量和字符串的支持将在未来的版本中删除。使用sym对象来定义微分方程。
位置:dsolve (第 126 行)
ans=C1 + 5*t

dsolve(‘Dy=x’,‘x’) %求微分方程y’=x 的通解 指定x为自变量
ans=x^2/2 + C1

dsolve(‘D2y=1+Dy’) %求微分方程y’‘=1+y’
ans = C1 - t + C2*exp(t) - 1
dsolve(‘D2y=1+Dy’,‘y(0)=1’,‘Dy(0)=0’) %解方程组,加初始条件
ans = exp(t) - t

dsolve函数用于微分方程组的求解

[]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值