我试图找到如下所述的拟合曲线。 MATLAB的polyfit
在我的情况下不起作用
已知参数:x
和y
以及拟合曲线y_fit = a * (x_fit) .^ n
(这里,n可能不是整数)
我需要找到a
和n
。
答案 0 :(得分:2)
取双方的对数并使用polyfit
或仅使用简单的x = A\b
方法。
y_fit = a *(x_fit)。^ n
log(y_fit)= log(a)+ n * log(x_fit)
如果x_fit
和y_fit
是数据的列向量:
A = [ones(length(x_fit), 1), log(x_fit)];
b = log(y_fit);
x = A\b;
n = x(2)
a = exp(x(1))