24小时热门版块排行榜    

CyRhmU.jpeg
查看: 663  |  回复: 2

贝壳郭大侠

新虫 (初入文坛)

[求助] 请教关于求matlab自模型回归系数问题

模型公式为:Y=exp(a+b*T)*(u^(c+d*T))*(e^n)
式中:a,b,c,d,n是回归系数,T,u,e为变量。
有12组数据如下:
T=[1.1712   1.1674   1.1622   1.1555   1.1462   1.1327   1.1121   1.0818   1.0400   0.9925   0.9466   0.8730]
u=[1.7888   2.5755   3.0193   3.4345   4.0454   4.8658   6.0155   7.2721   12.3627   13.1747    12.9871   16.4099]
e=[0.0924   0.1682   0.1931   0.2048   0.2288   0.2595   0.3001   0.3216   0.3228   0.2719   0.2076   0.2624]
Y=[46.4454   56.6047   63.1406   71.2812   76.8083   77.6233
      85.2938   89.5868   97.8382   119.4923   164.4006   138.2883]
程序怎么写啊?本人论文要用到这个,可是之前一点没接触过,网上找了半天也没找到个像样的例子程序,求大神帮帮忙啊!拜谢了。。。最好把能运行的程序和结果写出来,我再好好学习一下。谢!
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gangbs

新虫 (小有名气)

【答案】应助回帖

将原方程两边取对数,则得到:(a+n)+b*T+c*lnu+d*Tlnu=lnY, 很明显这是一个线性回归的问题,这类问题可直接根据公式m=inv(x'*x)*x'*Y来求解(m为所要回归的参数,inv是求逆符号,x为自变量,Y为应变量)。代码如下:
>> T=[1.1712 1.1674 1.1622 1.1555 1.1462 1.1327 1.1121 1.0818 1.0400 0.9925 0.9466 0.8730]';
>> u=[1.7888 2.5755 3.0193 3.4345 4.0454 4.8658 6.0155 7.2721 12.3627 13.1747 12.9871 16.4099]';
>> e=[0.0924 0.1682 0.1931 0.2048 0.2288 0.2595 0.3001 0.3216 0.3228 0.2719 0.2076 0.2624]';
>> Y=[46.4454 56.6047 63.1406 71.2812 76.8083 77.6233 85.2938 89.5868 97.8382 119.4923 164.4006 138.2883]';
>> x1=ones(12,1);
>> x2=T;
>> x3=log(u);
>> x4=T.*log(u);
>> y=log(Y);
>> x=[x1 x2 x3 x4];
>> m=inv(x'*x)*x'*y
m =

   20.4742
  -14.1477
   -4.7000
    4.0931
这里m(1)=a+n; m(2)=b; m(3)=c; m(4)=d。
2楼2012-07-09 21:40:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gangbs

新虫 (小有名气)

【答案】应助回帖

上面出现了一个小错误,我误将你问题中的e当做了自然对数底中的e, 但解题的整体思路是正确的。现为了不引起混淆,将原问题中的e用h表示,则有如下代码:
T=[1.1712 1.1674 1.1622 1.1555 1.1462 1.1327 1.1121 1.0818 1.0400 0.9925 0.9466 0.8730]';

u=[1.7888 2.5755 3.0193 3.4345 4.0454 4.8658 6.0155 7.2721 12.3627 13.1747 12.9871 16.4099]';
h=[0.0924 0.1682 0.1931 0.2048 0.2288 0.2595 0.3001 0.3216 0.3228 0.2719 0.2076 0.2624]';

Y=[46.4454 56.6047 63.1406 71.2812 76.8083 77.6233 85.2938 89.5868 97.8382 119.4923 164.4006 138.2883]';
x1=ones(12,1);
x2=T;
x3=log(u);
x4=T.*log(u);
x5=log(h);
y=log(Y);
x=[x1 x2 x3 x4 x5];
m=inv(x'*x)*x'*y;
a=m(1)
b=m(2)
c=m(3)
d=m(4)
n=m(5)

a =

   20.2497


b =

  -14.0291


c =

   -4.6856


d =

    4.1061


n =

   -0.0315
3楼2012-07-09 22:08:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 贝壳郭大侠 的主题更新
信息提示
请填处理意见