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 Commenti

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.
Matt J
Matt J il 25 Ott 2013
Modificato: Matt J il 25 Ott 2013
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.
Matt J
Matt J il 25 Ott 2013
Modificato: Matt J il 25 Ott 2013
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)

Accedi per commentare.

Risposte (2)

Walter Roberson
Walter Roberson il 25 Ott 2013
You assigned a value to a variable named "datestr" and then tried to use datestr() as a function call.

1 Commento

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

Accedi per commentare.

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

2 Commenti

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

Accedi per commentare.

Categorie

Scopri di più su Loops and Conditional Statements in Centro assistenza e File Exchange

Richiesto:

il 24 Ott 2013

Commentato:

il 25 Ott 2013

Community Treasure Hunt

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

Start Hunting!

Translated by