MATLAB 求目标函数最优解试编制程序实现黄金分割法,并求目标函数F(x) = x2 −4x+4的最优解.给定的初始区间为[−10 10],收敛精度ε = 0.001 .希望帮忙做出程序代码

来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/27 04:26:03
MATLAB求目标函数最优解试编制程序实现黄金分割法,并求目标函数F(x)=x2−4x+4的最优解.给定的初始区间为[−1010],收敛精度ε=0.001.希望帮忙做出程序代码

MATLAB 求目标函数最优解试编制程序实现黄金分割法,并求目标函数F(x) = x2 −4x+4的最优解.给定的初始区间为[−10 10],收敛精度ε = 0.001 .希望帮忙做出程序代码
MATLAB 求目标函数最优解
试编制程序实现黄金分割法,并求目标函数F(x) = x2 −4x+4的最优解.给
定的初始区间为[−10 10],收敛精度ε = 0.001 .
希望帮忙做出程序代码

MATLAB 求目标函数最优解试编制程序实现黄金分割法,并求目标函数F(x) = x2 −4x+4的最优解.给定的初始区间为[−10 10],收敛精度ε = 0.001 .希望帮忙做出程序代码
function [p,u]=nlp618(f_name,a,b,e)
%//////////////////////////////////////////////////
%输入f_name为函数名,[a,b]初始区间,e为最小区间要求
%输出p为所有的计算情况,u为最优解,表示x,step为计算步骤
%//////////////////////////////////////////////////
a(1)=a;
b(1)=b;
L=e;
t(1)=a(1)+0.382*(b(1)-a(1));
u(1)=a(1)+0.618*(b(1)-a(1));
k=1;
m(1)=feval(f_name,t(1));
n(1)=feval(f_name,u(1));
while(b(k)-a(k)>L)
if(m(k)>n(k))
a(k+1)=t(k);
b(k+1)=b(k);
t(k+1)=u(k);
u(k+1)=a(k+1)+0.618*(b(k+1)-a(k+1));
else
a(k+1)=a(k);
b(k+1)=u(k);
u(k+1)=t(k);
t(k+1)=a(k+1)+0.382*(b(k+1)-a(k+1));
end
m(k+1)=feval(f_name,t(k+1));
n(k+1)=feval(f_name,u(k+1));
ans=feval(f_name,t(k+1));
k=k+1;
end
t(k)=0;
u(k)=0;
m(k)=0;
n(k)=0;
p=[a',b',t',u',m',n'];
ans=(a(k)+b(k))/2;
step=k-1
%函数
function y=f1(x)
y=x^2-4*x+4;
//////////////////////////////////////////////////////////////////////
运行结果
>> [p,u]=nlp618('f1',-10,10,0.001)
step =
21
p =
-10 10 -2.36 2.36 19.01 0.1296
-2.36 10 2.36 5.2785 0.1296 10.748
-2.36 5.2785 0.5579 2.36 2.0797 0.1296
0.5579 5.2785 2.36 3.4752 0.1296 2.1763
0.5579 3.4752 1.6723 2.36 0.10738 0.1296
0.5579 2.36 1.2463 1.6723 0.56806 0.10738
1.2463 2.36 1.6723 1.9346 0.10738 0.0042814
1.6723 2.36 1.9346 2.0973 0.0042814 0.0094681
1.6723 2.0973 1.8347 1.9346 0.027337 0.0042814
1.8347 2.0973 1.9346 1.997 0.0042814 9.1529e-006
1.9346 2.0973 1.997 2.0351 9.1529e-006 0.0012347
1.9346 2.0351 1.973 1.997 0.00072978 9.1529e-006
1.973 2.0351 1.997 2.0114 9.1529e-006 0.00012988
1.973 2.0114 1.9877 1.997 0.00015231 9.1529e-006
1.9877 2.0114 1.997 2.0023 9.1529e-006 5.4217e-006
1.997 2.0114 2.0023 2.0059 5.4217e-006 3.4659e-005
1.997 2.0059 2.0004 2.0023 1.4382e-007 5.4217e-006
1.997 2.0023 1.999 2.0004 9.6081e-007 1.4382e-007
1.999 2.0023 2.0004 2.0011 1.4382e-007 1.1333e-006
1.999 2.0011 1.9998 2.0004 3.9646e-008 1.4382e-007
1.999 2.0004 1.9995 1.9998 2.1243e-007 3.9646e-008
1.9995 2.0004 0 0 0 0
u =
2
最优解在x=2
f(x)=0

MATLAB 求目标函数最优解试编制程序实现黄金分割法,并求目标函数F(x) = x2 −4x+4的最优解.给定的初始区间为[−10 10],收敛精度ε = 0.001 .希望帮忙做出程序代码 什么是目标函数最优解? 谁帮我改一下matlab程序function [x,f]=DCmin(c,A,b,AR,y0,d)% x:最优解% f:目标函数最优值% c:目标函数系数向量% A:系数矩阵% b:m维列向量% AR:松弛变量系数矩阵% y0:基矩阵初始向量% d:补充向量(非目标系 高中目标函数可行域最优解 用matlab写个powell优化算法的程序,目标函数是多元的,而寻找最优步长时只针对一元函数,怎么二元转一元 matlab 不等式 求解目标函数最优解举个例子;X1+X2+X3 = 99求目标函数 X1 + X2 - X3 最大 时 X1 X2 X3 的取值(实际上我要解的不等式有很多组,目标函数也复杂点)我不太会用matlab... 急求遗传算法或者matlab或者能解最优函数的高手! 如何求目标函数在可行域中的最优解?就是...平移时怎么确定移至哪点得到最优解? 用matlab写个powell优化算法的程序,目标函数是多元的,而寻找最优步长时只针对一元函数,怎么二元转一元obj=@(lam)f(x0+s*lam)老是叫用这个? 用matlab和lingo求最优解哪个更好用? 一个关于用matlab求函数最优解的问题如图,下边为已知条件,求出式中函数的最优解(X,Y)的输出值,只能用matlab 什么叫目标函数的最大值及对应的最优解?最优解不就是最大值或者最小...什么叫目标函数的最大值及对应的最优解?最优解不就是最大值或者最小值吗? 目标函数的lingo语句(0-1变量)是不是写错了啊求大神指点!运行出的结果是没有计算运费的最优方案,但是不知道错在哪里…本程序是模型Ⅰ中张三的程序;model:最优网购问题;sets:定义变量部 求解释运筹学的对偶定理,若原问题有最优解,那么对偶问题也有最优解;且目标函数值相等.请解释下为什么?越详细越好. matlab:出现错误Function definitions are not permitted in this context怎么回事?坐标轮换法的matlab程序[转]用坐标轮换法求最优解:y=x1^2+x2^2-x1*x2-10*x1-4*x2+60的最优解,初始点为:[0;0],精度为0.01%总程序x0=[0,0] 线性规划问题中,为什么会出现目标函数取最优解有无穷个的情况? 求用MATLAB编制方程求根的二分法和Newton法的 Matlab 程序!求用MATLAB编制方程求根的二分法和Newton法的 Matlab 程序.利用所编制的程序,的最小正根,要求精度 .其中二分法的有根区间取为 【4.0,4.6】, MATLAB求最小二乘法所建立的目标函数的方法?