Call a function within an if statement

2 visualizaciones (últimos 30 días)
Philine Baumert
Philine Baumert el 4 de Jul. de 2022
Comentada: Philine Baumert el 4 de Jul. de 2022
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!!

Respuesta aceptada

Jonas
Jonas el 4 de Jul. de 2022
Editada: Jonas el 4 de Jul. de 2022
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

Más respuestas (0)

Categorías

Más información sobre MATLAB en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by