Matlab 阵列交替
亲爱的,我正在努力解决我的一个问题。我必须处理15个变量,它们的结果将以迭代方式生成。我必须为每个变量存储每次迭代的结果。我将在两个循环下运行我的程序。一个是内环,另一个是外环。在内部循环中,我将存储15个变量中12个变量的每次迭代结果,比如在数组中,然后在外部循环中,我还将保存其余3个变量的结果。简单地说,我可以借助数组来实现这一点。但我不想引入这么多数组。你能给我提个建议吗?是用结构还是用射线?如果您能在上述结构下编写一个小程序,我将不胜感激。我可以添加我的代码的一个小例子Matlab 阵列交替,matlab,Matlab,亲爱的,我正在努力解决我的一个问题。我必须处理15个变量,它们的结果将以迭代方式生成。我必须为每个变量存储每次迭代的结果。我将在两个循环下运行我的程序。一个是内环,另一个是外环。在内部循环中,我将存储15个变量中12个变量的每次迭代结果,比如在数组中,然后在外部循环中,我还将保存其余3个变量的结果。简单地说,我可以借助数组来实现这一点。但我不想引入这么多数组。你能给我提个建议吗?是用结构还是用射线?如果您能在上述结构下编写一个小程序,我将不胜感激。我可以添加我的代码的一个小例子 X1 = zer
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中,从技术上讲,所有变量都是数组。我可以给出一个代码的小例子,你可以看一下如何存储数据。是的,这是一个很好的方法…但是我必须将单个数组传递给不同的函数进行不同的计算。在数组的形式中,我可以给它们一个名称,以便记住。但在矩阵形式下,我很难记住列名。此外,一个循环将在另一个循环下工作。所以这两个循环在我的问题中是不能分开的。