今天想帮朋友做一个简单的数据拟合,然后画图,结果发现网上都没有现成的模板,只能自己摸索了,最后搜到了一个简单的方法,将多条曲线放到一个图上。
以下是数据:
1 | X1 = |
注意画图的x与y都必须是行向量
首先做拟合,这个很简单,命令行中输入cftool就可以了,曲线类型选择smoothingspline平滑曲线,选择x1,y1,就可以得到第一条拟合曲线了,但是怎么样将多条拟合曲线画在一张图上呢,首先在cftool中选择fit->new fit,然后依次得到第二条与第三条拟合曲线,然后在file->generate code中得到画图的代码,如下:
1 | function [fitresult, gof] = createFits1(x1, y1, x2, y2, x3, y3) |
根据这一段代码其实就可以发现我们其实根本不需要打开cftool,直接写代码就可以得到拟合曲线,通过hold on就可以很轻易的将不同的曲线画在同一张图上了,具体代码如下:
1 | ft = fittype( 'smoothingspline' ); |
通过set更改曲线的颜色,注意Color要大写,小写只会改数据点的颜色
其他的设置像图例坐标轴标题什么的百度一下就好