Matlab - Bucle para COLUMNAS

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

Bucle para COLUMNAS

Publicado por Dinibel (42 intervenciones) el 20/03/2018 14:41:12
Hola! Tengo que hacer unos cálculos:

*Calcular la media
*Calcular la desviación standard
*Normalizar el vector

No tengo problema en hacerlo para una columna de valores, la cosa es que tengo 8 columnas, y preciso hacerlo para cada una de ellas independientemente

Lo escribi manual para cada columna, pero resulta muy impractico:

1
2
3
4
5
6
7
8
9
column1=datos(:,1);
column1_mean=mean(column1);
column1_std=std(column1);
normal_column1= normpdf(column1, column1_mean, column1_std);
 
column2=datos(:,2);
column2_mean=mean(column2);
column2_std=std(column2);
normal_column2= normpdf(column2, column2_mean, column2_std);

Y asi lo escribo para las 6 columnas, pero me resulta muy impractico... Como podria escribir un bucle que recorra columna por columna??

DATOS [14 x 6]:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
5,72675000000000	6,22608000000000	6,92508000000000	-4,00003206200000	20,6991974000000	7,66007000000000
6,22608000000000	6,92508000000000	7,66007000000000	-6,11400832200000	21,6190591800000	8,24506000000000
6,92508000000000	7,66007000000000	8,24506000000000	-7,99411557100000	22,4847574400000	8,74506000000000
7,66007000000000	8,24506000000000	8,74506000000000	-9,62717780500000	23,2828789100000	9,04072000000000
8,24506000000000	8,74506000000000	9,04072000000000	-11,0000190200000	24,0000103200000	9,68805000000000
8,74506000000000	9,04072000000000	9,68805000000000	-12,1053126600000	24,6242396500000	10,1480600000000
9,04072000000000	9,68805000000000	10,1480600000000	-12,9591288700000	25,1496596100000	10,8920500000000
9,68805000000000	10,1480600000000	10,8920500000000	-13,5833867100000	25,5718640200000	11,7863900000000
10,1480600000000	10,8920500000000	11,7863900000000	-14,0000052200000	25,8864467100000	12,6230800000000
10,8920500000000	11,7863900000000	12,6230800000000	-14,2460843700000	26,0890014900000	13,2654400000000
11,7863900000000	12,6230800000000	13,2654400000000	-14,4194447000000	26,1751222100000	13,8428300000000
12,6230800000000	13,2654400000000	13,8428300000000	-14,6330861800000	26,1404026700000	14,0825200000000
13,2654400000000	13,8428300000000	14,0825200000000	-15,0000087800000	25,9804367000000	14,4185100000000
13,8428300000000	14,0825200000000	14,4185100000000	-15,5822649000000	25,6908181300000	14,8105100000000
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: 46
Ha disminuido 1 puesto en Matlab (en relación al último mes)
Gráfica de Matlab

Bucle para COLUMNAS

Publicado por Fabián (19 intervenciones) el 21/03/2018 06:08:35
Hola Dinibel; espero te sirva:

1
2
3
4
5
6
7
8
9
10
11
clear all; clc; close all;
 
x=rand (5,1)
x_1=[x x x x x x x x]
columnas =8;
column_mean=[];column_std=[];normal_col=[];
for i=1:columnas;
    column_mean(:,i)=mean(x_1(:,i));
    column_std(:,i)=std(x_1(:,i));
    normal_col(:,i)=normpdf(x_1(:,i),column_mean(:,i),column_std(:,i));
end;

x y x_1 los ajustas con tus datos

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

Bucle para COLUMNAS

Publicado por Dinibel (42 intervenciones) el 21/03/2018 15:38:49
Gracias por tomar el tiempo de responder!
Sin embargo no comprendo quienes son x y x_1
Tampoco entiendo como despues guardo el total de mis datos normalizados en una matriz nueva!
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: 46
Ha disminuido 1 puesto en Matlab (en relación al último mes)
Gráfica de Matlab

Bucle para COLUMNAS

Publicado por Fabián (19 intervenciones) el 21/03/2018 15:51:02
x y x_1 son datos que coloque para hacer la prueba; la idea es que coloques tus datos de las columnas que reemplazarían a x_1; los datos que necesitas guardar quedan en column_mean, column_std y normal_col
Fabián
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