用matlab遗传算法拟合曲线怎么拟合? 两组数据,必须用遗传算法,最好有程序或者详细的过程,急

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/29 08:43:14
用matlab遗传算法拟合曲线怎么拟合? 两组数据,必须用遗传算法,最好有程序或者详细的过程,急

用matlab遗传算法拟合曲线怎么拟合? 两组数据,必须用遗传算法,最好有程序或者详细的过程,急
用matlab遗传算法拟合曲线怎么拟合? 两组数据,必须用遗传算法,最好有程序或者详细的过程,急

用matlab遗传算法拟合曲线怎么拟合? 两组数据,必须用遗传算法,最好有程序或者详细的过程,急
例如:
已知数据队列 buf=【5410.】
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('数据','拟合')
更多详情可以参考我在matlab中文论坛回的贴

用matlab遗传算法拟合曲线怎么拟合? 两组数据,必须用遗传算法,最好有程序或者详细的过程,急 怎么用SPSS拟合曲线? 怎么用matlab画拟合曲线已知一组数据如何画拟合曲线,并且将拟合曲线与原曲线同时画在一张图上这个问题我自己有答案,只是为了完成任务提的.拟合曲线的算法是用a=plotfit(xdat,ydat,n)其中n 怎么用matlab拟合反比例函数 怎么用Matlab实现椭圆拟合? 寻峰算法 matlab里面输入的实验数据约4000组,用cftool拟合出高斯曲线以后,怎么进行峰值查找啊? matlab画图时拟合曲线有多条,怎么筛选 怎么用excel拟合曲线啊 求问怎么用SPSS拟合曲线 怎么在matlab中拟合空间曲线,用sftool怎么弄? 怎么用matlab画出拟合曲线 就图上这个 希望高手给出输出图像. 最小二乘拟合 matlab算法程序! (急)用matlab拟合并求曲线方程!有一条B样条曲线 收集了它每间隔一小段的坐标 用什么函数拟合最佳?怎么求出拟合出的曲线方程? 如何看matlab拟合分布曲线后的效果?Matlab拟合分布曲线之后,怎么看拟合的效果好不好?比方说,我用betafit函数之后,matlab给了估计的参数,但是我想知道用正态分布拟合的效果好,还是beta分布拟合 最小二乘法拟合曲线MATLAB中如何应用 怎么用matlab才能使用最小二乘法拟合曲线(要有曲线方程的解析式)求高手相助 用matlab拟合函数求系数,只有一个系数该怎么拟合 用matlab 对一组数据进行拟合后,怎么直接显示拟合函数的图像?