MATLAB Answers

0

What is generating "Subscript indices must either be real positive integers or logicals" in my code?

Asked by Kelly McGuire on 4 Apr 2017
Latest activity Answered by Image Analyst
on 5 Apr 2017
Accepted Answer by Jan
I have attached my code. I know the error happens in my mathematical expression, I just don't understand exactly what the error is telling me. Lines 14-20 show a mathematical function I created to fit my data and that I want to use in a non-linear squares fit to optimize two parameters: p1 and p2. Please help me figure out what this error is saying in my situation. Thanks!

  0 Comments

Sign in to comment.

2 Answers

Answer by Jan
on 4 Apr 2017
Edited by Jan
on 4 Apr 2017
 Accepted Answer

Please do not code as screenshot, but as text. Then the readers can use it by copy&paste.
matlabFunction is a 79282x1 vector. In you code you try to evaluate it as a function with non-integer indices. This cannot work. Simplified:
x = 1:3
x(2.7) % ERROR!

  2 Comments

Sorry about that. So, I shouldn't use matlabFunction? I tried, now, doing modelFun = @(p,VarName1) before the function, and it isn't a 79282x1 vector anymore, but now it's saying not enough input arguments.
Please post the code and the complete error message.

Sign in to comment.


Answer by Image Analyst
on 5 Apr 2017

We see this several times a day or week. So, since it's a VERY Frequently Asked Question, I just refer you to the FAQ: http://matlab.wikia.com/wiki/FAQ#How_do_I_fix_the_error_.22Subscript_indices_must_either_be_real_positive_integers_or_logicals..22.3F

  0 Comments

Sign in to comment.