用matlab求拟合函数Y=L/1+a*exp(-b*x)野兔生长问题.在某地区野兔的数量在连续十年的统计数量(单位十万)如下x=[0 1 2 3 4 5 6 7 8 9]Y=[1 2.31969 4.50853 6.90568 6.00512 5.56495 5.32807 7.56101 8.9392 9.5817].求Y=L/1+a*exp
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/09 04:36:55
![用matlab求拟合函数Y=L/1+a*exp(-b*x)野兔生长问题.在某地区野兔的数量在连续十年的统计数量(单位十万)如下x=[0 1 2 3 4 5 6 7 8 9]Y=[1 2.31969 4.50853 6.90568 6.00512 5.56495 5.32807 7.56101 8.9392 9.5817].求Y=L/1+a*exp](/uploads/image/z/6839830-46-0.jpg?t=%E7%94%A8matlab%E6%B1%82%E6%8B%9F%E5%90%88%E5%87%BD%E6%95%B0Y%3DL%2F1%2Ba%2Aexp%28-b%2Ax%29%E9%87%8E%E5%85%94%E7%94%9F%E9%95%BF%E9%97%AE%E9%A2%98.%E5%9C%A8%E6%9F%90%E5%9C%B0%E5%8C%BA%E9%87%8E%E5%85%94%E7%9A%84%E6%95%B0%E9%87%8F%E5%9C%A8%E8%BF%9E%E7%BB%AD%E5%8D%81%E5%B9%B4%E7%9A%84%E7%BB%9F%E8%AE%A1%E6%95%B0%E9%87%8F%28%E5%8D%95%E4%BD%8D%E5%8D%81%E4%B8%87%29%E5%A6%82%E4%B8%8Bx%3D%5B0+1+2+3+4+5+6+7+8+9%5DY%3D%5B1+2.31969+4.50853+6.90568+6.00512+5.56495+5.32807+7.56101+8.9392+9.5817%5D.%E6%B1%82Y%3DL%2F1%2Ba%2Aexp)
用matlab求拟合函数Y=L/1+a*exp(-b*x)野兔生长问题.在某地区野兔的数量在连续十年的统计数量(单位十万)如下x=[0 1 2 3 4 5 6 7 8 9]Y=[1 2.31969 4.50853 6.90568 6.00512 5.56495 5.32807 7.56101 8.9392 9.5817].求Y=L/1+a*exp
用matlab求拟合函数Y=L/1+a*exp(-b*x)
野兔生长问题.在某地区野兔的数量在连续十年的统计数量(单位十万)如下x=[0 1 2 3 4 5 6 7 8 9]Y=[1 2.31969 4.50853 6.90568 6.00512 5.56495 5.32807 7.56101 8.9392 9.5817].求Y=L/1+a*exp(-b*x),并用图表示出野兔的生长规律,及x=10时,Y的数量
用matlab求拟合函数Y=L/1+a*exp(-b*x)野兔生长问题.在某地区野兔的数量在连续十年的统计数量(单位十万)如下x=[0 1 2 3 4 5 6 7 8 9]Y=[1 2.31969 4.50853 6.90568 6.00512 5.56495 5.32807 7.56101 8.9392 9.5817].求Y=L/1+a*exp
分两个步骤:
第一步建立函数模型的M文件
打开M编辑器,输入如下代码;
function yd=model(beta0,x)
%% L/1+a*exp(-b*x)
a=beta0(1);
b=beta0(2);
L=beta0(3);
x1=x;
yd=L./(1+a.*exp(-b.*x1));
保存这个M文件到work文件夹下,名称为:model
第二步:在命令窗口中输入如下代码:
x=[0 1 2 3 4 5 6 7 8 9]';
y=[1 2.31969 4.50853 6.90568 6.00512 5.56495 5.32807 7.56101 8.9392 9.5817]';
beta0=[3 0.3 11];
[beta,R,J]=nlinfit(x,y,'model',beta0)
运行后得到如下结果:
beta =
3.5457 0.3194 10.8337
R =
-1.3833
-0.7098
0.7359
2.3149
0.5556
-0.7416
-1.7921
-0.2955
0.4443
0.5539
J =
-0.5243 0 0.2200
-0.6155 2.1823 0.2797
-0.6935 4.9176 0.3483
-0.7461 7.9359 0.4238
-0.7638 10.8325 0.5031
-0.7432 13.1754 0.5822
-0.6883 14.6416 0.6573
-0.6088 15.1101 0.7253
-0.5171 14.6675 0.7842
-0.4243 13.5395 0.8334
其中的
beta =
3.5457 0.3194 10.8337
依次便是方程的系数:a=3.5457 b=0.3194 L=10.8337
所以回归的结果是:
y=10.8337./(1+3.5457.*exp(-0.3194.*x))
画出图像,在命令窗口中输入如下代码:
x=[0 1 2 3 4 5 6 7 8 9]';
x1=0:0.1:10;
y=[1 2.31969 4.50853 6.90568 6.00512 5.56495 5.32807 7.56101 8.9392 9.5817]';
y1=10.8337./(1+3.5457.*exp(-0.3194.*x1));
plot(x,y,'+',x1,y1)
计算x=10的估计值,输入如下代码:
x=10;
回车运行后得到结果为:
y =
9.4584