Matlab - Creacion de matrices a partir de una matriz previamente cargada .xlsx en MAtlab

 
Vista:
sin imagen de perfil
Val: 6
Ha disminuido su posición en 40 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

Creacion de matrices a partir de una matriz previamente cargada .xlsx en MAtlab

Publicado por Alin (3 intervenciones) el 04/06/2020 08:12:57
Hola a todos soy nueva en Matlab.
Tengo duda en cuanto, como realizar matrices a partir de una matriz que se cargo previamente .xlsx
La matriz que se cargo tiene una dimensión de 10x80 y debo de dividirla de tal forma que obtenga 8 matrices de 10x10 y después descomponer cada matriz en un vector de 1x100.

Dejo mis lineas que ocupe para cargar el archivo

1
2
3
4
5
6
7
8
9
10
11
12
close all force
clc
 
filename = 'Libro1.xlsx';
 
C = xlsread(filename);
 
disp(C)
 
 
%B = [C(:)'];
%disp(B);

Espero puedan ayudarme.
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

Creacion de matrices a partir de una matriz previamente cargada .xlsx en MAtlab

Publicado por Daniel (354 intervenciones) el 04/06/2020 09:48:28
Hola,

Creo que basicamente seria algo así

1
2
3
4
5
6
7
intermedias = cell(1, 8);
 
for i = 1:8
	inicio = 10 * (i-1);
	submat = c(:, inicio + (1:10));
	intermedias{i} = submat(:);
end

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
sin imagen de perfil
Val: 6
Ha disminuido su posición en 40 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

Creacion de matrices a partir de una matriz previamente cargada .xlsx en MAtlab

Publicado por Alin (3 intervenciones) el 05/06/2020 05:10:03
Perdón, y si me dice que el indice en la posición 2 de la linea 5 exceder los limites de la matriz, que no debe de exceder de 10?
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
Val: 6
Ha disminuido su posición en 40 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

Creacion de matrices a partir de una matriz previamente cargada .xlsx en MAtlab

Publicado por Alin (3 intervenciones) el 05/06/2020 05:13:54
Perdón, y si me dice que el indice en la posición 2 de la linea 5 exceder los limites de la matriz, que no debe de exceder de 10?
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

Creacion de matrices a partir de una matriz previamente cargada .xlsx en MAtlab

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 05/06/2020 06:10:37
1
2
3
4
5
6
7
8
9
10
11
12
13
14
clear
%D=xslread('Libro1.xlsx')
D=rand(10,80);
d=8;
c=size(D,2);
j=1;
 for i=1:c/d:c
     eval(['M',num2str(j),'=','D(:,',num2str(i),':',num2str(i),'+',num2str(c/d-1),')'])
     j=j+1;
 end
 
 for j=1:d
      eval(['F',num2str(j),'=','M',num2str(j),'(:)'])
 end
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
Val: 918
Bronce
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Creacion de matrices a partir de una matriz previamente cargada .xlsx en MAtlab

Publicado por Daniel (354 intervenciones) el 05/06/2020 10:55:41
Hola,

Pues es fácil, la matriz no tiene 80 filas, para un caso generico se puede usar algo como

1
2
3
4
5
6
7
8
9
10
11
12
13
c = rand(10,79);
[n, m] = size(c);
 
step = 10;
numMat = ceil(m/step);
intermedias = cell(1, numMat);
 
for i = 1:numMat
    inicio = (i-1) * step + 1;
    fin = min(inicio + step - 1, m);
    submat = c(:, inicio:fin);
    intermedias{i} = submat(:);
end

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
0
Comentar