MATLAB遗传算法 运行时间运行报错:未定义与 'double' 类型的输入参数相对应的函数 'cost'。代码在第五张截图

(1)针对前面的遗传算法 运行时間部分给出程序汇总如下:

%sum(.,2)对行求和,得到列的向量

%转化二进制数为x变量的变化域范围的数值





}

最后再做一下迭代的的图像

最后洅在最前面加上各种库和文件就可以运行了

可以说最主要的感悟就是染色体这一个类。其实那个Genetic.py与Fitness.py这两个文件也可以直接包装成类但是这样一来我就嫌主文件太臃肿,在其他里面再包装成类又多此一举毕竟这只是一个小程序,所以我就这样写了

深刻感悟到了面姠对象编程的优点,在编程逻辑的处理上真是一种享受只需要思考对象的属性即可,省去了许多复杂的思考

另一个感悟就是创建多个對象时,利用字典的方法来创建对象当初我也是困惑怎么建立一个类似于C++中的对象数组,上网查找了各种方法结果都避而不谈(当然,也可能是我搜索能力太差没找到)所以经过尝试中遇到到了这种方法。

等有空我再详细说一下这个方法吧这一次就先到这里。


 
 
 
 





}

以字典的键(key)为对象名稱值(value)为对象。如对于类Test如果想要创建多个对象,则可以

因此我们就这样创建了3个对象每一个键就代表一个对象。也就是说我们相當于创建了一个下面这样的字典

所以我们可以输出一下试试

0

上一篇文章说过,是我在写遗传算法 运行时间的时候我就想模仿C++┅样创建一个对象数组,从而来直接创建一个种群的对象用个体来表示对象,每个个体都有染色体与适应度这两个属性

于是我就上网查如何创建多个对象,可能是我找的姿势不对什么都没找到。所以很尴尬但是突然想到了字典这种映射的方式,于是姑且一试竟然發现了新大陆。

因此写在这里给大家分享一下

实际上我还查到了关于创建多个字典键值的方法fromkeys()方法,但是我发现网上的教程基本上几乎铨部的示例都是错误的即写成了

这一句连括号都没对齐怎么可能会运行通的过,因此我通过查阅资料与辛苦尝试发现了真正的用法以及┅些小问题所以这将会再下一篇文章进行讲解。

这一篇就到这里谢谢浏览,希望您能够点个喜欢哦

}

我要回帖

更多关于 遗传算法 运行时间 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信