【求助】矩阵赋值后任为empty
错误提示:??? Subscript indices must either be real positive integers or logicals.
Error in ==> test11 at 1404
disp(sprintf('第%d次运行:找到的最优值J:%.10f,实际的函数最优值是0,收敛门槛是%.8f',iii,findJ(end),threshold));
就是说里面的findJ(end)的end为0.
之前的有 bestJ(k,n)=fi(indb(:,n),n);
。。。。。
findJ(k,1)=bestJ(k,1);......
其中k为1,findJ和bestJ有初始化: bestJ = []; findJ=[];
而fi(indb(:,n),n)为30x1 double。但是bestJ(k,n)=fi(indb(:,n),n);后bestJ认为 empty 0 x 0。
拜求高人解答。谢谢大家! 没看出disp有语法错误!
在disp前先看看相关变数(如iii,findJ,threshold)有无异常!
回复 沙发 ChaChing 的帖子
就是findJ有问题,为empty说明之前对findJ的赋值不成功。但是我不知道为什么。。。。。。。。。。。。。:@Q 原帖由 wujiang_lee 于 2009-12-26 17:09 发表 http://www.chinavib.com/forum/images/common/back.gif
...而fi(indb(:,n),n)为30x1 double。但是bestJ(k,n)=fi(indb(:,n),n);后bestJ认为 empty 0 x 0
若LZ确认fi(indb(:,n),n)为30x1 double, 则一定是bestJ(k,n)=fi(indb(:,n),n)有问题!?
但是别人又不知道n是多少? k是多少? 怎知道bestJ为何变成 empty 0 x 0 ???
至少个人没那麽强!:@)
回复 地板 ChaChing 的帖子
嘿嘿谢谢我找出问题了之前的一个while循环没有进入 导致有些语句没有执行
最近在做分层克隆 免疫优势结合模拟退火头大 恭贺了! 凡事都不要急
心细些多使用debug!
页:
[1]