concatenate arrays after performing addition
조회 수: 1(최근 30일)
표시 이전 댓글
I'm trying to add all the elements of A with element 1 of B. then do it again with element 2 etc. I'd like to concatinate the four 3x3 arrays into one array D (3x12). But i'm getting error messages.
This test code does what i want with array C, but i'm struggling getting all the previous FOR loops of C and the concatenation
A = [1,2,3;4,5,6;7,8,9];
B = [2,3,4,5];
C = zeros(3);
D = zeros(3,12);
for i = 1:numel(B)
C = A + B(i)
end
Thanks for any assistance you give,
Neil
댓글 수: 0
채택된 답변
Andrei Bobrov
2019년 10월 15일
A = [1,2,3;4,5,6;7,8,9];
B = [2,3,4,5];
D = reshape(permute(A + reshape(B,1,1,[]),[2,1,3]),size(A,2),[])';
추가 답변(1개)
Jos (10584)
2019년 10월 15일
A little simpler than all those permutes and reshapes:
A = [1 2 3 ; 4 5 6 ; 7 8 9] ;
B = [2 3 4 5] ;
C = repmat(A, numel(B), 1) + repelem(B(:), size(A,1), size(A,2))
댓글 수: 0
참고 항목
범주
Find more on Creating and Concatenating Matrices in Help Center and File Exchange
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!