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

时间:2019-04-24 12:00:42

标签: matlab for-loop plot

在MATLAB中,我试图构建一个for循环以绘制 using (AmazonCloudWatchLogsClient client = new AmazonCloudWatchLogsClient("xxx", "xxx", "xx-xxxx-2")) { var request = new FilterLogEventsRequest() { LogGroupName = GroupName, LogStreamNames = new List<string>() { StreamName } }; Task<FilterLogEventsResponse> response = client.FilterLogEventsAsync(request); response.Wait(); if (null != response.Result && null != response.Result.Events) result = response.Result.Events.Count; } 下标对,例如x,yx1,y1, x2,y2。目标是for循环将下标传递给x和y并绘制3个数字。
这是代码:

x3,y3

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

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:3)

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

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