Matlab - generar un vector ordenado por filas de una Matriz

 
Vista:

generar un vector ordenado por filas de una Matriz

Publicado por oscar (1 intervención) el 10/03/2018 03:01:40
Amigos les comparto este ejercicio si les gusta compartan lo, vale aprender a mi costo mucho aprender este ejercicio y no lo encontraba como hacer en Internet
Si les gusta háganme saber y les compartiré otros ejercicios

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
38
39
40
%  Realizar un programa en Matlab que permita ingresar una matriz de 4x4 
% con valores randomicos enteros comprendidos entre 1 y 5, con estos
% valores generar dos vectores A y B de 8 elementos cada uno, ingresados en
% orden segun las filas de la matriz
M2=randi([1 5],4);
disp(M2);
c=1;
for(i=1:1:2)       %Toma las dos primeras filas con las 4 columnas y las ordena segun las filas de la matrizde forma ascendente
    for(j=1:1:4)
    A(c)=M2(i,j);
      c=c+1;
    end
end
disp(A);
c=1;
for(i=3:1:4)    %Toma los valores desde la tercera fila con las 4 columnas y las ordena segun las filas de la matriz
    for(j=1:1:4)
      B(c)=M2(i,j);
      c=c+1;
    end
end
disp(B);
 
% Realizar un programa en Matlab que permita ingresar una matriz de 4x4 
% con valores randomicos enteros comprendidos entre 1 y 5, con estos
% valores generar dos vectores A y B de 8 elementos cada uno, ingresados en
% orden segun las COLUMNAS  de la matriz
M2=randi([1 5],4);
disp(M2);
c=1;
for(i=1:1:8)
      vect1(i)=M2(c);
      c=c+1;
end
disp(vect1);
for(i=1:1:8)
      vect2(i)=M2(c);
      c=c+1;
end
disp(vect2);
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
1
Responder
Imágen de perfil de Daniel
Val: 399
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

generar un vector ordenado por filas de una Matriz

Publicado por Daniel (264 intervenciones) el 15/03/2018 23:17:14
Bien, pero se puede aprovechar de mejor manera las funcionalidades de matlab para hacerlo más sencillo, por ejemplo, usando reshape:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
clc
clear
M2=randi([1 5],4);
 
disp(M2);
 
A_fila=reshape(M2(1:2,:)',1,8);
B_fila=reshape(M2(3:4,:)',1,8);
A_columna=reshape(M2(:,1:2),1,8);
B_columna=reshape(M2(:,3:4),1,8);
 
disp(' ')
 
disp('por filas')
disp(A_fila)
disp(B_fila)
disp('por columnas')
disp(A_columna)
disp(B_columna)

Saludos

Daniel
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