matlab 如何在不进行切片的情况下将x数据修改为特定长度?

cvxl0en2  于 2022-11-15  发布在  Matlab
关注(0)|答案(1)|浏览(170)

我有一些x数据和y数据,我想绘制。我的x数据如下所示:[326,406,406,449,491,491,1353,1353,2379,2379, ...]
具有腐 eclipse 性的y数据如下所示:
[3.46,3.48,3.48,3.48,3.49,3.49,3.49,3.49,3.49,3.49, ...]
假设我想修改x数据,使其具有固定长度。但简单地像这样对Example:x = x(1:100)进行切片并不是很好,因为这样做还会丢失第100个数据点之后的数据。我需要这样:让x数据作为固定长度的数组,但也要修改y数据,使我在绘制y和x时看不到区别(除了x现在具有不同的长度和不同的值,例如从1:100开始)。我希望你能理解我想做的事。我在玩弄Interp1,但遗憾的是,我没有取得任何有用的成果。
提前谢谢!

编辑查看更好的插图:假设我的y与x数据如下:

我的目标是以这样的方式简单地修改我的x和y数据,例如,x数据的范围从1:100,但曲线看起来仍然是一样的。
所以基本上:对数据进行采样

jtw3ybtb

jtw3ybtb1#

我能够这样解决我的问题:

x_new = linspace(min(x_data), max(x_data), number_of_x_points);
y_new = interp1(x_data, y_data, x_new, 'linear');

相关问题