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递回函数

在这里插入图片描述

发布了6 篇原创文章 · 获赞 0 · 访问量 208

猜你喜欢

转载自blog.csdn.net/qq_45793719/article/details/104377516
今日推荐