回 帖 发 新 帖 刷新版面

主题:求助用matlab编程做线性回归!

x=[4;5;6;7;8;9;10;11;12;13;14;15;16;17];
y=[70;162;291;470;710;996;1310;1612;1819;1941;1983;1996;1999;2000];
x为风速,y为风机发电功率。可以用Excel画一条风速与功率值的对应关系曲线,但是我想得到这条曲线的函数关系式,这样的话,以后我就可以任意输入功率而得到我想要的风速值了。这一功能用matlab怎么完成,希望高手帮忙指点一下小弟,感激不尽。

回复列表 (共2个回复)

沙发

最简单的方法用polyfit()多项式拟合,如果你知道x,y 的函数关系可以用lsqcurvefit()确定系数,
如用5次多项式拟合:
f=polyfit(x,y,5);
b=polyval(f,x);
plot(x,y,x,b

板凳

yhat=b(1)./(1+b(2)*exp(-b(3)*x)).^b(4);
b=[2020.425947, 2570.797182, .7908944890, .6235239591]

RSS = 4336.044981
MSe = 433.6045
R^2 = .999430

我来回复

您尚未登录,请登录后再回复。点此登录或注册