主程序如下:

options = gaoptimset ('PopulationSize',40,'EliteCount',5,'CrossoverFraction',0.75,'MigrationFraction',0.1,'Generations',200,'StallGenLimit',200,'TolFun',1e-6,'UseParallel',false,'Vectorized','on');     %设置参数

[x,fval]=ga(@GA_danfeng,5,[],[],[],[],[],[],[],options);

%其中'Vectorized','on'便是向量化已打开

适应度函数为

function f =GA_danfeng(x)

global k;

load w;load ps;

a=w';p=ps';

f1=(a./x(:,1)).^4./((1-(a./x(:,2)).^2).^2+(a./x(:,1)).^4).*(x(:,3).*(1+(2*x(:,4)*a./x(:,5)).^2)./((1-(a./x(:,5)).^2).^2+(2*x(:,4)*a./x(:,5)).^2));

f2=(f1-p).^2;

f=sum(f2);

end

提示的错误为:

>> GA_dan

错误使用 makeState (line 72)

When 'Vectorized' is 'on', your fitness function must return a vector of length equal to the size of the population.

出错 gaunc (line 40)

state = makeState(GenomeLength,FitnessFcn,Iterate,output.problemtype,options);

出错 ga (line 371)

[x,fval,exitFlag,output,population,scores] = gaunc(FitnessFcn,nvars, ...

出错 GA_dan (line 2)

[x,fval]=ga(@GA_danfeng,5,[],[],[],[],[],[],[],options);

这里说适应度函数的返回值不是 population的大小,怎么理解?明明打开向量化,参数也向量化了,为何不能运行?求大神指教。数据见附件

2017-12-10 21:36 上传

点击文件名下载附件

27.96 KB, 下载次数: 4

2017-12-10 21:37 上传

点击文件名下载附件

24.62 KB, 下载次数: 4

matlab适应度函数ga,ga程序中适应度函数fitness function向量化问题相关推荐

  1. C语言中fun的功能是将字符串,下列给定的程序中,fun()函数的功能是:将p所指字符串中......

    下列给定的程序中,fun()函数的功能是:将p所指字符串中每个单词的最后一个字母改成大写(这里的"单词"是指有空格隔开的字符串).例如,若输入: I am a student to ...

  2. 本地方法(JNI)——从java 程序中调用C函数

    [0]README 1) 本文部分文字描述 转自 core java volume 2 , 旨在理解 本地方法--从java 程序中调用C函数 的基础知识 : 2) for source code, ...

  3. 在一个C程序中,main()函数可以放在哪?

    C语言规定,在一个C程序中,main()函数的位置(). A.必须在系统调用的库函数之后 B.必须在程序的开始 C.必须在程序的最后 D.可以在任意位置 答案:D [解析] 每个C程序有且只有一个主函 ...

  4. c语言清除键盘缓冲区函数,C语言程序中清除键盘缓冲区的方法

    第四期2006年12月益阳职业技术学院学报 JournalofYiyangVocationalandTechnicalCollegeNO.4Dec.2006 C语言程序中清除键盘缓冲区的方法 杨长虹 ...

  5. 【MATLAB自带的svmtrain和libsvm中的svmtrain函数的区别】

    MATLAB自带的svmtrain和libsvm中的svmtrain函数的区别 libsvm中的svmtrain是mex文件,调用c运行,由于MEX文件执行效率高,故matlab中如果有文件重名的话, ...

  6. java中函数的调用,java中如何调用函数

    java动态调用函数,Java 中使用动态代码,java函数调用,java中如何调用函数 如何在 Java 中调用 C 函数 宗薇 [期刊名称]<网络新媒体技术> [年(卷),期]2000 ...

  7. 给定一个数学函数写一个程序来确定该函数是否是双射的

    离散题目11 Time Limit: 1000 msMemory Limit: 65536 KiB Problem Description 给定一个数学函数写一个程序来确定该函数是否是双射的 Inpu ...

  8. python自带的sum()函数和numpy库中的sum()函数的区别

    在学习<机器学习实战>一书的第十章时,对 return np.sqrt(sum(np.power(vecA - vecB, 2))) 这样一条语句输出的结果老是不对,明明想要输出的是对两个 ...

  9. python中lambda函数if用法-Python中关于Lambda函数的使用总结

    lambda表达式是一种匿名函数,对应python中的自定义函数def,是定义某个函数时比较高级的一种写法.作为python初学者,本文整理了lambda的一些基本用法和特点. lambda和def的 ...

最新文章

  1. Adobe Creative Suite CS4/CS5 全系列注册机
  2. ym——Android之ListView性能优化
  3. 【开发调试】谷歌浏览器中调试移动网页和测试网速下页面效果
  4. 入门javascript_Espruino入门,Espruino是用于微控制器JavaScript解释器
  5. 北大AI第八讲 李航 自然语言处理的现实与挑战
  6. 树莓派3B+64位系统烧制与软件安装
  7. ajaxFileUpload 异步上传文件简单使用
  8. 杨森翔的书法-10斗方:杜牧中秋月
  9. 记录-如何测试服务器是否支持ipv6
  10. VS code Could not establish connection to IP 解决方法
  11. Scheme语言入门
  12. 摩托罗拉Android系统,摩托罗拉官方Android 4.0系统正式到来
  13. GetDC和BeginPaint
  14. vue如何通过键盘方向键切换input焦点
  15. 将Python Pandas DataFrame写入docx文档指定位置
  16. 河南专升本公共英语语法考点分析---动词时态
  17. 服务器的ip端口加密协议混淆,Obfsproxy - 混淆/加密端口数据
  18. Python读取文件时出现错误
  19. 一阶广义差分模型_4.2 序列相关性_清华大学:计量经济学(李子奈博导)_ppt_大学课件预览_高等教育资讯网...
  20. 域名备案注销的简单方法

热门文章

  1. 【超直白】三分钟创建一个小程序
  2. 技术在于精,其次在于多
  3. IT男几时而立(上)
  4. 生活大爆炸系列之制作望远镜架
  5. LeetCode 28. 实现strStr()
  6. 17.1.1.3 Creating a User for Replication 创建一个用于用于复制:
  7. 在Apache中利用ServerAlias设置虚拟主机接收多个域名和设置域名泛解析
  8. 各种乐器与人声的频率特性说明
  9. python Image 安装
  10. 论文阅读:Spatial context-aware network for salient object detection