今天想帮朋友做一个简单的数据拟合,然后画图,结果发现网上都没有现成的模板,只能自己摸索了,最后搜到了一个简单的方法,将多条曲线放到一个图上。
以下是数据:
X1 =
0 0.8800
4.0000 1.0400
8.0000 1.0200
12.0000 1.1000
x1 =
0 4 8 12
y1 =
0.8800 1.0400 1.0200 1.1000
X2 =
0 2.1600
4.0000 3.0500
8.0000 3.2400
12.0000 3.9500
x2 =
0 4 8 12
y2 =
2.1600 3.0500 3.2400 3.9500
X3 =
0 4.2900
4.0000 3.2300
8.0000 2.8600
12.0000 3.3200
16.0000 4.7900
x3 =
0 4 8 12 16
y3 =
4.2900 3.2300 2.8600 3.3200 4.7900
注意画图的x与y都必须是行向量
首先做拟合,这个很简单,命令行中输入cftool就可以了,曲线类型选择smoothingspline平滑曲线,选择x1,y1,就可以得到第一条拟合曲线了,但是怎么样将多条拟合曲线画在一张图上呢,首先在cftool中选择fit->new fit,然后依次得到第二条与第三条拟合曲线,然后在file->generate code中得到画图的代码,如下:
function [fitresult, gof] = createFits1(x1, y1, x2, y2, x3, y3)
%CREATEFITS1(X1,Y1,X2,Y2,X3,Y3)
% Create fits.
%
%