Matlab - crear matriz a partir de varias

   
Vista:

crear matriz a partir de varias

Publicado por Danis (10 intervenciones) el 16/03/2012 10:33:43
Hola a todos,
quiero crear una matriz a partir de varias matrices; lo que quiero es crear una matriz cuyas columnas sean la primera columna de cada una de las matrices iniciales...
las matrices que tengo son double o complex double...
puede hacerse lo que quiero hacer, sin necesidad de ir columna a columna? es decir, llamar a las matrices una a una de forma que se cree la matriz deseada automaticamente??


un saludo, gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de JOSE JEREMIAS CABALLERO

crear matriz a partir de varias

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3432 intervenciones) el 16/03/2012 14:42:23
Hola Danis.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
%% http://www.lawebdelprogramador.com/foros/Matlab/1318569-crear_matriz_a_partir_de_varias.html
%% crear matriz a partir de varias
% Hola a todos,
% quiero crear una matriz a partir de varias matrices; lo que quiero
% es crear una matriz cuyas columnas sean la primera columna de cada
% una de las matrices iniciales...
% las matrices que tengo son double o complex double...
% puede hacerse lo que quiero hacer, sin necesidad de ir columna a
% columna? es decir, llamar a las matrices una a una de forma que se
% cree la matriz deseada automaticamente??
% un saludo, gracias.
%%
 
 
clear all
clc
i=1;
n_matrices=3;
%generando  matrices aleatorias
while i<=n_matrices
    R=round(10*rand(3,3))+1;
    v=genvarname(['M',num2str(i)]);
    eval([v, '=R']);
    i=i+1;
end
 
%extraendo las primeras columnas matrices generadas aleatoriamente
a=whos('M*');
N=eval(a(1).name);
Matriz=N(:,1);
for i=2:n_matrices
N=eval(a(i).name);
Matriz(:,i)=N(:,1);
end
 
% matriz generadas de columna aleatorias aleatoriamente
display(Matriz)


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
EJECUCION
>> genvarname5
 
M1 =
     3    10     4
     3     8     3
     2     7     7
 
 
M2 =
   11     5     5
     3     2    11
     4     8     5
 
 
M3 =
     7     3     5
     3     9     8
     5    10     4
 
 
Matriz =
     3    11     7
     3     3     3
     2     4     5



Saludos
JOSE JEREMIAS CABALLERO

Servicios de programacion matlab


Asesor de Proyectos con Matlab
programador en matlab
jjcc94@hotmail.com


http://matlabcaballero.blogspot.com/
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

crear matriz a partir de varias

Publicado por Danis (10 intervenciones) el 19/03/2012 14:11:53
Hola, el programa funciona perfecto,

yo ya tengo las matrices generadas, no quiero unas matrices arbitrarias.
He generado unas matrices del estilo que generan el programa anterior y hace lo que quiero, el tema esta en que tengo matrices mucho mas grandes y son complex doubles, cuando lo intento con dichas matrices me da error debido a la linea de: N=eval(a(1).name);
no se lo que esta pasando

gracias de antemano, un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de JOSE JEREMIA CABALLERO

crear matriz a partir de varias

Publicado por JOSE JEREMIA CABALLERO jjcc94@hotmail.com (3432 intervenciones) el 19/03/2012 15:32:44
Hola Danis.
Mandame tu codigo ami correo y tus matrices generadas.
Tendria que ver tus matrices, para hacer un codigo con los condiciones que quieres.

Saludos
JOSE JEREMIAS CABALLERO

Servicios de programacion matlab


Asesor de Proyectos con Matlab
programador en matlab
jjcc94@hotmail.com

http://matlabcaballero.blogspot.com/
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de JOSE JEREMIAS CABALLERO

