当前位置:首页 » 遗传因素 » 遗传算法求解方程

遗传算法求解方程

发布时间: 2021-03-22 18:00:25

A. 如何用matlab遗传算法求解方程最优问题

在用ga()遗传算法函数时,除了考虑x1、x2的上、下界的限制值,还应考虑增加ymax<200的限回制条件,即

140.6+2.31x1-0.61x2-0.015x1^2+0.005x1x2<200

按此要求答修改,运行可以得到

x 1= 42.7066 ; x 2=30.0015;y=199.9999

B. 遗传算法解方程组 matlab

老铁 你这个太猛了,我确实是懵逼了,我看只有极少人能做出来吧

C. 遗传算法解非线性方程组能解准吗

如果maple数值解求解不出来,可能的情况有二。1、方程组矛盾,检查方程组列写是否错误,如果正确尝试用最小二乘法求解。2、数值解由于搜索空间太大,没法找到,尝试用启发式算法,例如遗传算法,类似你写的这些方程,可以用matlab中的遗传算法工具箱,应该也写成最小二乘的形式。

这样的问题,我没有遇到过,fsolve命令已经很强大了,如果方程组正确,fsolve求不出来,我就不知道如何处理了。

希望以上对你有帮助。

D. 目标方程和约束条件有微分方程,应该怎么用遗传算法拟合

用遗传算法ga函数是可以拟合带有目标方程和约束条件且含有微分方程的系数,其拟合原则是误差最小估计原则。
解决问题的方法:1、建立自定义目标函数;2、建立自定义约束函数;3、建立自定义微分方程函数;4、误差最小控制函数;5、利用遗传算法ga函数求解拟合系数,利用ode45函数求解微分方程;6、建立嵌套函数计算

E. 遗传算法求解超越方程,matlab程序,tanx=1/x, x∈[0,60],需要程序代码,谢谢!

用遗传算法求解超越方程可以按下列方法来编写代码。

1、求解此问题时,首先可以将方程表内示成y=tanx-1/x的形式,当容y=0时,得到的解即为x。

该方程可以按这样来定义,func=@(x) tanx-1/x

2、由于该方程在[0,60]间有若干个解,所以可以用循环语句来得。如按遗传算法ga()函数求解超越方程,可以按下列命令来求解。

[x, fval] =ga(func,1);

y=func(x) ;

3、当abs(y)<=0.005(误差)时,显示x、y值。

按上述方法编程后运行可以得到如下x值。

F. matlab中用遗传算法拟合方程

例如:
已知数据队列 buf=【.】
x取值 1:n n是队列长度
函数 f(x)=a+b*sin(c*x+d) .
avg 是队列平均值
a b c d 为参数 a范围 (2/3,1)*avg
b范围 (0,1/3)*avg
c的范围 (0,24*pi)
d (0,2*pi)
1、首先定义目标函数
function y=ga_curfit(x)
global ydata n
t=1:n;
y=0;
for i=1:n
y=y+(ydata(i)-(x(:,1)+x(:,2).*sin(x(:,3).*t(i)+x(:,4)))).^2/n;
end
y=sqrt(y);
end
2、把数据b.txt放在工作空间目录中
然后再命令窗口中输入
clear
global ydata n
format long g
load b.txt
ydata=b';
n=length(ydata);
avg=sum(ydata)/n;
LB=[2/3*avg 0 0 0];
UB=[1*avg 1/3*avg 24*pi 2*pi];
nvars=4;
options=gaoptimset;
options=gaoptimset(options,'PopulationSize',300);
options=gaoptimset(options,'CrossoverFraction',0.8);
options=gaoptimset(options,'MigrationFraction',0.1);
options=gaoptimset(options,'Generations',500);
options = gaoptimset(options,'TolFun',1e-50);
%options = gaoptimset(options,'InitialPopulation',final_pop);
options = gaoptimset(options,'Display','final');
options = gaoptimset(options,'PopInitRange',[LB;UB]);
options = gaoptimset(options,'PlotFcns',@gaplotbestf);
options=gaoptimset(options,'Vectorize','on');%目标函数向量化
[x,fval,exitflag,output,final_pop,scores]=ga(@ga_curfit,nvars,[],[],[],[],LB,UB,[],options);
t=1:n;
plot(t,ydata,'r*');
hold on
plot(t,x(1)+x(2)*sin(x(3)*t+x(4)))
legend('数据','拟合')

热点内容
法国电影小男孩在农场遇到一只白狗 发布:2024-08-19 08:36:47 浏览:594
微光上有什么恐怖片 发布:2024-08-19 05:25:40 浏览:915
穿越香港鬼片灭鬼的小说 发布:2024-08-19 03:36:10 浏览:833
恶之花都敏秀姐姐扮演者 发布:2024-08-19 02:22:07 浏览:321
thai好看电影 发布:2024-08-18 11:34:37 浏览:795
电影内容女的是傻子容易尿裤子,男的很穷单身汉 发布:2024-08-18 10:31:36 浏览:129
双机巨幕厅和4k厅哪个好 发布:2024-08-18 10:18:41 浏览:818
日本僵尸片上世纪 发布:2024-08-18 07:32:00 浏览:537
怪物 韩国电影在线 发布:2024-08-18 03:49:17 浏览:491
第九区一样的 发布:2024-08-17 23:16:05 浏览:528