Matlab - Sobreescribir valoresen una matriz

 
Vista:
Imágen de perfil de DOKO
Val: 10
Ha aumentado su posición en 5 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

Sobreescribir valoresen una matriz

Publicado por DOKO (4 intervenciones) el 08/11/2020 05:22:33
Hola, tengo las siguientes matrices
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
A= [1 4
2  7
5  5
0  0
0  0
8  7
6  6
0  0
0  0
1   1
2  8]  ;
 
B=[5 8
4 9];
 
C=[7 7
12 10];

como puedo añadir la matriz B en vez del primer grupo de ceros y la matriz C en vez del segundo grupo de ceros de la matriz A?

Tendria que quedarme una matriz igual a esta
1
2
3
4
5
6
7
8
9
10
11
D= [1 4
2  7
5  5
5  8
4  9
8  7
6  6
7  7
12  10
1   1
2  8]  ;
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
sin imagen de perfil
Val: 918
Bronce
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Sobreescribir valoresen una matriz

Publicado por Daniel (354 intervenciones) el 08/11/2020 19:17:52
Hola,

A ver si esto vale

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
A = [1 4
2  7
5  5
0  0
0  0
8  7
6  6
0  0
0  0
1  1
2  8];
 
B = [5 8; 4 9];
C = [7 7; 12 10];
 
num = size(A, 1);
rows = all(A == 0, 2);
pos = find(rows(1:end-1) == rows(2:end) & rows(1:end-1));
 
A(pos(1) + [0, 1, num, num + 1]) = B;
A(pos(2) + [0, 1, num, num + 1]) = C;

Saludos,
Daniel Rodríguez
Analytics Lane
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de marcos
Val: 10
Ha aumentado su posición en 5 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

Sobreescribir valoresen una matriz

Publicado por marcos (4 intervenciones) el 09/11/2020 19:05:50
Excelente 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

Sobreescribir valoresen una matriz

Publicado por Miguel Gonzalez A. (42 intervenciones) el 05/10/2023 21:41:30
A= [1 4
2 7
5 5
0 0
0 0
8 7
6 6
0 0
0 0
1 1
2 8] ;

B=[5 8
4 9];

C=[7 7
12 10];

A(4:5,:)=B;
A(8:9,:)=C
A =
1 4
2 7
5 5
5 8
4 9
8 7
6 6
7 7
12 10
1 1
2 8
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