MATLAB学习笔记(五)方程求根

笔记中的某些代码和图片来自郭彦甫老师的视频和课件
目录:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200218172059797.png

一:Symbolic approach符号求解

1.1 sym or syms

syms x
x+x+x
ans =3*x

另一种

x=sym(‘x’);
x+x+x
ans =3*x

使x成为一个符号

1.2 solve

求 y=x*sin(x)-x=0的根![在这里插入图片描述](https://img-blog.csdnimg.cn/20200218163636253.png这里是引用

solve(y,x)得到的也是一个symbolic

1.3 解方程组

解方程组:在这里插入图片描述

syms x y;
eq1=x-2*y-5;
eq2=x+y-6;
A=solve(eq1,eq2,x,y)

在这里插入图片描述

1.4 代数式求解

求解 :ax^2-b=0

  • 默认求x的值

syms x a b
solve(‘a*x^2-b’)

在这里插入图片描述

  • 如果求b的值,及b是未知的

syms x a b
solve(‘a*x^2-b’,‘b’)

在这里插入图片描述

  • 练习

syms x a b r
solve(’(x-a)^2 +(y-b)^2 -r^2’)

在这里插入图片描述

1.5 用symbolic求微积分

  • diff(y):可得y函数的导数

syms x
y=4*x^5;
yprime=diff(y)

在这里插入图片描述

  • int(y):可得y函数的不定积分

在这里插入图片描述这里是引用

二:Numeric root solver数值求解

2.1 fsolve:更实用于求解线性方程组

f2=@(x) (1.2x+0.3+xsin(x));
[a b]=fsolve(f2,0)

在这里插入图片描述
在这里插入图片描述
[x,fval,exitflag]=fsolve(fun,x0,options)
其中fun是方程,x0是初值,需要提前设定,options是一些设定要求,可以用optimset函数来实现;

2.2 fzero

这里是引用
在这里插入图片描述

  • options = optimset(‘param1’,value1,‘param2’,value2,…) %设置所有参数及其值,未设置的为默认值
  • MaxIter ::positive integer :最大迭代次数
  • TolFun :positive scalar:函数迭代的终止误差…

2.3 roots

这里是引用

2.4 深入了解求根内部程序

2.4.1 bisection method二分法

在这里插入图片描述
在这里插入图片描述

2.4.2 Newton-Raphson牛顿迭代法

在这里插入图片描述
在这里插入图片描述

三:Recursive function递回函数

在这里插入图片描述

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值