matlab ga函数能定义变量范围吗,matlab自变量的范围定义

function y=xchaha(x)

g1=50/x(1)-1;

g2=0.1/x(2)-1;

g3=9.8*212*x(2)^1.25*6^0.87/800-1;

g4= x(2)^2/(8*0.5*0.08)-1;

g5=9.8*2.2*x(2)^1.25*6^0.87*x(1)/(1000*50)-1;

g6=2000/(x(1)^2.71828*x(2))-1;

if (g1<=0)&(g2<=0)&(g3<=0)&(g4<=0)&(g5<=0)&(g6<=0)

y=437.5+28.798/(x(1)*x(2))+0.6121566*x(1)^3.35*x(2)^0.82;

else

y=437.5+28.798/(x(1)*x(2))+0.6121566*x(1)^3.35*x(2)^0.82+(50/x(1)-1)+(0.1/x(2)-1)+(9.8*212*x(2)^1.25*6^0.87/800-1)+(x(2)^2/(8*0.5*0.08)-1)+(9.8*2.2*x(2)^1.25*6^0.87*x(1)/(1000*50)-1)+(2000/(x(1)^2.71828*x(2))-1);

end

function [X,FVAL,REASON,OUTPUT,POPULATION,SCORES] = untitled

fitnessFunction = @xchaha;

nvars = 2;

options = gaoptimset;

options = gaoptimset(options,'MutationFcn' ,{ @mutationgaussian 1 1 });

options = gaoptimset(options,'Display' ,'off');

[X,FVAL,REASON,OUTPUT,POPULATION,SCORES] = ga(fitnessFunction,nvars,options);

我想用遗传算法做函数的优化,让50<=x(1)<=120,0.1<=x(2)<=0.5,请问怎么加进这个范围,那为高人帮我解决一下,我就30分,全给!!!!

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值