Matlab 阵列交替

Matlab 阵列交替,matlab,Matlab,亲爱的,我正在努力解决我的一个问题。我必须处理15个变量,它们的结果将以迭代方式生成。我必须为每个变量存储每次迭代的结果。我将在两个循环下运行我的程序。一个是内环,另一个是外环。在内部循环中,我将存储15个变量中12个变量的每次迭代结果,比如在数组中,然后在外部循环中,我还将保存其余3个变量的结果。简单地说,我可以借助数组来实现这一点。但我不想引入这么多数组。你能给我提个建议吗?是用结构还是用射线?如果您能在上述结构下编写一个小程序,我将不胜感激。我可以添加我的代码的一个小例子 X1 = zer

亲爱的,我正在努力解决我的一个问题。我必须处理15个变量,它们的结果将以迭代方式生成。我必须为每个变量存储每次迭代的结果。我将在两个循环下运行我的程序。一个是内环,另一个是外环。在内部循环中,我将存储15个变量中12个变量的每次迭代结果,比如在数组中,然后在外部循环中,我还将保存其余3个变量的结果。简单地说,我可以借助数组来实现这一点。但我不想引入这么多数组。你能给我提个建议吗?是用结构还是用射线?如果您能在上述结构下编写一个小程序,我将不胜感激。我可以添加我的代码的一个小例子

X1 = zeros(a,1);
X2 = zeros(a,1);
X3 = zeros(a,1);  
X4 = zeros(a,1);  
X5 = zeros(a,1);  
X6 = zeros(a,1);  
X7 = zeros(a,1);  
X8 = zeros(a,1);  
X9 = zeros(a,1);  
X10 = zeros(a,1);  
X11 = zeros(a,1);  
X12 = zeros(a,1);  
X13 = zeros(b,1);  
X14 = zeros(b,1);  
X15 = zeros(b,1);  

   for i = 1:b  
       for j = 1: a   
           X1(i)= some calculation  
           X2(i) = some calculation  
           ...... and so on till   
           X12(i) = some calculation  
       end
    x13(j)=some calculation  
   X14(j)= some calculation
    X15(j) = some calculation
end

最后我想以表格的形式展示结果。是否可以将其转换为structure/Ray?

我看到前12个数组共享相同的长度,因此您可以将它们放在一个矩阵中,其中矩阵的列是您的数组,最后3个数组的列是相同的

x1 = zeros(a,12);
x2 = zeros(b,3);

for i = 1:a
    for k = 1:12 
        x1(i,k) = i+k; %// do something else
    end
end
for i = 1:b
    for k = 1:3 
        x2(i,k) = i+k; %// do something else
    end
end
编辑:也可以使用由定义的结构进行编辑

a = 5; b = 4; S = struct('x1',zeros(a,1),'x2',zeros(a,1),'x15',zeros(b,1));

S = 

     x1: [5x1 double]
     x2: [5x1 double]
    x15: [4x1 double]
您可以使用以下内容进行修改:

>> S.x2(3) = 3+3;
你可以这样画

>> S.x2

ans =

     0
     0
     6
     0
     0

和往常一样,对代码的书面描述远没有实际代码那么有意义。你有任何实际的代码来支持这个问题吗?学习使用数组。他们是你的朋友。特别是在Matlab中,从技术上讲,所有变量都是数组。我可以给出一个代码的小例子,你可以看一下如何存储数据。是的,这是一个很好的方法…但是我必须将单个数组传递给不同的函数进行不同的计算。在数组的形式中,我可以给它们一个名称,以便记住。但在矩阵形式下,我很难记住列名。此外,一个循环将在另一个循环下工作。所以这两个循环在我的问题中是不能分开的。