【发布时间】:2012-05-29 01:43:39
【问题描述】:
我正在尝试找到如下所述的拟合曲线。 MATLAB 的 polyfit 在我的情况下不起作用。
已知参数:x和y,拟合曲线y_fit = a * (x_fit) .^ n
(这里,n 可能不是整数)。
我需要找到a 和n。
【问题讨论】:
标签: matlab curve-fitting
我正在尝试找到如下所述的拟合曲线。 MATLAB 的 polyfit 在我的情况下不起作用。
已知参数:x和y,拟合曲线y_fit = a * (x_fit) .^ n
(这里,n 可能不是整数)。
我需要找到a 和n。
【问题讨论】:
标签: matlab curve-fitting
取两边的对数并使用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))
【讨论】: