function [x,minf] = minSimpSearch(f,X,alpha,sita,gama,beta,var,eps)
format long;
if nargin == 7
eps = 1.0e-6;
end
N = size(X);
n = N(2);
FX = zeros(1,n);
while 1
for i=1:n
FX(i) = Funval(f,var,X(:,i));
end
[XS,IX] = sort(FX);
Xsorted = X(:,IX);
px = sum(Xsorted(:,1:(n-1)),2)/(n-1);
Fpx = Funval(f,var,px);
SumF = 0;
for i=1:n
SumF = SumF + (FX(IX(i)) - Fpx)^2;
end
SumF = sqrt(SumF/n);
if SumF <= eps
x = Xsorted(:,1);
break;
else
x2 = px + alpha*(px - Xsorted(:,n));
fx2 = Funval(f,var,x2);
if fx2 < XS(1)
x3 = px + gama*(x2 - px);
fx3 = Funval(f,var,x3);
if fx3 < XS(1)
Xsorted(:,n) = x3;
X = Xsorted;
continue;
else
Xsorted(:,n) = x2;
X = Xsorted;
continue;
end
else
if fx2 < XS(n-1)
Xsorted(:,n) = x2;
X = Xsorted;
continue;
else
if fx2 < XS(n)
Xsorted(:,n) = x2;
end
x4 = px + beta*(Xsorted(:,n) - px);
fx4 = Funval(f,var,x4);
FNnew = Funval(f,var,Xsorted(:,n));
if fx4 < FNnew
Xsorted(:,n) = x4;
X = Xsorted;
continue;
else
x0 = Xsorted(:,1);
for i=1:n
Xsorted(:,j) = x0 + sita*(Xsorted(:,j) - x0);
end
end
end
end
end
X = Xsorted;
end
minf = Funval(f,var,x);
format short;
阿里matlab建模师
- 粉丝: 4616
- 资源: 2870
最新资源
- 基于java的在线动漫信息平台设计新版源码+数据库+说明
- 基于java的点餐平台网站设计新版源码+数据库+说明
- 基于java的家具销售电商平台设计新版源码+数据库+说明
- 基于java的口腔管家平台设计新版源码+数据库+说明
- 基于java的教师人事档案管理系统设计新版源码+数据库+说明
- 基于java的考研资讯平台设计新版源码+数据库+说明
- 基于java的垃圾分类网站设计新版源码+数据库+说明
- 基于java的汽车租赁系统设计新版源码+数据库+说明
- 基于java的旅游管理系统设计新版源码+数据库+说明
- 基于java的外卖点餐系统设计新版源码+数据库+说明
- 基于java的体质测试数据分析及可视化设计新版源码+数据库+说明
- SAP 仓库管理WM模块常用T-code详细步骤解析
- 基于java的商务安全邮箱邮件收发设计新版源码+数据库+说明
- 基于java的校园博客系统设计新版源码+数据库+说明
- 基于java的校园闲置物品交易网站设计新版源码+数据库+说明
- 基于java的校园闲置物品租售系统设计新版源码+数据库+说明
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