Error with using vector(end) to get last index number
Show older comments
I have the following line of code:
if temp_small_time(end) ~= temp_large_time(end)
It's producing an error that says Subscript indices must either be real positive integers or logicals. I just want to know if the value at the end of each vector is the same, but I don't "know" where the end is, thus, I'm using the end keyword. What is wrong here?
3 Comments
louis rassinfosse
on 29 Apr 2016
You can know where the end is by using "length(X)" (if 1 line/column or "size(X)" if it is an MxN matrix ..
Jadee Kellogg
on 29 Apr 2016
louis rassinfosse
on 29 Apr 2016
What does your matrixes look like? Could you add the code?
Answers (3)
Star Strider
on 29 Apr 2016
0 votes
Sometimes an error will occur pointing to a line that is not actually where the error occurred. Check the line just before it to see if there’s some sort of problem with that line.
2 Comments
Jadee Kellogg
on 29 Apr 2016
Star Strider
on 29 Apr 2016
Since it’s an if block, it would be best to post the entire if block, since the problem would likely occur only if the particular statement was executed.
Seeing the code could give a clue.
Walter Roberson
on 29 Apr 2016
0 votes
It sounds like you assigned a value to a variable named "end"
3 Comments
Jadee Kellogg
on 29 Apr 2016
Star Strider
on 29 Apr 2016
I did that experiment (assigning a variable to ‘end’). MATLAB has serious problems with that, and throws an assignment error.
Walter Roberson
on 29 Apr 2016
Your array is empty. Accessing an empty array at (end) results in that error message.
Jadee Kellogg
on 29 Apr 2016
0 votes
Categories
Find more on Matrix Indexing 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!