| 查看: 2078 | 回复: 5 | ||
| 当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖 | ||
[求助]
matlab程序运行总是出现下面的错误,请各位高手指点一下,谢谢了!急 急急
|
||
|
NIND=40; %个体数目 MAXGEN=500; %最大遗传代数 NVAR=7; %变量个数 GGAP=0.8; %代沟 %创建区域描述器 FielDR=[0.01,0.01,0.01,0.01,0.01,0.01,0.01;0.9,0.9,0.9,0.9,0.9,0.9,0.9] Chrom=crtrp(NIND,FielDR)%创建初始种群 A=Chrom(i,j); for j=1:40; sum(j)=0; for m=1:7; sum(j)=A(j,m)+sum(j); end; end for j=1:40 for i=1:7 Chrom(i,j)=A(i,j)/sun(j); end end; gen=0; %代计数器 ObjV=objfun_1(Chrom) %计算初始种群个体的目标函数值 while gen FitnV=ranking(ObjV) %分配适应度值 SelCh=select('sus',Chrom,FitnV,GGAP) %选择(随即遍历抽样) SelCh=recombin('xovsp',SelCh,0.7) %重组(单点交叉) SelCh=mutbga(SelCh,FielDR) %变异 ObjVSel=objfun_1(SelCh) %子代函数值 [Chrom ObjV]=reins(Chrom,SelCh,1,1,ObjV,ObjVSel) %重插入 gen=gen+1; [Y,I]=min(ObjV); %最优解,种群序号 Y w=(Chrom(I, ) %输出自变量值end w 该段程序 运行错误显示 Undefined function or method 'crtrp' for input arguments of type 'double'. function f=objfun_1(w) R51=[7.5 0.15 3.0 0.002 1.0 0.010 0.1 12.80 0.13 0.65 2.73 3.60 0.07 2.92 11.20 0.27 0.5 0.68 5.70 0.09 0.98 13.20 0.44 0.3 2.18 5.30 0.08 2.78 9.90 0.20 0.5 1.09 5.40 0.06 3.04 11.70 0.31 0.35 0.55 5.70 0.15 3.57 9.00 0.27 0.35 1.37 7.30 0.09 1.41 10.70 0.43 0.35 3.82 7.40 0.14 2.70 8.70 0.27 0.3 2.05 6.20 0.10 2.69 11.60 0.47 0.2 1.91 9.50 0.22 2.21 9.70 0.28 0.35 4.50 9.80 0.17 1.81 9.90 0.39 0.3 3.69 7.60 0.18 2.23 6.80 0.60 0.3 4.91 9.60 0.27 1.36 6.00 0.35 0.65 7.10 11.80 0.16 1.40 6.70 0.63 0.5 4.37 9.80 0.30 1.62 14.00 1.55 0.5 9.56 8.30 0.22 2.99 9.00 0.73 0.6 1.09 9.60 0.21 2.67 10.90 0.50 0.65 12.01 9.20 0.28 2.02 10.90 0.55 0.35 5.19 6.00 0.16 1.72 8.10 0.78 0.5 8.19 8.90 0.22 2.12 14.90 0.55 0.5 8.46 10.80 0.19 2.27 11.30 0.24 0.35 5.46 6.60 0.15 1.01 12.50 0.90 0.5 1.75 5.70 0.10 3.19 9.60 0.49 0.35 3.28 8.00 0.14 1.85 11.20 0.68 0.65 7.50 8.20 0.18 2.27]; A1=R51 sizes=size(A1)%统计行列数 row=sizes(1); col=sizes(2); [aa,b]=size(w); %决策矩阵规范化 sum=0; for j=1:7; for m=1:25; a=A1(m,j)*A1(m,j); sum=a+sum; end; b=sqrt(sum); for i=1:25 R1(i,j)=A1(i,j)/b; end; end; %运用目标函数法确定权重系数 sumx=0; x1(1:col)=0; for mm=1:aa; sum=0; for j=1:col for i=2:row xa(j)=(R1(i,j)-R1(1,j))^2; %每列中的每个元素与第一个元素的差取平方,即目标函数 x1(j)=x1(j)+xa(j);% end sumx(j)=x1(j)*w(m,j)*w(m,j);%目标函数之和 sum=sum+sumx(j); end f(mm,1)=sum end 这段程序运行错误显示??? Input argument "w" is undefined. |
» 本帖已获得的红花(最新10朵)
» 猜你喜欢
需要合成515-64-0,50g,能接单的留言
已经有5人回复
上海工程技术大学【激光智能制造】课题组招收硕士
已经有6人回复
带资进组求博导收留
已经有11人回复
自荐读博
已经有5人回复
求个博导看看
已经有16人回复
上海工程技术大学张培磊教授团队招收博士生
已经有4人回复
求助院士们,这个如何合成呀
已经有4人回复
临港实验室与上科大联培博士招生1名
已经有9人回复
写了一篇“相变储能技术在冷库中应用”的论文,论文内容以实验为主,投什么期刊合适?
已经有6人回复
最近几年招的学生写论文不引自己组发的文章
已经有11人回复
» 本主题相关价值贴推荐,对您同样有帮助:
matlab 求指点 动力学方程拟合过程中导数的获取
已经有10人回复
求助一简单matlab程序的出错问题,谢谢
已经有3人回复
请高手指点一下,一个加氢键精修的问题,软件加氢键后运行不了
已经有15人回复
采用matlab中nlinfit拟合,出现问题了,不知道是哪错了,该怎么解决,求高手指点一下
已经有9人回复
同样的MATLAB程序,为何在别人的电脑上运行不了
已经有21人回复
利用origin 拟合曲线求参数,程序老出现错误,急死了,求各位高手指点!
已经有7人回复
matlab中运行提示出错,请求高手指点
已经有8人回复
【求助】请高手指点一下vc++的一部分程序,看看哪有错误,急急。。。。。。。。。。
已经有6人回复
【求助】用matlab编程,需要将数据自检分类(高手进来指点下)
已经有5人回复
【求助】请教一个matlab程序,谢谢帮忙!!
已经有15人回复
【求助】matlab程序运行出错,是怎么回事啊【已完结】
已经有6人回复
【答案】应助回帖
jjdg: 建议直接给出答案,而不是其他论坛的链接 2011-10-16 23:37:58

4楼2011-10-16 09:06:28
libralibra
至尊木虫 (著名写手)
骠骑将军
- 程序强帖: 40
- 应助: 817 (博后)
- 金币: 12914.1
- 红花: 64
- 帖子: 2238
- 在线: 287.3小时
- 虫号: 696514
- 注册: 2009-02-05
- 专业: 计算机软件

2楼2011-10-16 00:32:22
|
我的这个程序就是调用的objfun_1(w)那个程序 现在的问题就是想让w之和为1,也就是从A=Chrom(i,j);到 gen=0; 上一行的end这一段循环使得chrom里每行的7个数之和为1,共40行 NIND=40; %个体数目 MAXGEN=500; %最大遗传代数 NVAR=7; %变量个数 GGAP=0.8; %代沟 %创建区域描器 FielDR=[0.01,0.01,0.01,0.01,0.01,0.01,0.01;0.9,0.9,0.9,0.9,0.9,0.9,0.9] Chrom=crtrp(NIND,FielDR);%创建初始种群 A=Chrom(i,j); for j=1:40; sum(j)=0; for m=1:7; sum(j)=A(j,m)+sum(j); end; end for j=1:40 for i=1:7 Chrom(i,j)=A(i,j)/sum(j); end end; gen=0; %代计数器 ObjV=objfun_1(Chrom); %计算初始种群个体的目标函数值 while gen FitnV=ranking(ObjV); %分配适应度值 SelCh=select('sus',Chrom,FitnV,GGAP); %选择(随即遍历抽样) SelCh=recombin('xovsp',SelCh,0.7); %重组(单点交叉) SelCh=mutbga(SelCh,FielDR); %变异 ObjVSel=objfun_1(SelCh); %子代函数值 [Chrom ObjV]=reins(Chrom,SelCh,1,1,ObjV,ObjVSel); %重插入 gen=gen+1; [Y,I]=min(ObjV); %最优解,种群序号 Y w=(Chrom(I, ) %输出自变量值end w ??? Subscript indices must either be real positive integers or logicals. Error in ==> yichuansuanfa at 8 A=Chrom(i,j); |
3楼2011-10-16 09:03:09
5楼2011-10-17 17:03:07







) %输出自变量值
回复此楼
一生快乐