如何用MATLAB来算多元回归分析?

本人菜鸟,但是又得急着做出结果,所以问一下各位大神。
现有数据其中数据为,c=[2.7,2.8,2.9,3,3.1,3.2,3.45,3.7,3.95,4.2,4.45,4.7,4.95,5.2]
k=[ 0,47,93,140,186,279,372,465,558,651];
y=[18.98,27.35,34.86,38.52,38.44,37.73,38.43,43.87,42.77,46.22];
假如我想拟合的函数为,y=A*e^k+B*c+C*cot(k)+D,其中A、B、C、D是参数。
该怎么拟合呢?还有看拟合出的效果,相关系数等。

拟合函数,首先给出的数据长度必须相同,即行(或列)数应相等。再次,应避免某些函数值(如三角函数)为无穷大或无穷小,像cot(0)= Inf。请完整一下你的数据,c=[.........],再来拟合函数是不是你想要的。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-07-23

c的长度和k,y不一样,所以你要首先将三个向量的长度统一。

另外,我觉得这个函数有几个地方不是合理:

    k的第一个值不能为0,因为cot(0)是无穷。建议你用0.1代替0。

    k的数值较大,所以e^k会非常大使得matlab无法计算,建议将k除以1000作为新的变量。

本回答被提问者和网友采纳
相似回答