急求,用matlab求拟合函数Y=L/1+a*exp(-b*x) 20

野兔生长问题.在某地区野兔的数量在连续十年的统计数量(单位十万)如下x=[0123456789]Y=[12.319694.508536.905686.005125.564... 野兔生长问题.在某地区野兔的数量在连续十年的统计数量(单位十万)如下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的数量 展开
sinxlg1
2008-07-18 · TA获得超过5215个赞
知道大有可为答主
回答量:1459
采纳率:86%
帮助的人:1034万
展开全部
解答如下:
分两个步骤:
第一步建立函数模型的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
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式