Multiplication of 1D and 2D vector to a 3D vector
10 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
I have A = [1,2] and B = [1,1;1,1], what function I can use to get result of answer C which is 3D?
C(:,:,1) = [1,1
1,1]
C(:,:,2) = [1,1
1,1]
Is there anyway to realize it without loop?
0 Kommentare
Antworten (4)
madhan ravi
am 21 Okt. 2020
Bearbeitet: madhan ravi
am 21 Okt. 2020
C = reshape(A, 1, 1, []) .* B % use bsxfun() if you’re version is prior to 2016b
C = bsxfun(@times, reshape(A, 1, 1, []), B)
0 Kommentare
madhan ravi
am 21 Okt. 2020
Sigh. Your question says one thing and your example does another thing. Only God know what you want.
C = repmat(B, 1, 1, max(A))
0 Kommentare
madhan ravi
am 21 Okt. 2020
[m, n] = size(B);
C = zeros(m, n, numel(A));
for k = 1:numel(A)
C(:, :, A(k)) = B;
end
C
0 Kommentare
Siehe auch
Kategorien
Mehr zu Operators and Elementary Operations finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!