在 MATLAB 中,fit
函数用于拟合数据到一个模型,并返回包含模型参数和其他相关信息的拟合对象。该函数的基本语法如下:
model = fit(x, y, equation)
其中:
x
是一个包含自变量(输入数据)的向量或矩阵。y
是一个包含因变量(输出数据)的向量、矩阵或表格。equation
是描述拟合模型的字符串,可以是内置的拟合模型函数,也可以是自定义的函数句柄。
fit
函数将根据给定的数据和模型,对数据进行拟合,并返回一个拟合对象 model
。通过这个对象,可以获取拟合结果、预测新数据等。
下面是一些示例用法:
线性拟合:
x = [1, 2, 3, 4, 5];
y = [1.2, 2.4, 3.6, 4.8, 6];
model = fit(x', y', 'poly1'); % 线性拟合
plot(x, y, 'o'); % 绘制原始数据点
hold on;
plot(model); % 绘制拟合曲线
hold off;
这个例子中,使用 poly1
指定了一次多项式作为拟合模型,得到了一个线性拟合结果。
非线性拟合:
x = [0, 1, 2, 3, 4];
y = [1, 4.5, 9, 16, 25];
model = fit(x', y', 'power1'); % 幂函数拟合
plot(x, y, 'o');
hold on;
plot(model);
hold off;
这个例子中,使用 power1
指定了一个幂函数作为拟合模型,得到了一个幂函数的拟合结果。
除了内置的拟合模型函数,还可以使用自定义的函数进行拟合。需要将自定义的函数句柄传递给 fit
函数:
function y = myfun(x, c1, c2)
y = c1 * exp(c2 * x); % 自定义的指数函数
end
x = [0, 1, 2, 3, 4];
y = [1, 2.7, 7.4, 20.1, 54.6];
c = fit(x', y', @myfun); % 使用自定义函数拟合
plot(x, y, 'o');
hold on;
plot(c);
hold off;
以上是一些示例用法,fit
函数在 MATLAB 中可用于各种数据拟合任务,并提供了灵活的拟合模型选择和自定义功能。详细的用法和参数说明可以参考 MATLAB 的官方文档。