声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 3297|回复: 8

[综合讨论] MATLAB7.0遗传算法工具箱的函数调用与6.5有哪些不同?

[复制链接]
发表于 2007-6-19 13:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
我用的是7.0版本的,遗传算法工具箱是自己添加的,在进行优化计算时,总是出现
??? Index exceeds matrix dimensions.
Error in ==> f at 5
    x=sol(1:numv);
Error in ==> fitness at 7
eval=f(x);
Error in ==> initializega at 41
  eval(estr);
Error in ==> myga at 5
initPop=initializega(10,bounds,'fitness');
的错误提示,不知道到底是哪错了
我的源程序是
%建立rs.m文件,对燃烧进行神经网络建模
clear; clc;
%P为网络输入值,每行代表前五个数代表负荷的时间序列,后五个数代表燃料量的时间序列
P=[
    0.6957    0.9638         0    0.6087    0.8551    0.6014    0.7319    1.0000;   
    0.0769    1.0000    0.2154         0    0.1558    0.0212    0.1481    0.0865;   
    0.9540         0    0.1970    1.0000    0.9573    0.8013    0.9573    0.9409;   
    0.9701    0.7803    0.0106    1.0000    0.9740         0    0.9624    0.9615;   
    0.6196    0.2174         0    0.2609    0.2609    0.5761    0.8913    1.0000;   
    0.5862    0.2241         0    0.1207    0.9655    0.4828    1.0000    1.0000;   
    0.1101    1.0000    0.5755    0.0094    0.2767    0.0943    0.1918    0.2075;         
    0.9398         0    0.2708    0.9329    0.8981    0.8912    0.9861    1.0000;   
    0.9735    0.8827         0    0.8761    0.9624    0.9867    0.9425    0.9403;   
    0.4259    0.1667    0.4630    0.3148         0    0.9074    0.8333    1.0000];
  
%T为网络的目标值,代表NOx排放量的时间序列
T=[ 0.1000    0.2500    1.0000    0.5000    0.3000         0    0.6500    0.5250;      
    0.3455    0.5273         0    0.5455    0.5273    0.3455    1.0000    0.5636;   
    0.8169    0.5634    0.4507    0.8028         0    0.5775    1.0000    0.8310;   
    0.3766    0.4805    1.0000    0.4545    0.0260         0    0.8831    0.4545;   
         0    1.0000    0.4082    0.7755    0.5102    0.7959    0.5102    0.4490];

threshold=[0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1];  %初始化网络
%定义网络隐层为21个神经元,输出神经元为5,隐层传递函数为tansig,输出层传递函数为logsig,用函数trainlm训练网络
rsnet=newff(threshold,[21,5],{'tansig','logsig'},'trainlm');
inputWeights=rsnet.IW{1,1} %  当前输入层权值和阈值
inputbias=rsnet.b{1}
layerWeights=rsnet.LW{2,1} %  当前网络层权值和阈值
layerbias=rsnet.b{2}
rsnet.trainParam.epochs=1000; %最大训练次数为1000次
rsnet.trainParam.goal=0.01; %最大误差为0.01
LP.lr=0.1; %学习率0.1
[rsnet,tr]=train(rsnet,P,T); %训练网络
%测试值P_test,每行代表前五个数代表负荷的时间序列,后五个数代表燃料量的时间序列
P_test=[248.8 287.1; 251.4 251.5; 296.7 256.7; 296.4 298.5; 265.3 265.4;
       112.3 116.1; 103.5 106.5; 140.9 139.4; 132.5 135.3; 120.8 119.1];

Y=sim(rsnet,P_test); %仿真
%对网络输出值进行归一处理,originT的每一行前五个数代表给煤量的目标值,后五个数代表NOx排放量的目标值
originT=[ 631  631.2; 648 647; 657 654.8; 658 655; 644 642];
for i=1:1:size(Y,2)
Y(:,i)=Y(:,i)*(max(originT(:,i))-min(originT(:,i)))+min(originT(:,i));
end
Y  %输出归一后的输出值,即预测的NOx排放量的时间序列
%建立f.m文件
%计算神经网络模型输出的matlab代码
function [eval]=f(sol)
    numv=size(sol,1);  x=sol(1:numv);
    eval=sim(rsnet,x) %eval=后为神经网络模型输出 。
%建立fitness.m文件, 适应度函数的matlab代码
function [sol,eval]=fitness(sol,options)
numv=size(sol,1)-1; x=sol(1:numv);
eval=f(x); eval=-eval;
%建立myga.m文件
%遗传函数有10个约束,分别为负荷量与燃料量在经济工况内的变化范围
bounds=ones(10,1)*[0 1]
initPop=initializega(10,bounds,'fitness');
[p,endPop,bestSols]=ga(bounds,'fitness',[], initPop,[1e-600], maxGenTerm,100,...
normGeomSelect,[0.08], [simpleXover],[0.4], binaryMutation,[0.1])

[ 本帖最后由 ChaChing 于 2009-3-22 10:45 编辑 ]
回复
分享到:

使用道具 举报

发表于 2007-6-19 13:09 | 显示全部楼层
原帖由 伊冰 于 2007-6-19 13:06 发表
我用的是7.0版本的,遗传算法工具箱是自己添加的,在进行优化计算时,总是出现
??? Index exceeds matrix dimensions.
Error in ==> f at 5
    x=sol(1:numv);
Error in ==> fitness at 7
eval=f(x);
Err ...


看这个:常见的程序出错问题整理
 楼主| 发表于 2007-6-19 16:35 | 显示全部楼层
谢谢
发表于 2007-12-18 17:25 | 显示全部楼层

你好!

你的问题解决了吗?如果解决了,请告知好吗?我的程序也遇到了同样的问题?zynmg@163.com
发表于 2007-12-18 17:32 | 显示全部楼层

回复 #5 zynmg 的帖子

请直接短消息联系楼主
发表于 2007-12-19 10:58 | 显示全部楼层
我也遇到了同样的问题,求助!
发表于 2007-12-21 14:33 | 显示全部楼层
你的问题解决了吗?如果解决了,请告知好吗?我的程序也遇到了同样的问题?zynmg@163.com
发表于 2007-12-23 19:16 | 显示全部楼层
最近追进遗传算法~~:lol
发表于 2009-3-21 10:57 | 显示全部楼层
顶一下,我也遇到了同样的问题,好像类似的问题网上很多,都没有成功的解决!希望高手进来好好分析分析, 邮箱:daidai0124@126.com
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-6 09:48 , Processed in 0.068896 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表