我有两张图,一张是测量(graph2),一张是模拟结果(graph1)。我需要在 Matlab 中将它们绘制在一个图形上,但问题是 graph1 有样本,而 graph2 有时间值分配给 x 轴。如何从样本或样本中抽出时间将它们绘制在同一张图上?
上图是Graph1,下图是Graph2。
它们达到 0 的时间是:
图1:x=3444
图2:x=259
我认为你的问题是一个情节使用样本的索引作为它的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 数据的具体实施取决于您的实验的具体情况。您可能需要稍作修改才能使它们对应。