《matlab神经网络43个案例》第三章代码纠错
2016-05-29 20:44
405 查看
这两天在运行《matlab神经网络43个案例》第三章的Genetic时出现了如下问题
大概看了之后,发现该错误出现在迭代求解最佳初始阀值和权值的这部分程序中。仔细研究了其中的选择和交叉的程序,发现问题出在select程序的轮盘赌中
其中的
改为
即可。
Index exceeds matrix dimensions. Error in Cross (line 32) v1=chrom(index(1),pos); Error in Genetic (line 70) individuals.chrom=Cross(pcross,lenchrom,individuals.chrom,sizepop,bound);
大概看了之后,发现该错误出现在迭代求解最佳初始阀值和权值的这部分程序中。仔细研究了其中的选择和交叉的程序,发现问题出在select程序的轮盘赌中
for i=1:sizepop %转sizepop次轮盘 pick=rand; while pick==0 pick=rand; end for j=1:sizepop pick=pick-sumf(i); if pick<0 index=[index j]; break; %寻找落入的区间,此次转轮盘选中了染色体i,注意:在转sizepop次轮盘的过程中,有可能会重复选择某些染色体 end end end
其中的
pick=pick-sumf(i);
改为
pick=pick-sumf(j);
即可。
相关文章推荐
- C++实现遗传算法
- 解析在main函数之前调用函数以及对设计的作用详解
- 详解Matlab中 sort 函数用法
- java和matlab画多边形闭合折线图示例讲解
- C#调用Matlab生成的dll方法的详细说明
- 简述Matlab中size()函数的用法
- 从java中调用matlab详细介绍
- 深入理解Java遗传算法
- bp神经网络及matlab实现
- 稀疏自动编码器 (Sparse Autoencoder)
- 如何用70行代码实现深度神经网络算法
- 详解Matlab中 sort 函数用法
- 简述Matlab中size()函数的用法
- VC++与Matlab混合编程的快速实现
- Matlab 矩阵运算
- matlab与opencv部分函数的对照
- 遗传算法
- 实例讲解遗传算法——基于遗传算法的自动组卷系统
- 实例讲解遗传算法——基于遗传算法的自动组卷系统【实践篇】(上)