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

조회 수: 1(최근 30일)
Neel Patel 2021년 2월 16일
댓글: Neel Patel 2021년 2월 17일
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표시숨기기 이전 댓글 수: 1
Neel Patel 2021년 2월 16일
thank you .I'm not getting what actually I can use in my code out of these.

댓글을 달려면 로그인하십시오.

### 채택된 답변

Walter Roberson 2021년 2월 16일
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.
##### 댓글 수: 1표시숨기기 없음
Neel Patel 2021년 2월 17일
Thank you.
your given syntax "myfun = @(x) mytest(x,t);" helped me to solve problem.

댓글을 달려면 로그인하십시오.

### 추가 답변(1개)

Ruger28 2021년 2월 16일
편집: Ruger28 2021년 2월 16일
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표시숨기기 이전 댓글 수: 1
Neel Patel 2021년 2월 16일
If you want then I can give you my whole file but that may be take time to understand my perpose.

댓글을 달려면 로그인하십시오.

R2018a

### Community Treasure Hunt

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

Start Hunting!

Translated by