如何在matlab中绘制特定点?

时间:2012-12-07 00:48:22

标签: arrays matlab plot

我的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点。 我怎么画这个?

3 个答案:

答案 0 :(得分:3)

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

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

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])

将生成以下形式的数字

Random Y-data plotted against three distinct X-values.

答案 1 :(得分:2)

plot(a(1:3:end))

这将绘制每三分之一。

答案 2 :(得分:1)

a=[0.5,0.4,0.2,0.2,....0.5]
b=[1:3:length(a)]

plot(a(b))