【MATLAB与机械设计】一维优化之牛顿法
牛顿法在一维探索中的应用是利用二次函数来逐点近似原目标函数,以二次函数的极小点来近似原目标函数的极小点并逐渐逼近该点,是用切线代替弧线逐渐逼近函数根值的方法。

1.迭代步骤
2,程序框图:

3,MATLAB可执行程序
clear; clc;
%% 程序说明
%{
本函数为牛顿法求解一维函数的极小值
其中f为所求的目标函数
x0为初值
exp为精度对于牛顿法有以下特点:
1)、收敛速度快
2)、对初值要求较高,即初值点应该距离极小值点较近%}
%% 变量输入
syms f x
%目标函数
f=(1/4)*(x^4)+(-2/3)*(x^3)+(-2)*(x^2)+(-7*x)+8;
%初值
x0=-12918;
%精度
exp=0.00005;
%% 程序主体
f_d1=diff(f,1);
f_d2=diff(f,2);
while 1fz_d1=subs(f_d1,x,x0);fz_d2=subs(f_d2,x,x0);if abs(fz_d1) < expx_min=x0;break;elsex0=x0-(fz_d1)/(fz_d2);end
end
x_min
f_min=subs(f,x,x_min)
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
