Matlab - Ayuda con mensaje de error

 
Vista:

Ayuda con mensaje de error

Publicado por Jorobaster (1 intervención) el 07/09/2006 17:15:56
Me da este error en matlab al ejecutar:

??? Subscript indices must either be real positive integers or logicals.

Error in ==> C:\\MATLAB6p5\\work\\interpola.m
On line 12 ==> x=[sp3.XYZ(1,p-3,sat),sp3.XYZ(1,p-2,sat),sp3.XYZ(1,p-1,sat),sp3.XYZ(1,p,sat),sp3.XYZ(1,p+1,sat),sp3.XYZ(1,p+2,sat),sp3.XYZ(1,p+3,sat),sp3.XYZ(1,p+4,sat)];

Error in ==> C:\\MATLAB6p5\\work\\posicion.m
On line 18 ==> pos=interpola(tx,S(i)); %Llamamos a la funcion que obtiene mediante interpolacion la posicion (x,y,z) y el error del satelite

Error in ==> C:\\MATLAB6p5\\work\\seguimiento.m
On line 13 ==> pos=posicion(tiempo,datos,prn);%Llamamos a la rutina posicion con los datos anteriores

Me suele dar muy a menudo y ni siquiera se por que es. Agradeceria si alguien me diese la manera de librarme de el.

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
sin imagen de perfil

RE:Ayuda con mensaje de error

Publicado por Edgar Muñoz (62 intervenciones) el 07/09/2006 21:39:13
Los subíndices de una matriz o vector deben ser reales positivos enteros o lógicos, es decir, los subíndices deben ser mayores o iguales a 1

Por ejemplo:

a=4;
x=[1 2 3 4];

x(2) % esto es correcto

x(0) % esto produce un error porque el subíndice es menor que 1

x(-1) % también produce el error.

x(a-5) % error porque a-5 es menor que 1

Entonces, cuando utilices una expresión como subíndice de una matriz o vector debes asegurarte que no sea menor a 1
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