Matlab - ?? Index exceeds matrix dimensions. Error in ==&g

   
Vista:

?? Index exceeds matrix dimensions. Error in ==&g

Publicado por Ricardo (1 intervención) el 11/01/2011 16:44:58
buenos dias. tengo una rutina que hasta hace un mes que la utilize me funcionaba sin problemas. ahora que la vuelvo a utilizar no me deja continuar. es una rutina sencilla y la e revisado parte por parte y no encuentro cual puede ser la razon que antes me funcionaba y ahora. agradezco cualquier ayuda que me puedan dar.
este es el problema que me sale:

?? Index exceeds matrix dimensions. Error in ==>

error in ==> principio_3 at 79
for I=1:length(FILE(:,1))


clear all
clc

disp ('+++++++++++++++++++++++++++++++++')
disp ('+++ CLICAR ++')
disp ('+++ Climatologia del Caribe ++')
disp ('+++ realizado por: ++')
disp ('+++ GTE2 ROMERO B. RICARDO ++')
disp ('+++ GTE2 RODRIGUEZ C. DEYMAR ++')
disp ('+++ GTE2 GUEVARA P. EDINSON ++')
disp ('++ Asesorado por: ++')
disp ('++ MA1 LATANDRET SADID ++')
disp ('+++++++++++++++++++++++++++++++++')
disp ('oprima cualquier tecla para continuar');
pause
clc
%disp('presione una tecla para continuar')
%pause

%me direcciona el programa en la carpeta donde estan los archivos
DIREC = ('C:\Documents and Settings\PC-LAPTOPS\Mis documentos\MATLAB\CLICAR (Climatologia_del_Caribe)\datos');
xime = 1; feci=1;
FOLDER_DATOS = ['aire '
'humedadrelativa'
'presion '
'uwind '
'vwind '];
NOVAR = ['tem '
'rhum'
'pres'
'uwnd'
'vwnd'];

fprintf('\n')
fprintf('\n')
x=0;
while x<=0 || x>=3;
%si x esta ente 1 y 3 evalueme de lo contrario si es menor que 0 o mayo
%que 4 vuela y empieza mi cilo.
if x == 0;


disp('***********************************************')
disp('** Seleccione la opción que desea ejecutar **')
disp('** 1) Consultar **')
disp('** 2) Salir **')
disp('***********************************************')
fprintf('\n')
x = input('Seleccione el numero de la opción que desea: ');
clc
else
x = 0;
end
end
switch x
case 1

clc
disp('****************************************************')
disp('** seleccione el parametro que desea consultar **')
disp('** 1)Temperatura **')
disp('** 2)Humedad **')
disp('** 3)presión **')
disp('** 4)viento (u) **')
disp('** 5)viento (v) **')
disp('****************************************************')
OPT_1 = input('Seleccione el numero de la opción que desea: ');

% OPT = 4;
%===================================================
D = dir([DIREC deblank(FOLDER_DATOS(OPT_1,:)) '\*.mat']);
FILE = char(D.name);

fprintf('\n')
fprintf('1 = SI, 2 = NO\n')
OPT = input('Desea ver los archivos existentes del parametro en pantalla:');


aqui supongo yo esta el problema.
_______________________________________________________________________
clc
if OPT == 1
for I=1:length(FILE(:,1))
fprintf('%s\n',FILE(I,:))
end
end
___________________________________________________________________






fprintf('\n')
disp('A continuación ingresará los valores de inicio de fecha')
disp('Presione una tecla para continuar')
pause
a1 = input('Año de inicio: ');
m1 = input('Mes de inicio: ');
d1 = input('Día de inicio: ');
clc
disp('Ahora ingresará los valores de término de fecha')
disp('Presione una tecla para continuar')
pause
a2 = input('Año de fin: ');
m2 = input('Mes de fin: ');
d2 = input('Día de fin: ');
clc

for ies = a1:a2;
cd ([DIREC deblank(FOLDER_DATOS(OPT_1,:)) '\']);
ntemp = [deblank(NOVAR(OPT_1,:)) num2str(ies) '.mat'];
load (ntemp);
end

for iem = 1:length(ies);
if feci==1
fnui=datenum(ies(iem),1,1,0,0,0);
fnuf=datenum(ies(iem),12,31,18,0,0);
fnut=fnui:(1/4):fnuf;
fnut=fnut';
fcoi=datenum(a1,m1,d1,0,0,0);
fcof=datenum(a2,m2,d2,18,0,0);
fcot=fcoi:(1/4):fcof;
fcot=fcot';
for ico=1:length(fcot);
if a1 == 1948;
IN=find(fcot(ico)==fnut);
nami1=strcat([deblank(NOVAR(OPT_1,:)) num2str(ies(iem))]);
nami2=['f' num2str(IN)];
temp = getfield(tem1948, nami2);
temp = double(temp);
namar=datestr(fcot(ico),'yyyymmdd_HH');
arch=[namar '.dat'];
save((arch), 'temp', '-ascii')
else
IN=find(fcot(ico)==fnut);
nami1=strcat([deblank(NOVAR(OPT_1,:)) num2str(ies(iem))]);
nami2=['f' num2str(IN)];
temp = getfield(rhum2009, nami2);
temp = double(temp);
namar=datestr(fcot(ico),'yyyymmdd_HH');
arch=[namar '.dat'];
save((arch), 'temp', '-ascii')
end
end
feci=2;
else

end
end

fprintf('ELIGA LA CARPETA DONDE DESEA ALMACENAR LOS DATOS\n')
fprintf('LA RUTA VA ENTRE APOSTROFES\n')
disp ('eje:`c:\data/`')
OPT = input('Ruta de almacenamiento: ');
fprintf('\n')
fprintf(' EXISTE ESTE DIRECTORIO: 1 = SI, 0 = NO\n')
fprintf(' SI ELIGE LA OPCIÓN 0 : SE CREARÁ UNO NUEVO\n')
OPTN = input('¿Existe este directorio?: ');
if OPTN == 0
mkdir(OPT)
end

fprintf('\n')
clc
fprintf ('OPCION = 1 (BORRA TODA LA INFORMACION\n')
fprintf ('OPCION = 2 (NO BORRA NADA\n')

disp ('***********************************************************')
OPT2 = input (' Desea borrar los archivos existentes en este directorio: ');
clc
if OPT2 == 1
DESTINO = [OPT '*.dat'];
delete(DESTINO)
end

movefile('*.dat',OPT)
disp ('los archivos han sido copiados')

disp('+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++')
disp('++ para ver los archivos seleccionados puede ++')
disp('++ dirigirse a la carpeta de destino que seleccionó ++')
disp('++ o si lo desea puede salirse del programa, volverlo abrir ++')
disp('++ y con el menú open file abrir el archivo que seleccionó ++')
disp(' +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++')
x=0;
while x<=0 || x>=3;

if x == 0;
disp ('¿desea volver al menú de inicio?')
disp('1) si')
disp('2) no')
disp('si selecciona las opción 2 se saldrá del programa')
x = input ('seleccione el numero de la opción que desea ejecutar: ');
clc
else
x = 0;
end
end

if x == 1;
run('C:\Documents and Settings\PC-LAPTOPS\Mis documentos\MATLAB\proyecto\principio_3.m')
else
exit
end
end
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

?? Index exceeds matrix dimensions. Error in ==

Publicado por Sadid Latandret (1 intervención) el 06/06/2011 18:56:35
Buenas tardes,

Ricardo no se si ya resolviste el problema, sin embargo debes verificar el tamano de las matrices, si tienes otra duda me dices.
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