如何在matlab中改进带绘图的图形?
我需要绘制两个数据非常接近的阵列。 如何提高图形的性能 我想缩小直线图如何在matlab中改进带绘图的图形?,matlab,graphic,Matlab,Graphic,我需要绘制两个数据非常接近的阵列。 如何提高图形的性能 我想缩小直线图 从注释中,您可以进行某种插值、平滑或点的子采样。让我们来看看所有的方法: 方法1-二次抽样 这很容易做到。假设两个数据点都存储在x和y中,则可以指定从数据中采样的频率。如果您想每10个点采样一次作为示例,您可以执行以下操作: xsample = x(1:10:end); ysample = y(1:10:end); plot(xsample, ysample); plot将在每个点之间线性插值。这是绘图的默认行为 方法2
从注释中,您可以进行某种插值、平滑或点的子采样。让我们来看看所有的方法: 方法1-二次抽样 这很容易做到。假设两个数据点都存储在
x
和y
中,则可以指定从数据中采样的频率。如果您想每10个点采样一次作为示例,您可以执行以下操作:
xsample = x(1:10:end);
ysample = y(1:10:end);
plot(xsample, ysample);
plot
将在每个点之间线性插值。这是绘图的默认行为
方法2-插值(非线性)
您可以像上面那样对点进行二次采样,然后使用interp1
在“关键点”之间进行插值。假设您要执行样条线插值。因此:
yinterp = interp1(xsample, ysample, x, 'spline');
plot(x, ysample);
方法3-平滑
如果您有曲线拟合工具箱,则可以使用平滑
功能。平滑
函数的默认行为是移动平均值。它基本上在一个有限大小的窗口内获取您的点,对它们进行平均,这就是一个样本的输出。平均值为您提供的输出是数据的平滑版本。默认窗口的宽度为5,但您可以指定所需的跨度
ysmooth = smooth(y); %// or you can do ysmooth = smooth(y, N);
%// where N is the size of your smoothing window
plot(x, ysmooth);
NB:N
必须是一个奇数数字(1、3、5等)
希望这些方法中的一种能对你有用 将图片上传到某个地方并链接到这里?将您的图片放在公共共享网站上,我将编辑您的帖子。还有,你说的“减少线图”是什么意思?我添加了链接。我指的是不太详细的图表……你说的“不太详细”是什么意思?你想降低数据的分辨率吗?是的,降低分辨率或进行插值对不起,我没有足够的声誉来投票。我是新用户