MATLAB:下标带有用于绘制的For循环

Min*_*ist 1 matlab plot for-loop

在MATLAB中,我试图建立一个for循环以绘制x,y诸如x1,y1, x2,y2和的下标对x3,y3。目标是for循环将下标传递给x和y并绘制3个数字。
这是代码:

x1 = rand(10,1);
y1 = rand(10,1);
x2 = rand(10,1);
y2 = rand(10,1);
x3 = rand(10,1);
y3 = rand(10,1);

for i = 1:3
plot(x(i),y(i))
end
Run Code Online (Sandbox Code Playgroud)

但是,我得到一个错误。那么,如何使用for循环对数据进行下标绘制呢?

Sar*_*ama 5

x(1)无法评估x1等等。动态变量会导致类似您的问题。不要首先创建它们。如果您的数据大小相同,请使用ND矩阵,否则使用单元格数组/结构。

x = rand(10,1,3);
y = rand(10,1,3);

for k = 1:3
    figure;
    plot(x(:,:,k),y(:,:,k));
end
Run Code Online (Sandbox Code Playgroud)