Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MATLAB:带有For循环的下标,用于绘图_Matlab_For Loop_Plot - Fatal编程技术网

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

MATLAB:带有For循环的下标,用于绘图,matlab,for-loop,plot,Matlab,For Loop,Plot,在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 然而,我得到了一个错误。那么,如何使用for循环在数据中下

在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
然而,我得到了一个错误。那么,如何使用for循环在数据中下标以进行绘图呢?

x1无法计算为x1,以此类推。动态变量会导致像您这样的问题。首先不要创建它们。如果数据大小相同,则使用ND矩阵,否则使用单元格数组/结构

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

for k = 1:3
    figure;
    plot(x(:,:,k),y(:,:,k));
end
x1不能计算为x1,以此类推。动态变量会导致像您这样的问题。首先不要创建它们。如果数据大小相同,则使用ND矩阵,否则使用单元格数组/结构

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

for k = 1:3
    figure;
    plot(x(:,:,k),y(:,:,k));
end

啊,我明白了。正如评论中指出的,不要这样做。更好的方法是假设所有变量大小相同:

X = rand(10,3);
Y = rand(10,3);

for k=1:size(X,2)
    figure
    plot(X(:,k),Y(:,k)) % creates 3 different figures
end

啊,我明白了。正如评论中指出的,不要这样做。更好的方法是假设所有变量大小相同:

X = rand(10,3);
Y = rand(10,3);

for k=1:size(X,2)
    figure
    plot(X(:,k),Y(:,k)) % creates 3 different figures
end

这就是你不应该创建动态变量的原因,这也是你不应该创建动态变量的原因