非线性回归matlab解决剩余产量模型,谢谢~20分

来源:百度知道 编辑:UC知道 时间:2024/07/03 00:34:24
x=[13855,15937,13860,14361,17996,24304,27597,31976,70990,105874,108427,113163,116634,93218,82989,135975,135809,139319,149489,166817,167160,168315,162228,158314];
y=[15248,15574,16055,15381,18329,19928,20108,20654,21011,21920,23344,26100,29438,32430,37620,60335,70620,86700,102324,120636,136725,135277,131266,112731];
24年的数据
函数是y=a*x+b*x^2 另一函数是y=x*exp(c+d*x);a b c d是参数
请各位大牛帮我用matlab进行非线形回归,解出这些参数,20分送上~
谢谢您的解答.我有些地方不是很明白...望解答
因为我们捕捞这个专业的剩余产量模式,y不能随着x增长而无限增长,当x太大而使资源受到破坏,y会减少.所以模式的b和d应该为负的,而a和c为正
是不是给的数据有问题?还是这个公式改成y=a*x-b*x^2 ?
这个我想不明白~谢谢您的无私~

【补充】
x与y互换,还能成立不?

clc;clear
x=[13855,15937,13860,14361,17996,24304,27597,31976,70990,105874,108427,113163,116634,93218,82989,135975,135809,139319,149489,166817,167160,168315,162228,158314];
y=[15248,15574,16055,15381,18329,19928,20108,20654,21011,21920,23344,26100,29438,32430,37620,60335,70620,86700,102324,120636,136725,135277,131266,112731];
fun1=inline('a(1)*x+a(2)*x.^2','a','x')
fun2=inline('x.*exp(b(1)+b(2)*x)','b','x')
format short g
a=nlinfit(x,y,fun1,[-0.1 1e-006])
b=nlinfit(x,y,fun2,[-2 1e-005])
xx=min(x):100:max(x);
y1=a(1)*xx+a(2)*xx.^2;
y2=xx.*exp(b(1)+b(2)*xx);
plot(x,y,'o',xx,y1,xx,y2)

结果:
fun1 =

Inline function:
fun1(a,x) = a(1)*x+a(2)*x.^2

fun2 =

Inline function:
fun2(b,x) = x.*exp(b(1)+b(2)*x)

a =

-0.18297 5.5155e-006

b =<