필터 지우기
필터 지우기

Call a function within an if statement

조회 수: 6 (최근 30일)
Philine Baumert
Philine Baumert 2022년 7월 4일
댓글: Philine Baumert 2022년 7월 4일
Hi all,
I'm writing an experiment and want 3 different types of tasks to be displayed in a random order and to repeat that 5 times but with a changing task order. I've written my tasks as functions (DensityInstruction, DirectionInstruction, SpeedInstruction) so as to call them in my script. The functions on their own are running smoothly, they are stored in the same folder as the script, and I made sure to provide all the necessary input.
If I'm running my script (see below), it's working until after the Shuffle (so I'm getting the randomtasks vector in my workspace) but it doesn't display my functions. It doesn't display any errors or warnings or anything... Any ideas as to why that may be and how to fix it?
try
task = [1 2 3];
ifi = 16.6;
for e = 1:5
randomtasks = Shuffle(task);
for n = 1:length(randomtasks)
if randomtasks==1
vblDensIns = DensityInstruction (ifi);
elseif randomtasks==2
vblDirIns = DirectionInstruction(ifi);
elseif randomtasks==3
vblSpeedIns = SpeedInstruction(ifi);
end
end
end
catch
Screen('CloseAll');
psychrethrow(psychlasterror);
end
Thanks so much in advance!!

채택된 답변

Jonas
Jonas 2022년 7월 4일
편집: Jonas 2022년 7월 4일
try
randomtasks(n)==1
i guess without the (n) you would compare a vector to a value e.g.
[1 3 2]==1
ans = 1×3 logical array
1 0 0
which is not true and the if is not fullfilled

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 MATLAB에 대해 자세히 알아보기

태그

제품


릴리스

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by