MATLAB---非线性方程求解与应用

本篇参考于:中国大学慕课,专题六,“6.4MATLAB---非线性方程求解与应用”

1.单变量非线性方程求解fzero

2.非线性方程组求解fsolve

3.求函数极值

无约束条件最优化求解fminbnd,fminsearch,fiminunc

有约束条件最优化求解fmincon

1.单变量非线性方程求解

MATLAB---非线性方程求解与应用

MATLAB---非线性方程求解与应用 

MATLAB---非线性方程求解与应用

 注:fzero执行的是一个数值搜索的过程,搜索结果依赖于函数特性和指定的初始值。

2.非线性方程组求解fzero

MATLAB---非线性方程求解与应用

 MATLAB---非线性方程求解与应用

使用fssolve求解时,赋初值0.1会得到正确结果 ,fzero函数无法得到正确结果,因为不同函数的实现方法不同,适用的场合也不同,多角度选择和分析是必要的。 display设置为off为不显示中间结果。

MATLAB---非线性方程求解与应用

 MATLAB---非线性方程求解与应用

 3.求函数极值

matlab不直接提供求极大值,但是可以通过求极小值来求极大值-f(x)

3.1无约束最优化问题

MATLAB---非线性方程求解与应用 

第一个格式求x1到x2的极小值xmin和最小值fmin是求一元函数,第二个格式是基于单纯性算法,求多元函数求x0的极小值xmin和最小值fmin,第三个格式是基于拟牛顿法求多元函数的x0的极小值xmin和最小值fmin。

MATLAB---非线性方程求解与应用

MATLAB---非线性方程求解与应用

3.2有约束最优化问题

MATLAB---非线性方程求解与应用

MATLAB---非线性方程求解与应用

f=@(x) 0.4.*x(2)+x(1).^2+x(2).^2-x(1).*x(2)+1./30*x(1).^3
x0=[0.5;0.5]%f([0.5,0.5]) %调用函数,fsolve的f0处为[0.5,0.5]
A=[-1,-0.5;-0.5,-1] %不等式约束A(左)
b=[-0.4;-0.5] %不等式约束B(右)
lb=[0;0] %该题只有x下界
option=optimset('Display','off')
[xmin,fmin]=fmincon(f,x0,A,b,[],[],lb,[],[],option) 

MATLAB---非线性方程求解与应用

 

上一篇:C#入门系列(四)——变量与常量


下一篇:求解贝塞尔函数的零点