和插值算法相比,拟合算法的优势在于拟合曲线不需要经过所有样本点,所以能降低函数的复杂程度。我们可以通过观察散点图目测拟合函数的大致形式,然后用最小二乘法计算待估参数。这时候Matlab就能发挥作用了,因为它提供了非常强大的拟合工具箱。今天我就简单介绍一下这个工具箱的用法。
首先要打开该工具箱,多半需要先去APP中心下载,这里提供一个更便捷的方法,在命令行输入cftool,按下回车键,就能自动定位到拟合工具箱的下载位置了。
下载之后点击进入,界面是这样的:
最左边一栏是原始数据栏。只要你事先已经导入数据,就能在这里选择各坐标轴的变量。中间一栏可以选择拟合函数的类型和最高次项的阶数。central and scale表示数据标准化,如果想去除原始数据量纲的影响就可以勾选上。
当你引入x轴和y轴的变量后(这里没有z轴,有的话会生成三维图),界面就会变成这样。可以看出这里工具箱自动选择的是一次函数,函数表达式、待估参数的置信区间、拟合优度、调整后的拟合优度、残差平方和都会在左侧Results窗口中显示,右侧则是拟合图像。
你也可以通过改变最高次项的阶数来调整拟合函数。比如这里改成了三次函数,可以发现拟合优度略微提高。
如果你想自定义函数形式,这需要切换到Custom Equation,然后自行输入函数表达式就行了。
完成后如果想保存代码,则可以点击左上角文件,Generate Code。
然后我们可以自己修改代码来修改图像细节。比如这里可以改变图例说明以及图例的位置。
修改完成后先按Ctrl+S保存代码至当前文件夹,然后复制最顶上的这串代码到命令行并运行。
就可以得到修改之后的图像了。
想要保存图像,点击左上角文件,导出设置。里面可以调大小,分辨率,完成后点击应用于图窗,再导出就行了。
导出后的图像是这样的,知乎好像会压缩图像,所以看上去没那么清晰。
只是介绍了一下最简单的操作,毕竟我也还处于初学阶段。然后 @江风引雨 望大佬赐教。
如果觉得《matlab cftool代码_Matlab工具箱之拟合算法》对你有帮助,请点赞、收藏,并留下你的观点哦!