substitute each element of a vector into a matrix without using loop
    7 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    AllKindsofMath AllKinds
 el 19 de Nov. de 2013
  
    
    
    
    
    Respondida: Alfonso Nieto-Castanon
      
 el 20 de Nov. de 2013
            Hi I want to substitute each element of vector1 into 'x' in matrix1 and store each matrix in an array without using a loop. Please tell me how.
vector1=[1:1:10];
matrix1=[4*x 5*x ; 4*x 2*x];
Thanks in advance.
0 comentarios
Respuesta aceptada
  Jan
      
 el 19 de Nov. de 2013
        Like this?
 vector = 1:1:10;
 vector = reshape( vector, [1, 1, numel(vector)] ); 
 one_vector = ones( 1, 1, numel(vector) );
 matrix = [4 * vector, 5 * one_vector; 4 * one_vector, 2 * vector ];
5 comentarios
  Jan
      
 el 20 de Nov. de 2013
				Not as far as I can see. You will probably have to iterate over the third dimension.
Más respuestas (3)
  Sean de Wolski
      
      
 el 19 de Nov. de 2013
        So:
vector1=[1:1:10];
x = vector1;
matrix1=[4*x 5*x ; 4*x 2*x];
Or is x symbolic?
clear x;
syms x
matrix1=[4*x 5*x ; 4*x 2*x];
matrix1 = subs(matrix1,x,vector1)
5 comentarios
  Jan
      
 el 19 de Nov. de 2013
        Maybe something like the following?
 matrix = [4, 5; 4, 2]; 
 [p, q] = size( matrix ); 
 vector = 1:1:10; 
 matrix = repmat( matrix(:), 1, numel( vector ) ); 
 matrix = matrix .* repmat( vector, p*q, 1 ); 
 matrix = reshape( matrix, p, q, numel( vector ) );
This gives you a 3d matrix, where each layer contains the specified matrix, mulitplied by one entry in vector
1 comentario
  Alfonso Nieto-Castanon
      
 el 20 de Nov. de 2013
        perhaps something like:
 f = @(x)[4*x 5 ; 4 2*x];             % Matrix in functional form
 vector = 1:10;                       % Your vector of values for 'x'
 matrix = arrayfun(f,vector,'uni',0); % A cell array of matrices
 values = cellfun(@det,matrix);       % Determinant of each of those matrices
0 comentarios
Ver también
Categorías
				Más información sobre Creating and Concatenating Matrices 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!



