Matlab - Introducir matriz dentro de otra

 
Vista:

Introducir matriz dentro de otra

Publicado por David (18 intervenciones) el 08/04/2011 02:19:39
No se si me podreis echar una mano con una duda que tengo.
Imaginaos que tengo una matriz de este estilo mxn, la que sea y me tengo otra matriz lxn, es decir con las mismas columnas y me gustaria montar una matriz en la que la segunda estuviera dentro de la primera. Pongo un ejemplo:

1 2 3
4 5 6
7 8 9
10 11 12

y otra del estilo

13 14 15
16 17 18

y me gustaría que estas matrices que ya las tengo porque las he obtenido de pasos anteriores se unieran formando una sóla pero uniendo la segunda en la 3era linea de la primera. Es decir del ejemplo anterior me gustaria obtener como resultado lo siguiente.

1 2 3
4 5 6
7 8 9
13 14 15
16 17 18
10 11 12

Siempre quiero que se introduzca la nueva matriz en la tercera fila, y además esta segunda matriz que introduzco es de dimensiones variables, es decir, siempre tiene el mismo numero de columnas que la primera, pero va variando el numero de filas que quiero introducir.

Espero haberme explicado bien.

Si a alguien se le ocurriera algo estaría muy agradecido.
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
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Introducir matriz dentro de otra

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 08/04/2011 02:46:06
Hola David.
Solo hay hacer estos pasos:
%=================
A=[ 1 2 3; 4 5 6; 7 8 9; 10 11 12]
B=[13 14 15;16 17 18]
A=[A;B]
%==================

%EJECUCION:
>> agregandomatrices

A =
1 2 3
4 5 6
7 8 9
10 11 12


B =
13 14 15
16 17 18


A =
1 2 3
4 5 6
7 8 9
10 11 12
13 14 15
16 17 18

Ahora si no quieres se que mostren cuando ejecutas A y B entonces haces pequeños cambios.


%=================
A=[ 1 2 3; 4 5 6; 7 8 9; 10 11 12];
B=[13 14 15;16 17 18];
A=[A;B] %concatena matrices y se vuelve llamar A la nueva matriz unida por A anterior y B
%==================


%EJECUCION:
>> agregandomatrices
A =
1 2 3
4 5 6
7 8 9
10 11 12
13 14 15
16 17 18



Saludos:
JOSÉ JEREMIAS CABALLERO
ASESOR DE TESIS Y PROYECTOS DONDE SE NECESITA MATLAB
PROFESOR DE MATLAB Y METODOS NUMERICOS
PROGRAMADOR EN MATLAB.
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
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Introducir matriz dentro de otra

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 08/04/2011 03:11:57
Hola David.
Me confundi en la primera respueta. Disculpa. Lo volvi a leer nuevamente y observé esto.
Tu ejemplo no concuerda con los explicas. Dices " 3era linea de la primera" pero en tu ejemplo estan en la 4ta linea de la primera.
Te lo resuelto de las dos maneras, tanto como explicas y tambien como lo haces en tu ejemplo. Ya tu lo tomaras lo que deseas.

%====================================
´%PROGRAMA SEGUN LO EXPLICADO EN 3ra linea de la primera
A=[ 1 2 3; 4 5 6; 7 8 9; 10 11 12];
B=[13 14 15;16 17 18];
A=[A(1:2,:);B;A(3:end,:)]
%===========================

%EJECUCION
>> agregandomatrices

A =
1 2 3
4 5 6
13 14 15
16 17 18
7 8 9
10 11 12


%====================================
´%PROGRAMA SEGUN EL EJEMPLO
A=[ 1 2 3; 4 5 6; 7 8 9; 10 11 12];
B=[13 14 15;16 17 18];
A=[A(1:3,:);B;A(4:end,:)]


%EJECUCION
>> agregandomatrices
A =
1 2 3
4 5 6
7 8 9
13 14 15
16 17 18
10 11 12


Saludos:
JOSÉ JEREMIAS CABALLERO
ASESOR DE TESIS Y PROYECTOS DONDE SE NECESITA MATLAB
PROFESOR DE MATLAB Y METODOS NUMERICOS
PROGRAMADOR EN MATLAB.
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

Introducir matriz dentro de otra

Publicado por David (18 intervenciones) el 08/04/2011 03:34:00
Genial José, me confundí al explicarlo.

Muchas gracias, todas las dudas me las resuelves tu.

No se si te acordarás que te mandé unos archivos y un programa de lectura de datos que estuvimos conversando en otra duda hace unos días. ¿Tenía buena pinta el programa? Un poco largo y sigo dudando en como podría hacer el bucle para leer tantas lineas como GDL y además que luego estuvieran todos los datos en una matriz para poder trabajar con ellos. De ahí tambien esta pregunta que he hecho porque habia pensado en hacer otra función que sólo leyera los GDL y luego unirlos a la otra matriz a partir de la tercera linea.

