Adding a third array for comparison
12 次查看(过去 30 天)
显示 更早的评论
I have a three main array the consist of sub array themselves and I have managed to combine two of the main array in the loop shown below into a single new array. The issue I am facing is that I am not really certain of how to add the third main array. Here is the issue:
Given: A = {A1 A2 A3} B = {B1 B2 B3} C = {C1 C2 C3}
Desired output: V = {A1+B1+C1 A1+B1+C2 A1+B1+C3 A1+B2+C1 A1+B2+C2 A1+B2+C3 ..... and so on.
Current output: V = {A1+B1 A1+B2 A1+B3 A2+B1 A2+B2 A2+B3 A3+B1 A3+B2 A3+B3}
Code:
b = 1;
i = 1;
v = 1;
if true
if b <= length(B)
while b <= length(B)
V{v} = A{i} + B{b}
b = b + 1;
v = v + 1;
end
end
while true
if b > length(B)
b = 1;
i = i + 1;
if i <= length(A)
while b <= length(B)
V{v} = A{i} + B{b}
b = b + 1;
v = v + 1;
end
else
return
end
end
end
end
0 个评论
回答(1 个)
Walter Roberson
2021-1-27
V = cellfun(@(m1,m2,m3) m1+m2+m3, A, B, C, 'uniform', 0)
4 个评论
Walter Roberson
2021-1-27
Your code is too complicated
loop over the indices for the elements of A
loop over the indices for the elements of B
loop over the indices for the elements of C
calculate index A plus index B plus index C
store it to the list of results
end of loop
end of loop
end of loop
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!