笔记中的某些代码和图片来自郭彦甫老师的视频和课件
目录:
一: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牛顿迭代法