Matlab chokes on 'end' operator

2 views (last 30 days)
Paul
Paul on 16 Jul 2014
Commented: Image Analyst on 17 Jul 2014
I am trying to run a script and cannot go beyond the line that plots
% Plot the relative Position Error for an entire week after the epoch time
% of the latest ephemeris
TIME = VAL(10,end-1):60/86400:VAL(10,end)-60/86400;
P1=figure;plot(TIME(end-10079:end),POSERR);
the error I'm getting is
  • _ *Subscript indices must either be real positive integers or logicals* _ *
all variables have been defined
  1 Comment
James Tursa
James Tursa on 16 Jul 2014
What are the dimensions of the variables involved? Have you used the debugger to pause execution at that line to verify the variable dimensions?

Sign in to comment.

Accepted Answer

Image Analyst
Image Analyst on 16 Jul 2014
Looks to me like it should be okay. Try putting parentheses around "end-1" and "end-10079" and see if that fixes it. If it doesn't then set
lastTimeIndex = length(TIME);
lastValIndex = size(VAL, 2);
and then use lastTimeIndex and lastValIndex instead of end and see if that works.
Do you want parentheses around "VAL(10,end)-60/86400" or not. That's another thing to check.
  2 Comments
Paul
Paul on 16 Jul 2014
Thank you, very much the assignment worked. I don't know why the 'end' did not, but now, after I used lastTimeIndex. it all works
Image Analyst
Image Analyst on 17 Jul 2014
Glad it worked. Please go ahead and mark the answer as "Accepted" then.

Sign in to comment.

More Answers (0)

Categories

Find more on Programming in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!