Arrays 如何在matlab中绘制特定点?

Arrays 如何在matlab中绘制特定点?,arrays,matlab,plot,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。 我该怎么画呢 a=[0.5,0.4,0.2,0.2,....0.5] b=[1:3:length(a)] plot(a(b)) 这将绘制每三个点。我想你有办法将每个Y值与其对应的X值匹配起来。通过使用这些X值生成与Y长度相同的向量,可以将它们相

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。 我该怎么画呢

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

plot(a(b))

这将绘制每三个点。

我想你有办法将每个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-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])