MATLAB的程序求助
clc; % 清屏幕clear; % 清除以前的变量
% 数据点(t,y) t=1800:10:2000;
y=; plot(t,y,'b*');
% 定义需要拟合的函数类型myfun(a,t),a是参数列表,t是变量 myfun = @(a,t); a0=; % 初始值
% 非线性拟合.最重要的函数,第1个参数是以上定义的函数名,第2个参数是初值,第3、4个参数是已知数据点 a=lsqcurvefit(myfun,a0,t,y);
disp(['a=' num2str(a)]); % 显示得到的参数
% 画出拟合得到的函数的图形 ti=1800:10:2010; yi=myfun(a,ti); hold on;
plot(ti,yi,'r');
% 给图形加上图例 xlabel('年份'); ylabel('人口数');
legend('原始数据','拟合函数',2); box on; grid on;
tn=2010; % 预测在未知点的函数值 yn=myfun(a,tn);
disp(['yn=' num2str(yn)]); % 显示得到的参数
请问上面程序里的a0表示的初始值是从哪来的?谢谢大家帮忙! 初始值可以任意,不过选取尽量贴近你自己x的估计值,偏离较大只会让机器跑的时间更长
页:
[1]