MATLAB Answers

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

2 views (last 30 days)
Kelly McGuire
Kelly McGuire on 4 Apr 2017
Answered: Image Analyst on 5 Apr 2017
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!


Sign in to comment.

Accepted Answer

Jan on 4 Apr 2017
Edited: Jan on 4 Apr 2017
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!


Kelly McGuire
Kelly McGuire on 4 Apr 2017
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.

Sign in to comment.

Sign in to answer this question.