crear matriz a partir de varias

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3432 intervenciones) el 19/03/2012 16:16:23
Hola Danis.
Tienes que retractarte en tu comentario anterior, donde dices que el programa no funciona para matrices complejos, acabo de probar el programa para matrices complejos y si funciona para matrices complejos
Antes de hacer un comentario en el foro, con respecto a las preguntas que respondo, revisa, revisa y revisa y hasta agotar todas las opciones y luego puedes decir que el programa no funciona como tu quieres.
Ademas en tu pregunta al inicio, en ningun momento dices que tus matrices son complejos, si tu pregunta hubiera sido detallado, entonces el codigo que hubiera puesto, sería mas preciso a tu pregunta. Pero en ningun momento dices que matrices son complejas.
En el mundo de la programacio hay que ser detalloso al momento de brindar la informacion,o de pedir una ayuda en el foro.


Saludos
JOSE JEREMIAS CABALLERO

Servicios de programacion matlab


Asesor de Proyectos con Matlab
programador en matlab
jjcc94@hotmail.com

http://matlabcaballero.blogspot.com/
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de JOSE JEREMIAS CABALLERO

crear matriz a partir de varias

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3432 intervenciones) el 19/03/2012 16:22:40
EJECUCION DE MATRICES COMPLEJAS.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
>> genvarname5
 
M1 =
 
   9.0000 + 4.0000i   7.0000 +10.0000i   5.0000 + 8.0000i
   4.0000 + 2.0000i   4.0000 + 6.0000i  10.0000 + 6.0000i
   1.0000 + 7.0000i  11.0000 +11.0000i  10.0000 +10.0000i
 
 
M2 =
 
  10.0000 + 2.0000i   5.0000 + 1.0000i   1.0000 + 2.0000i
   3.0000 + 4.0000i   6.0000 +10.0000i   4.0000 + 5.0000i
   6.0000 + 8.0000i   4.0000 +10.0000i   9.0000 + 9.0000i
 
 
M3 =
 
   5.0000 + 4.0000i   4.0000 + 3.0000i   7.0000 + 6.0000i
   1.0000 + 1.0000i   2.0000 + 7.0000i   8.0000 + 8.0000i
  10.0000 + 1.0000i   2.0000 + 9.0000i   7.0000 + 7.0000i
 
 
Matriz =
 
   9.0000 + 4.0000i  10.0000 + 2.0000i   5.0000 + 4.0000i
   4.0000 + 2.0000i   3.0000 + 4.0000i   1.0000 + 1.0000i
   1.0000 + 7.0000i   6.0000 + 8.0000i  10.0000 + 1.0000i





Saludos
JOSE JEREMIAS CABALLERO

Servicios de programacion matlab


Asesor de Proyectos con Matlab
programador en matlab
jjcc94@hotmail.com

http://matlabcaballero.blogspot.com/
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Crear matriz a partir de varias

Publicado por Jon jon.martt@gmail.com (4 intervenciones) el 10/10/2012 10:12:54
Hola chicos;

Me encuentro con un problema parecido, necesito crear un código que me vaya recorriendo archivos con 26415 x 24 datos y cada uno de estos archivos se guarde en la matriz;
por lo tanto necesito ir implementando la matriz para que dentro de la matriz entren 24 archivos en total, y cada archivo tiene 26415 x 24; y tengo que hacerlo así si o si, ¿ podríais ayudarme?

Gracias. Espero notificacion
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

crear matriz a partir de varias

Publicado por Danis (10 intervenciones) el 19/03/2012 16:23:14
Hola jjcc94,
tienes toda toda la razon al respecto, me he precipitado haciendo tal comentario, y te pido mil disculpas por ello, de veras.
El problema no era que no funcionase, ni mucho menos, que funciona tu programa perfectamente. Tras intentarlo varias veces ha funcionado, el problema era bastante basico, simplemente no habia cargado los archivos...
De nuevo, pido mil disculpas y gracias por el codigo, sin el cual aun estaria intentando hacer al cosa.

Un cordial saludo.Danis
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar