I'm getting a matrix subscript index error

The error is:
Subscript indices must either be real positive integers or logicals.
I'm referencing each matrix using the following:
time_stamp = [time_stamp; datestr(now, 31)];
fprintf(fid, %s ... ,time_stamp(end, 1:end), ...);
This is in a while loop and time_stamp grows each cycle through by one string. Why am I getting this error if I'm using 'end' to reference the matrix?

5 Comments

How are we supposed to know ? please post your code with the line causing the error
Those are the two lines of code causing the error.
What does DBSTOP tell you? In particular, when code execution stops at the K>> prompt and you execute
K>> time_stamp(end, 1:end)
what is the result?
The result gives me the error when I try doing the step-through method for debugging.
I'm not sure you answered my question. What specifically is the output (include error messages please) when you execute this expression in isolation
K>> time_stamp(end, 1:end)

Sign in to comment.

Answers (2)

You assigned a value to a variable named "datestr" and then tried to use datestr() as a function call.

1 Comment

Brian commented
datestr() is a built-in function already created in Matlab. I have not assigned anything to it.

Sign in to comment.

Perhaps you accidentally made end the name of a variable? At that line, what does
which end
return?

2 Comments

No. It is impossible to make end the name of a variable.
No, I made sure I never tried assigning a variable to end.

Sign in to comment.

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Asked:

on 24 Oct 2013

Commented:

on 25 Oct 2013

Community Treasure Hunt

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

Start Hunting!