how to multiply one array of vector in another ?
    4 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    Amin Gan
 el 10 de Feb. de 2016
  
    
    
    
    
    Comentada: Walter Roberson
      
      
 el 10 de Feb. de 2016
            There are two same size vectors,A and B (1*2000 in size).
for each value of A must be used in equation below for all B values:
equation=A+A^2+B
for example:
A=[1 2 3]
B=[10 20 30]
I want following results:
 1+1^2+10 ,  1+1^2+20,  1+1^2+30
 2+2^2+10 ,  2+2^2+20,  2+2^2+30
 3+3^2+10 ,  3+3^2+20,  3+3^2+30
But, A and B both are 2000 in size, I expect to get 2000*2000 matrix for eqn.
can you please advise?
Thnks
0 comentarios
Respuesta aceptada
  Walter Roberson
      
      
 el 10 de Feb. de 2016
        bsxfun(@(a,b) a + a.^2 + b, A(:), B)
2 comentarios
  Walter Roberson
      
      
 el 10 de Feb. de 2016
				Yes. Just be sure to use .^ instead of ^ . Also be sure that your B is a row vector
bsxfun(@(a,b) a + sqrt(a.^2 - b), A(:), B)
If B is not a row vector then
bsxfun(@(a,b) a + sqrt(a.^2 - b), A(:), B(:).')
Más respuestas (0)
Ver también
Categorías
				Más información sobre Matrix Indexing 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!

