# Undefined function or variable . which is defined in another workspace.

2 views (last 30 days)
Neel Patel on 16 Feb 2021
Commented: Neel Patel on 17 Feb 2021
Hello,
I have an problem and I made one code to solve that but I got an error.
Actually I have an function which I want to run in loop so I made function file and then make anouther programme to call that function but "for" loop variable is making error.
My code is somewhat complecated so I write here replica of that for example by which you all can have idea.
My function file code is:
function y=mytest(x)
y(t)=x(t)+1;
y=y(t);
end
and my programme file code is :
b=1:10;
myfun=@mytest;
for t=1:1:max(b)
a(t)=myfun(b(t));
end
I am getting thi error:
Undefined function or variable 't'.
Error in mytest (line 2)
y(t)=x(t)+1;
Error in myrun (line 4)
a(t)=myfun(x(t));
Thank you.
##### 2 CommentsShowHide 1 older comment
Neel Patel on 16 Feb 2021
thank you .I'm not getting what actually I can use in my code out of these.

Walter Roberson on 16 Feb 2021
b=1:10;
for t=1:1:max(b)
myfun = @(x) mytest(x,t); %<--- parameterized
a(t)=myfun(b(t));
end
function y=mytest(x,t) %<--- now receives t as well
y(t)=x(t)+1;
y=y(t);
end
This will fail, of course. You are passing the scalar b(t) into mytest, but you are expecting to be able to index it at t.
Neel Patel on 17 Feb 2021
Thank you.
your given syntax "myfun = @(x) mytest(x,t);" helped me to solve problem.

Ruger28 on 16 Feb 2021
Edited: Ruger28 on 16 Feb 2021
You pass in a value that the function sees as x, but you are trying to use t. You need to pass your b(t) value AND your t value if you need them, but it looks like you just want to add one to your value.
b=1:10;
myfun=@mytest;
for t=1:1:max(b)
a(t)=myfun(b(t));
end
function y=mytest(x)
y=x+1;
% y(t)=x(t)+1;
% y=y(t);
end
##### 2 CommentsShowHide 1 older comment
Neel Patel on 16 Feb 2021
If you want then I can give you my whole file but that may be take time to understand my perpose.

### Categories

Find more on Sources in Help Center and File Exchange

R2018a

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by