I would like to plot vertical lines at several specified points (x axis) on a graph. Each point is the onset of a stimulus. I specify the number of these points and where they occur with the following:
stimulus = zeros([1 20]);prompt = ['how many stimuli in this experiment? '];stimnumber = input(prompt);for stim=1:stimnumberquery=['when is onset of stim number ',num2str(stim)];disp(query);prompt = '? ';stimulus(1,stim)=input(prompt);end
This sets up an array ("stimulus") with up to 20 stimulus points I can specify.
Now how can I access "stimulus" to draw the vertical lines? I was able to do this with with a super klugey script such as:
y = [0 5]; x = [stimulus(1,1), stimulus(1,1)]; plot(x,y,'Color','b'); x = [stimulus(1,2), stimulus(1,2)]; plot(x,y,'Color','b'); x = [stimulus(1,3), stimulus(1,3)]; plot(x,y,'Color','b'); . . . %%and so forth up to
x = [stimulus(1,20), stimulus(1,20)]; plot(x,y,'Color','b');
Surely there is a cleaner way to do this with a for loop, but I just can't get it.
Any help?
Here's what it should look like, for instance if I specify 3 stimuli at x=300,400, and 450:
Best Answer