Matlab - etiquetas de valores

 
Vista:

etiquetas de valores

Publicado por Aura (33 intervenciones) el 22/07/2011 13:47:02
Hola a todos,

tengo un fichero con dos columas: DOY_b y ETo_b y otro fichero con una columna: DOY_a al que
tengo que añadirle otra columna (ETo_a) y cuyos valores se determinen según las etiquetas de valores del primero archivo. A continuación pongo un ejemplo sencillo y corto de lo que tengo que hacer.

Es decir:
DOY_b ETo_b DOY_a ETo_a
1 100 1 100
2 200 1 100
3 300 1 100
... ... 1 100
... ... 2 200
... ... 2 ...
... ... ... ...
... ... 3 300
... ... ... ...
... ... ... ...
... ... ... ...
... ... ... ...

¿Se programaría así?

clear all
close all
clc
DOY_a=[1 1 1 1 2 2 2 3 3 3 3 3];
DOY_b=[1 2 3];
ETo_b=[100 200 300];
ETo_a=zeros(1,12);

for i=1:length(DOY_b)
for j=1:length(DOY_a)
while DOY_b(i)==DOY_a(j)
ETo_a(j)==ETo_b(i);
end
end
end
ETo_a

% La solución que busco es: ETo_a=[100 100 100 100 200 200 200 300 300 300 300 300]

Muchas gracias.
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

etiquetas de valores

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 22/07/2011 15:29:06
hola Aura.
%==================================
clear all
DOY_a=[1 1 1 1 2 2 2 3 3 3 3 3];
DOY_b=[1 2 3];
ETo_b=[100 200 300];
n=length(DOY_a);
ETo_a=zeros(1,n);
for i=1:length(DOY_b)
for j=1:length(DOY_a)
if DOY_b(i)==DOY_a(j)
ETo_a(j)=ETo_b(i);
end
end
end
display(ETo_a);
%==============================

EJECUCION
>> repeticion_elementos
ETo_a =
100 100 100 100 200 200 200 300 300 300 300 300
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

etiquetas de valores

Publicado por Aura (33 intervenciones) el 27/07/2011 11:48:34
Muchísimas 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