前言
三次样条曲线拟合是分段进行的,所以其导函数也是分段的,在MATLAB求解过后,得到的导函数曲线是n个不在同一幅图里的曲线,网上有给出合并曲线的方法,但都是同一个区间内的曲线合并(还有很多标题党,标题写着不同区间但实际是在同一区间内操作),并没有给出合并不同区间曲线的方法,结合网上的方法,我想到了解决的方法,适用于少量曲线的合并,曲线多的话可以使用代码合并。
问题背景
想要合并如下两幅图,第一幅图x取值为[0,1],第二幅图x取值为[1,2]。


解决方法
在MATLAB绘图命令后一行加入如下一行代码:
axis( [xmin xmax ymin ymax] ) %设置当前坐标轴 x轴 和 y轴 的限制范围
下图为示例,plot、ezplot后面都可以使用axis命令。

改变坐标范围之后的图形如下:


绘出上面两幅图后,直接在图形窗口中操作如下步骤:先点击第一步箭头,然后选中图中的曲线,再点击上方的Edit→Copy;

然后转到将要合并曲线的那幅图里,和上一步操作类似,先点击箭头,然后点一下图像区域,再点击上方的Edit→Paste,即可完成曲线合并。

下幅图即为合并后的曲线图,需要的话保存即可。

本文介绍如何在MATLAB中处理来自不同区间([0,1]和[1,2])的三次样条曲线导数,通过调整坐标范围实现曲线的跨区间合并,提供详细步骤和代码示例。
2144

被折叠的 条评论
为什么被折叠?



