怎么用MATLAB进行多元回归计算?

我需要求解的是y^n=7.336^n+k*t*exp(-Q/8.314*T)
其中已知T,t及其相对应的y值。想求解n,k,Q。
我刚学MATLAB没多久,只会用个polyfit(),但是这里面的指数,没办法构造出线性关系。
希望高手能帮我解答一下!谢谢了!
如果不能用MATLAB,和我说个用别的软件也可以啊!

这是数据拟合吧
多项式拟合才用POLYFIT这个命令.
非线性拟合可以用以下命令:
不过这两个一般应用于二维的情况,不知道三维的能不能行得通.没试过
1.beta = nlinfit(X,y,fun,beta0)
X给定的自变量数据,Y给定的因变量数据,fun要拟合的函数模型(句柄函数或者内联函数形式),
beta0函数模型中系数估计初值,beta返回拟合后的系数

2.x = lsqcurvefit(fun,x0,xdata,ydata)
fun要拟合的目标函数,x0目标函数中的系数估计初值,xdata自变量数据,ydata函数值数据
X拟合返回的系数(拟合结果)
因为你没给出T,t及其相对应y的数据,所以只能自己完成了
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-07-18
先把式子转化成线性的,在把数据转化成矩阵的形式,用polytool命令来求多元线性回归,具体命令看帮助
第2个回答  2008-07-18
方法挺多的,对于线性回归(一元或多元),均可以利用最小二乘估计(如果效果不好可以尝试BOX-COX变换)的方法来实现分析,如果说是特征矩阵X'X的特征值中最大值与最小值的比例过大100以上,即体现出比较强的复共线性则需要选用主成分分析的方法,去除某些特征向量。
如果是非线性回归,可以通过描点的方式得到其图像,根据这一图像判断它的可能形式,再利用构造向量的方法求得其参数,特别是对与很多可以线性化的非线性拟合(如双曲线,幂函数,指数,倒指数,对数,S型曲线),问题将大为简化。
具体细节要因题目中所给数据而定。
相似回答