Muchas gracias por esto.

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 JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Introducir matriz dentro de otra

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 08/04/2011 03:44:21
Hola David.
Si me recordé. Lo estuve intentando por varios caminos pero no me han salido hasta ahorita.
Una opcion seria pasarlo a celdas y separarlos por espacios vacios. Pero por eso camino no lo he intentado.Pero en el intento se aprende mucho de Matlab.
"Ahora recuerdo q los matematicos querian demostrar una propiedad, pero la final acababan demostrando otras propiedades, y creaban otras teorias. "

Saludos:
JOSÉ JEREMIAS CABALLERO
ASESOR DE TESIS Y PROYECTOS DONDE SE NECESITA MATLAB
PROFESOR DE MATLAB Y METODOS NUMERICOS
PROGRAMADOR EN MATLAB.
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

Introducir matriz dentro de otra

Publicado por David (18 intervenciones) el 08/04/2011 03:58:03
Jeje, muchas gracias de todas formas, la verdad es que cuando empecé con esto no imaginé que sería capaz de hacer algo como lo que te mandé. De todas formas tengo que hacerlo si o si, asi que cuando lo consiga me pondré en contacto contigo para que lo veas.

Muchas gracias

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 JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Introducir matriz dentro de otra

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 08/04/2011 05:24:36
Ok. David.

Saludos:
JOSÉ JEREMIAS CABALLERO
ASESOR DE TESIS Y PROYECTOS DONDE SE NECESITA MATLAB
PROFESOR DE MATLAB Y METODOS NUMERICOS
PROGRAMADOR EN MATLAB.
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
sin imagen de perfil

Introducir matriz dentro de otra

Publicado por alberto (24 intervenciones) el 23/03/2013 18:06:07
Mi duda es algo parecida a esta pero un poco más compleja. Parto de una Matriz A y una B por ejemplo:

A=
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16

B=
44 44
44 44

Entonces que a partir de un pixel seleccionado en la matriz A, por ejemplo el (2,2) se añada "machacando" la matriz B. El resultado sería

C=

1 2 3 4
5 44 44 8
9 44 44 12
13 14 15 16

Necesito hacer algo así para incluir una imágen en otra a través de un click con el ratón. Básicamente tengo una plantilla musical en la que añadirle notas, de manera que cuando el usuario haga click en una determinada zona en la imágen de la plantilla se añada la nota musical, para posteriormente guardar la partitura completa.

Sé que es un poco engorroso y espero haberme explicado bien, si alguien puede arrojarme algo de luz será BIENVENIDO.Muchas gracias¡¡¡
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

Introducir matriz dentro de otra

Publicado por Jhon Eduar (2 intervenciones) el 02/02/2014 02:36:24
Buenas noches tengo una duda.

Tengo ds matrices n x n por ejemplo:

Matriz 1
1 2 3
4 5 6
7

Matriz 2

* * *
* * *
* * *

y deseo que mi matriz final sea

1 2 3
4 5 6
7 * *

osea es como complementar la otra matriz para que cumpla la propiedad n x n
pues la dos matrices ya las tengo construidas en java donde el usuario envia
una palabra y tengo que ordenarla en forma de matriz y adicional si no esta completa la misma
autocompletarla con asteriscos, se me ocurrio constrir dos matrices com el ejemplo que puse
una completa de asteriscos que supone complemente la otra, solo que no se como hacer ese paso
me gustaria saber si me pueden colaborar lo agredeceria.

quedo atento a cualquier comentario.
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
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Introducir matriz dentro de otra

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 02/02/2014 22:00:18
todo los elementos de la matriz son distintos de ceros?.
todos los elementos de las matriz son netamente positivos?.
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

Introducir matriz dentro de otra

Publicado por jhon bonilla (2 intervenciones) el 02/02/2014 22:40:07
los elementos de la matriz son caracteres de cualquier tipo, son palabras. por ejemplo
yo ingreso la palabra perro

la forma ordenada seria una matriz 3 por 3

p e r
r o *
* * *

y se completa la matriz con asteriscos.....

Agradezco la atencion
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

Introducir matriz dentro de otra

Publicado por Alan Adad (1 intervención) el 21/06/2016 04:27:27
HOla que tal, espero me pueda ayudar. Tengo una duda similar. Necesito leer varios valores pero en submatrices de 3,3 y estos irlos guardando en una matriz de mayor tamaño que acumule las matrices de 3x3 que se van generando dentro de un ciclo.
Es decir:
leo la matriz 3x3 y la guardo en la matriz general.
Leo de nuevo la 3x3 con valores diferentes y la guardo en la general en los espacios siguientes para no encimarlas.
Todo esto pensaba hacerlo en un ciclo. Pero tengo problemas para esto.
Gracias por su respuesta.
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