24小时热门版块排行榜    

查看: 3031  |  回复: 9
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

shixin0403

银虫 (正式写手)

[求助] 模式搜索MATLAB程序

最近看了一篇 吴兴远《模式搜索法在最优化问题中应用》
想学习一下模式搜索法,特定的将吴的程序抄写出来,但是运行一直出错。
我用的MATLAB的版本是7.11.0
求助各位大侠,看看程序哪里出错了?
现将程序附下:
%1、编写m函数
function y = myfun(z,noise);
y=zeros(1,size(z,1));noise=1;
for i=1:size(z,1)
x=(z,;
if x(1)^2+x(2)^2<=25
y(i)=x(1)^2+x(2)^2-25+noise*randn;
elseif x(1)^2+(x(2)-9)^2<=16
y(i)=x(1)^2+(x(2)-9)^2-16+noise*randn;
else y(i)=0+noise*randn;
end end end
%2、确定初始点

%3、编写主程序
X0=[-8 8];
LB =[-10 -10];
UB =[10 15];
range=[LB(1) UB(1) LB(2) UB(2)];
Objfcn = @myfun;
Clf;showSmoothFcn(Objfcn,range); hold on;
Title('objective function')
fig = gcf;
PSoptions = psoptimset('Display','iter','OutputFcn',@psOut);
[x,z]=patternsearch(Objfcn,X0,[],[],[],[],LB,UB,Psoptions)
Figure(fig);
hold on;
plot3(x(1),x(2),z,'dr','MarkerSize',12,'MarkerFaceColor','r');
hold off;
回复此楼
朝着正确的方向奋斗!
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

shixin0403

银虫 (正式写手)

??? Error using ==> feval
Undefined function or method 'myfun' for input arguments of type 'double'.

Error in ==> showSmoothFcn at 23
values = feval(fcn,pop);

大侠,我将程序复制到MATLAB中,建立M文件,然后复制程序,但是结果是这样的?难道是我用的版本有问题?
朝着正确的方向奋斗!
7楼2012-05-28 22:05:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 10 个回答

shixin0403

银虫 (正式写手)

那个笑脸应该是:x=(z, : ) ;
朝着正确的方向奋斗!
2楼2012-05-25 21:25:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yuanmd

至尊木虫 (知名作家)

衔头义定自

【答案】应助回帖

感谢参与,应助指数 +1
function y = myfun(z,noise)
y=zeros(1,size(z,1));noise=1;
for i=1:size(z,1)
    x=z(i,;
    if x(1)^2+x(2)^2<=25
        y(i)=x(1)^2+x(2)^2-25+noise*randn;
    elseif x(1)^2+(x(2)-9)^2<=16
        y(i)=x(1)^2+(x(2)-9)^2-16+noise*randn;
    else y(i)=0+noise*randn;
    end
end



clc
X0=[-8 8];
LB =[-10 -10];
UB =[10 15];
range=[LB(1) UB(1);
    LB(2) UB(2)];
Objfcn = @myfun;
Clf;showSmoothFcn(Objfcn,range); hold on;
Title('objective function')
fig = gcf;
PSoptions = psoptimset('Display','iter','OutputFcn',@psOut);
[x,z]=patternsearch(Objfcn,X0,[],[],[],[],LB,UB,PSoptions);
figure(fig);
hold on;
plot3(x(1),x(2),z,'dr','MarkerSize',12,'MarkerFaceColor','r');
hold off;
梦想总是要有的,万一实现了呢?
3楼2012-05-26 18:31:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yuanmd

至尊木虫 (知名作家)

衔头义定自

【答案】应助回帖

人脸那行为     x=z(i,;
上面的程序 分别放到两个不同的文件中
梦想总是要有的,万一实现了呢?
4楼2012-05-26 18:33:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见