Utilizamos cookies propias y de terceros para mejorar la experiencia de navegación, y ofrecer contenidos y publicidad de interés.
Al continuar con la navegación entendemos que se acepta nuestra política de cookies.
Iniciar sesión Cerrar
Correo:
Contraseña:
Entrar
Recordar sesión en este navegador
Iniciar sesiónIniciar sesiónCrear cuentaCrear cuenta

Matlab - Multiplicar N matrices

Vista:
Me gusta: Está pregunta es útil y esta clara
0
No me gusta: Está pregunta no esta clara o no es útil
 
Asunto:

Multiplicar N matrices

Autor:Ignazio ignaziof.finazzi@gmail.com (3 intervenciones)
Fecha:06/03/2012 19:33:06
Hola soy nuevo en este foro y llevo ya unos dos o tres añitos con matlab pero a bajo nivel.

He estado haciendo un programa para sacar la factorizacion LU de una matriz, aunque se que el propio programa tiene una funcion para ello, mi duda es:

Con la funcion eval (interna del programa) he conseguido crear N matrices, que he llamado M, a las cuales les he dado valores dentro de un bucle; mi duda es, ahora necesito multiplicar todas esas variables (Matrices) M, que reciben los nombres (M1,M2,M3,...,Mk,...,MN) y para ello necesito llamarlas a todas, entonces, ¿existe una funcion que las llame sucesivamente o como programo en for, while o if para que me multiplique esas matrices???; porque no se como hacer para llamar a una matriz generica Mk para hacer algo con ella...Si no me he explicado bien pregunten que me aclaro mejor.

Muchas gracias
Responder
información
Otras secciones de LWP con contenido similar...
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:

Multiplicar N matrices

Autor:Ignazio (3 intervenciones)
Fecha:06/03/2012 19:37:51
Perdon dije que les habia dado valores cosa que me he dado cuenta de que no lo habia hecho bien, asi pues, ahora necesito, ir llamandolas una a una en bucle para darles los valores a cada una...
Comentar
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:

Multiplicar N matrices

Autor:JOSE JEREMIAS CABALLERO jjc94@hotmail.com (3 intervenciones)
Fecha:06/03/2012 19:47:39
Hola Ignacio.
Bueno copia tu avance al , para ver y entender mejor lo que estas preguntando.


Saludos.

JOSE JEREMIAS CABALLERO


Servicios de programacion matlab
Asesor de Proyectos con Matlab
programador en matlab
jjcc94@hotmail.com
Comentar
Imágen de perfil de JOSE JEREMIAS CABALLERO
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:

Multiplicar N matrices

Autor:JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (2531 intervenciones)
Fecha:07/03/2012 01:24:06
Hola Ignazio.

%% http://www.lawebdelprogramador.com/foros/Matlab/1316740-Multiplicar_N_matrices.html % Hola soy nuevo en este foro y llevo ya unos dos o tres añitos con matlab % pero a bajo nivel. % % He estado haciendo un programa para sacar la factorizacion LU de una % matriz, aunque se que el propio programa tiene una funcion para ello, % mi duda es: % % Con la funcion eval (interna del programa) he conseguido crear N % matrices, que he llamado M, a las cuales les he dado valores dentro % de un bucle; mi duda es, ahora necesito multiplicar todas esas variables % (Matrices) M, que reciben los nombres (M1,M2,M3,...,Mk,...,MN) y para % ello necesito llamarlas a todas, entonces, ¿existe una funcion que % las llame sucesivamente o como programo en for, while o if para que me % multiplique esas matrices???; porque no se como hacer para % llamar a una matriz generica Mk para hacer algo con ella... % Si no me he explicado bien pregunten que me aclaro mejor. clc clear all i=1; n_matrices=3; %generando matrices aleatorias while i<=n_matrices R=round(rand(3,3))+1; v=genvarname(['M',num2str(i)]); eval([v, '=R']); i=i+1; end %multiplicando matrices generadas aleatoriamente a=whos('M*'); Producto=eval(a(1).name); for i=2:n_matrices Producto=Producto*eval(a(i).name); end %producto de las matrices generadas aleatoriamente display(Producto)


EJECUCION >> genvarname3 M1 = 2 2 1 1 1 2 2 2 1 M2 = 1 2 1 2 1 2 1 1 1 M3 = 1 1 1 2 2 1 1 2 1 Producto = 28 35 21 20 25 15 28 35 21 >> genvarname3 M1 = 1 2 2 1 2 1 2 1 1 M2 = 1 1 1 1 1 1 1 1 2 M3 = 2 1 2 2 1 2 1 2 1 Producto = 27 24 27 21 18 21 21 18 21


Saludos.
JOSE JEREMIAS CABALLERO

Servicios de programacion matlab


Asesor de Proyectos con Matlab
programador en matlab
jjcc94@hotmail.com
Comentar
Imágen de perfil de Dave
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:

Multiplicar N matrices

Autor:Dave correa.dave30@gmail.com (807 intervenciones)
Fecha:06/03/2012 20:36:34
Hola Ignazio;

La consulta que planteas sobre como ir creando variables secuenciales se resuelve con el siguiente codigo:

clc,clear all for k = 1:5 v = genvarname(['A',num2str(k)]); eval([v ' = k+3']) end who

Espero que sea de alguna ayuda.

Saludos
Dave Correa
correa.dave30@gmail.com
Servicios de Programación Matlab
http://fismatlab.blogspot.com/
Comentar