How to refer to parameter from function in the loop.
1 view (last 30 days)
Show older comments
Michael
on 2 Jun 2015
Commented: Michael
on 2 Jun 2015
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
t20=[t20,t(i)];
end
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.
2 Comments
Muhammad Usman Saleem
on 2 Jun 2015
After looking on your question i can batter guide you....please share complete question
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???
Accepted Answer
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;
end
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
t20=[t20,t(i)];
end
As I understood this is your problem, if I'm wrong please explain more ;)
More Answers (0)
See Also
Categories
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!