Rand Function in MATLAB

4 visualizaciones (últimos 30 días)
Aashita Galundia
Aashita Galundia el 30 de En. de 2020
Comentada: Aashita Galundia el 31 de En. de 2020
I am very new to MATLAB. I'm trying to create trials using the rand function. I want four different rectangles on my figure to highlight at random.
Below is my code.
The figure is plotted with four rectangles, I want to highlight the four rectangles on random. Thanks!
%Create the figure for trial
t = figure
xlim([1 5])
ylim([1 5])
lower_l=rectangle('Position', [1.5 1.5 .5 .5]);
hold on
upper_l=rectangle('Position', [1.5 4 .5 .5]);
hold on
lower_r=rectangle('Position', [4 1.5 .5 .5]);
hold on
upper_r=rectangle('Position', [4 4 .5 .5]);
hold on
cross=text(3, 3, '+');
set(cross, 'fontsize', 20);**
%create condition without target
y = rand(lower_l, lower_r, upper_l, upper_r);
set(y, 'EdgeColor', 'r')
pause(0.1)
set(y, 'EdgeColor', 'k')
pause(0.3)
Appreciate any comments!

Respuestas (1)

Cris LaPierre
Cris LaPierre el 30 de En. de 2020
Editada: Cris LaPierre el 30 de En. de 2020
The random functions in MATLAB generate random numbers, not select a random value from a supplied vector.
What you could consider doing is creating a vector of the rectangle handles, and then randomly generate an index to extract one of them. That might look somethign like this
%create condition without target
y = [lower_l, lower_r, upper_l, upper_r];
idx = randi(length(y));
set(y(idx), 'EdgeColor', 'r')
pause(0.1)
set(y(idx), 'EdgeColor', 'k')
pause(0.3)
  1 comentario
Aashita Galundia
Aashita Galundia el 31 de En. de 2020
Thanks, this was very helful!

Iniciar sesión para comentar.

Categorías

Más información sobre Creating and Concatenating Matrices en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by