MATLAB中自带的cftool拟合工具箱不能将多条曲线同时画在同一副图中,而常规的plot()函数又不能拟合平滑直线,接下来总结一种可以利用cftool导出的代码,在一张图中拟合多条平滑曲线。
首先输入所要拟合的数据,如x, y, x1, y1, x2, y2等等。
之后打开cftool工具箱,使用数据拟合曲线,在拟合方式一栏选择Smoothing Spline。可以得到图像。
之后在文件菜单栏中点击Generate Code,之后将在工作空间里看到导出的m文件。
function [fitresult, gof] = createFit(x, y)
%CREATEFIT(X,Y)
% Create a fit.
%
% Data for 'untitled fit 1' fit:
% X Input : x
% Y Output: y
% Output:
% fitresult : a fit object representing the fit.
% gof : structure with goodness-of fit info.
%
% 另请参阅 FIT, CFIT, SFIT.
% 由 MATLAB 于 22-Dec-2015 00:27:49 自动生成
%% Fit: 'untitled fit 1'.
[xData, yData] = prepareCurveData( x, y );
% Set up fittype and options.
ft = fittype( 'smoothingspline' );
% Fit model to data.
[f