MATLAB---非线性方程求解与函数极值运算

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

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

2.非线性方程组求解fsolve

3.求函数极值

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

有约束条件最优化求解fmincon

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

MATLAB---非线性方程求解与函数极值运算_第1张图片

MATLAB---非线性方程求解与函数极值运算_第2张图片

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

2.非线性方程组求解fzero

MATLAB---非线性方程求解与函数极值运算_第3张图片

 MATLAB---非线性方程求解与函数极值运算_第4张图片

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

MATLAB---非线性方程求解与函数极值运算_第5张图片

 MATLAB---非线性方程求解与函数极值运算_第6张图片

 3.求函数极值

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

3.1无约束最优化问题

MATLAB---非线性方程求解与函数极值运算_第7张图片

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

MATLAB---非线性方程求解与函数极值运算_第8张图片

3.2有约束最优化问题

MATLAB---非线性方程求解与函数极值运算_第9张图片

MATLAB---非线性方程求解与函数极值运算_第10张图片

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---非线性方程求解与函数极值运算_第11张图片

你可能感兴趣的:(matlab)