2

我有两张图,一张是测量(graph2),一张是模拟结果(graph1)。我需要在 Matlab 中将它们绘制在一个图形上,但问题是 graph1 有样本,而 graph2 有时间值分配给 x 轴。如何从样本或样本中抽出时间将它们绘制在同一张图上?

在此处输入图像描述

上图是Graph1,下图是Graph2。

在此处输入图像描述

它们达到 0 的时间是:

图1:x=3444

图2:x=259

4

1 回答 1

1

我认为你的问题是一个情节使用样本的索引作为它的x值,而另一个使用实际时间作为值x

您必须缩放x-axis 以使两个x-axes 描述为相同的数量。我不知道你如何取样的细节,但这里有一个简单的例子:

figure(1), clf, hold on

% some example data
x1 = 0:0.1:2*pi;  
y1 = sin(x1);    

x2 = 0:numel(x1);    % add a bit of noise, just for kicks
y2 = sin(2*pi*x2/numel(x1)) + 0.02*randn(size(x2));    

% plot naively
subplot(1,2,1), hold on
plot(x1, y1, 'r')
plot(x2, y2, 'b')    

% plot w/ re-scaled x-axis
subplot(1,2,2), hold on
plot(x1, y1, 'r')

x2 = linspace(min(x2(:)), max(x1(:)), numel(x2));

plot(x2, y2, 'b')

输出: 示例输出

同样,您应该如何重新缩放 x 数据的具体实施取决于您的实验的具体情况。您可能需要稍作修改才能使它们对应。

于 2012-12-06T09:29:54.037 回答