Matlab - Error: IMPROPER ASSIGNMENT WITH RECTANGULAR EMPTY MATRIX

   
Vista:

Error: IMPROPER ASSIGNMENT WITH RECTANGULAR EMPTY MATRIX

Publicado por Jacqueline (40 intervenciones) el 18/05/2015 17:11:06
Tengo el sgte problema, estoy corriendo un script en matlab de analisis de conglomerados y cuando corro el script en la linea:

1
2
3
4
for p=1:length(t2)
 
       in(p)=find(t1==t2(p));%LINEA QUE GENERA EL ERROR
end

me genera el sgte error: IMPROPER ASSIGNMENT WITH RECTANGULAR EMPTY MATRIX

AQUI VA EL SCRIPT Y ADEMAS ADJUNTO LOS ARCHIVOS



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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
%PARTE I
 
%Analisis de Cluster para obtener las conf sinopticas de viento cruzado
 
clear all
close all
 
cd /home/jacqueline/Documentos/Antartica/pre_proceso/Reanalisis_clusters
 
%Creando anomalias por metodo de cluster
 
load HGT500.mat %cargando la matriz de hgt (datos de reanalis)
REANALYSIS=HGT500;
clear HGT
 
%Cargando las fechas de los 5 fenomenos significativos
 
load Fecha_CW.mat
f=floor(Fecha_CW);
clear Fecha_CW
 
 
% get meteo data for 12 UTC
% WATCH OUT! be careful with how many attributes the meteo data has (lon,
% lat,level, time, etc)
REA_12Z=REANALYSIS(:,:,3:4:end); % (lon,lat,time) time 4 per day each 6h
% new time for meteo data
 
t_12z=floor(t(3:4:end));%deja solamente el dia
m_12z=month(t_12z);
 
% seasonal points for Reanalysis data, we want to get the climatology of
% each season during the last 10,5 years
% mr: monthly reanalysis 
% s:summer, a:autumn, w:winter, p: springs
 
mr_s=[find(m_12z==12) find(m_12z==1)  find(m_12z==2) ];
mr_a=[find(m_12z==3)  find(m_12z==4)  find(m_12z==5) ];
mr_w=[find(m_12z==6)  find(m_12z==7)  find(m_12z==8) ];
mr_p=[find(m_12z==9)  find(m_12z==10) find(m_12z==11)];
 
% get seasonal variable and climatology
 
% Same but for events, we want to get the reanalysis data for all events
% and after that the anomalies (events - climatology)
% same but till 30 jun 2014
%f=f(f<=datenum(2014,06,30));
 
m_f=month(f);%FECHA DE MIS EVENTOS
 
% me: monthly events, 
% s:summer, a:autumn, w:winter, p: springs
% e: events
 
me_s=[find(m_f==12)' find(m_f==1)'  find(m_f==2)' ];%verano
me_a=[find(m_f==3)'  find(m_f==4)'  find(m_f==5)' ];%otono
me_w=[find(m_f==6)'  find(m_f==7)'  find(m_f==8)' ];%invierno
me_p=[find(m_f==9)'  find(m_f==10)' find(m_f==11)'];%primavera
 
 
season=['s' 'a' 'w' 'p'];
 
%clear i p y
 
%eval:evaluar
 
for i=1:length(season)
    % getting mean climatology
    eval(['r_meanH_' season(i) '=nanmean(REA_12Z(:,:,mr_' season(i) '),3);']);
    % getting seasonal reanalysis data
    eval(['rH_' season(i) '=REA_12Z(:,:,mr_' season(i) ');']);
    % getting seasonal reanalysis time
    eval(['t_12z_' season(i) '=t_12z(mr_' season(i) ');']);
    eval(['t1=t_12z_' season(i) ';']);
    % tt: seasonal events time
   eval(['tt_' season(i) '=f(me_' season(i) ');']);%me:eventos por estacion
   eval(['t2=tt_' season(i) ';']);
   % getting position of the events into reanalysis data time
   %clear in
 
 
   for p=1:length(t2)
 
       in(p)=find(t1==t2(p)); %LINEA QUE GENERA EL ERROR
   end
 
 
   % getting seasonal events in Reanalysis data
   eval(['r_e_' season(i) '= rH_' season(i) '(:,:,in);']);
   % getting anomalies
   for y=1:length(t2) % length of t2 and hgt_e_season are equal
      eval(['r_anomH_' season(i) '(:,:,y)= r_e_' season(i) '(:,:,y)-r_meanH_' season(i) ';']);
   end
end
 
%las fechas de eventos+reanalisis son tt_a;tt_p;tt_s y tt_w (corrspondiente
%a primavera, otono, invierno y verano)


PD: ESPERO QUE ALGUIEN ME AYUDE A RESOLVER EL PROBLEMA ES URGENTE

SALUDOS

pd: MI CORREO ES JACQUI197@GMAIL.COM
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 Royeth

Error: IMPROPER ASSIGNMENT WITH RECTANGULAR EMPTY MATRIX

Publicado por Royeth jesus.royeth@gmail.com (749 intervenciones) el 18/05/2015 18:55:11
te está generando error porque find(t1==t2(p)) cuando p es igual a 102 es vacío , es decir que no encuentra a t2(102) en t1 y así para los otros p siguientes, entonces el problema viene de muchos antes pero ya es parte de tus datos


https://www.facebook.com/royethmatlab
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