How to refer to parameter from function in the loop.

42 views (last 30 days)
I've got such problem. Whole code is compiling at my teachers computer, whereas on mine it says that: Undefined function or method 'y' for input arguments of type 'double' [Just the part of the code to which it refers]:
for i=round(length(t)/2):length(t)-1
if y(i,1)<-20 && y(i+1,1)>-20
y is used in my func.m file. And now is the question: how to refer to it in my loop? I got no idea why it works there and not on my Matlab.
Muhammad Usman Saleem
Muhammad Usman Saleem on 2 Jun 2015
to me this statement if y(i,1)<-20 && y(i+1,1)>-20 % is used as check means when (i,1)<-20 AND y(i+1,1)>-2 then do with t20???

Sign in to comment.

Accepted Answer

Salaheddin Hosseinzadeh
Salaheddin Hosseinzadeh on 2 Jun 2015
Edited: Salaheddin Hosseinzadeh on 2 Jun 2015
Dear Michael,
You used y in your myfunc.m function, so it is not recognized in another function if you don't return as an output.
function y = myfunction(a,b,c)
% so this is your y function
% somewhere at the end of your function you have to assign y
% for example
y = a + b;
So later in another code, when you're using myfunction you get y back
% this is not myfunction (it's yourFunction) lol
function yourFunction(e,f,g)
% somewhere in this function you're calling myfunction
y = myfunction(a,b,c)
for i=round(length(t)/2):length(t)-1
if y(i,1)<-20 && y(i+1,1)>-20
As I understood this is your problem, if I'm wrong please explain more ;)
  1 Comment
Michael on 2 Jun 2015
Yep. That's what I needed to have explained. Basics but sometimes (I code once, or twice a semester for projects) I need that guidance.

Sign in to comment.

More Answers (0)


Find more on Loops and Conditional Statements 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!