怎样用matlab拟合函数y=x 1 3,用matlab求拟合函数Y=L/1+a*exp(-b*x)

导航:网站首页 >

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

时间:2019-8-22

用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的数量

相关问题:

匿名网友:

分两个步骤:

第一步建立函数模型的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

大家还关注:

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

2个答案 - 提问时间: 2008-07-18

问题说明:求Y=L/1+a*exp(-b*x),并用图表示出野兔的生长规律,及x=10时,Y的数量

回答:解答如下:分两个步骤:第一步建立函数模型的M文件打开M编辑器,输入如下代码;

问题推荐

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值