matlab指数函数拟合

x=[39;47;45;47;65;46;67;42;67;56;64;56;59;34;42;48;45;18;20;19;36;50;39;21;44;53;63;29;25;69];
y=[144;150;138;145;162;142;170;124;158;154;162;150;140;110;128;130;135;114;116;124;136;142;120;120;160;158;144;130;125;175];
y=exp(a+bx)
求a b的值

利用cftool工具可以很快得到结果。
General model Exp1:
f(x) = a*exp(b*x)
Coefficients (with 95% confidence bounds):
a = 101.8 (92.97, 110.6)
b = 0.006974 (0.005257, 0.00869)

Goodness of fit:
SSE: 2459
R-square: 0.7167
Adjusted R-square: 0.7065
RMSE: 9.372
exp(a)可以当做常数。
%%%%%%%%%%%%%%%%%%%%%%%%
1 command window里输入cftool;
2 点data,输入x和y的数据;
3 点fitting,然后点Newfit,在Type of fit 里选择指数拟合;
4 选好以后,点击apply即可;追问

不好意思啊,我们的作业里面要求在common window里面直接输入代码来计算结果,能不能不用快捷操作给出一份指数拟合的代码啊,就是我在这里直接复制粘贴以后能出来运行结果的

追答

x=[39 47 45 47 65 46 67 42 67 56 64 56 59 34 42 48 45 18 20 19 36 50 39 21 44 53 63 29 25 69];
y=[144 150 138 145 162 142 170 124 158 154 162 150 140 110 128 130 135 114 116 124 136 142 120 120 160 158 144 130 125 175];
y=log(y');
d =ones(1,size(x,2));
a=[d;x];
b = a*y;
a=a*a';
c=a\b
c =

4.62629335789125
0.00684991304023
%%则拟合函数为y=exp(4.62629335789125+0.00684991304023*x)

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-05-25
x=[39;47;45;47;65;46;67;42;67;56;64;56;59;34;42;48;45;18;20;19;36;50;39;21;44;53;63;29;25;69];
y=[144;150;138;145;162;142;170;124;158;154;162;150;140;110;128;130;135;114;116;124;136;142;120;120;160;158;144;130;125;175];
% y=exp(a+bx)
p=polyfit(x,log(y),1);
a=p(2);
b=p(1);
相似回答