Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2009-09-30, 09:36   #1
qjjqh
初级会员
 
注册日期: 2009-05-22
年龄: 41
帖子: 10
声望力: 16
qjjqh 正向着好的方向发展
默认 一个函数运行小问题,请教高人给指点一下

在编写一个模拟退火算法时,有一个函数调用时报错如下"??? Attempt to execute SCRIPT an11 as a function.

Error in ==> sa_0930 at 6
f1=an11(x1);"


两函数如下:
这是an11.m函数
functon y=aneal_f1(x)
y=100*(x(1)^2-x(2))^2+(1-x(1))^2;
下面是主函数
x1=[1 1];
T=10000;
a=0.9;
N=1;
while T>1
f1=an11(x1);
x2(1)=x1(1)+0.2*(rand-0.5);
x2(2)=x1(2)+0.2*(rand-0.5);
f2=an11(x2);
if f2-f1<0
T=T*a;
x1=x2;
cc(N)=f2;
N=N+1;
elseif exp((f1-f2)/T)>rand
T=T*a;
x1=x2;
cc(N)=f2;
N=N+1;
end
end
f1=an11(x1);
disp('The result are:')
disp('x(1) x(2)')
disp(x1)
disp('The objective fuction is:')
disp(f1)
tt=1:N-1;
plot(tt,cc)
time1=datestr(now)
mm=1;
while mm<=1000
aneal_f1;
opf(mm)=f1;
mm=mm+1;
end
time2=datestr(now)
min(opf)
max(opf)
mean(opf)
qjjqh 当前离线   回复时引用此帖
旧 2009-09-30, 09:56   #2
slgu
高级会员
 
注册日期: 2007-06-24
年龄: 70
帖子: 188
声望力: 21
slgu 正向着好的方向发展
默认 回复: 一个函数运行小问题,请教高人给指点一下

在an11.m中,function 写错了!
slgu 当前离线   回复时引用此帖
旧 2009-09-30, 23:59   #3
qjjqh
初级会员
 
注册日期: 2009-05-22
年龄: 41
帖子: 10
声望力: 16
qjjqh 正向着好的方向发展
默认 回复: 一个函数运行小问题,请教高人给指点一下

很感谢,的确是自己粗心了,没想到会是这个问题,得教训了
qjjqh 当前离线   回复时引用此帖
回复

主题工具
显示模式

发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 02:35


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.