Multiplication of 1D and 2D vector to a 3D vector
    4 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
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 comentarios
Respuestas (4)
  madhan ravi
      
      
 el 21 de Oct. de 2020
        
      Editada: madhan ravi
      
      
 el 21 de Oct. de 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 comentarios
  madhan ravi
      
      
 el 21 de Oct. de 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 comentarios
  madhan ravi
      
      
 el 21 de Oct. de 2020
         [m, n] = size(B);
 C = zeros(m, n, numel(A));
 for k = 1:numel(A)
     C(:, :, A(k)) = B;
 end
 C
0 comentarios
Ver también
Categorías
				Más información sobre Loops and Conditional Statements en Help Center y File Exchange.
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

