2

我有 X 轴的值 [2,6,10] 和 Y 轴 [0.5,0.4,0.2,0.2,....0.5],所有值都在 0 和 1 之间。

有一些点对应于 2,比如 1/3 和剩余的 1/3 对应 6,剩余的 1/3 对应 10。对应于 2 的点可以具有 0 和 1 之间的任何值,同样适用于点 6 和第 10 点。我怎样才能绘制这个?

4

3 回答 3

3

我猜你有办法将每个 Y 值与其对应的 X 值匹配。通过使用这些 X 值生成与 Y 长度相同的向量,然后可以将它们相互绘制。

这两个向量将具有以下形式:

X = [2,6,2,10,6,6,10,2,....6]
Y = [0.5,0.4,0.2,0.2,0.9,0.3....0.5]

这是一个示例代码

% X-data
X = [2,6,10];

% Generate random Y-data
n1 = 10;
n2 = 20;
n3 = 30;
n = n1 + n2 + n3;
Y = rand(1,n);

% Match X indices corresponding to Y
% Xall = [2,2,2,...,2,6,6,6,...,6,10,10,10,...,10]
X1 = zeros(1,n1);
X1(:) = X(1);
X2 = zeros(1,n2);
X2(:) = X(2);
X3 = zeros(1,n3);
X3(:) = X(3);
Xall = [X1 X2 X3];

plot(Xall,Y,'o')
xlim([min(X)-2,max(X)+2])

这将生成以下形式的图形

针对三个不同的 X 值绘制的随机 Y 数据。

于 2012-12-07T09:04:39.557 回答
2
plot(a(1:3:end))

这将绘制每三个点。

于 2012-12-07T00:55:14.703 回答
1
a=[0.5,0.4,0.2,0.2,....0.5]
b=[1:3:length(a)]

plot(a(b))
于 2012-12-07T00:52:40.137 回答