doing a boxcar or rectwin ?

39 views (last 30 days)
A
A on 20 Apr 2013
Hello,
This is my first post here in this forum. I hope I get what I want.
I am a very beginner Matlab user. What I want to do is to plot multiple rectangle ( for fMRI block design , for ex: such as this one : ----__----__----__----__ ( or baseline block baseline block baseline ..etc) Of course this is not a perfect example. The most important thing that I am looking to do is the timing. For example I want the the baseline starts from 0 and last for 20 seconds. Then the rectangular box or the block starts from 20 and last to 40 seconds and so on. So a total of, for example, 10 blocks, 5 baselines and 5 task or box or blocks. So the total time is 10*20=200 seconds.
I tried different function in matlab such as rectwin or rectangularPulse but honestly I could not do it.
NB: I wan not sure whether I should post this here or in the question section!
Thanks
  1 Comment
Image Analyst
Image Analyst on 21 Apr 2013
This IS the question section. Not sure what you were thinking about. Newsgroup maybe?

Sign in to comment.

Answers (1)

Image Analyst
Image Analyst on 21 Apr 2013
Use zeros() and ones() to make a cycle, then repmat to replicate it, like this demo:
rectWidth = 10;
oneCycle = [zeros(1, rectWidth), ones(1, rectWidth)];
% Plot it
subplot(2,1,1);
plot(oneCycle, 'bs-', 'LineWidth', 3);
grid on;
ylim([0 1.1]);
% Use repmat to make lots of them
numberOfCycles = 6;
multipleCycles = repmat(oneCycle, [1, numberOfCycles]);
% Plot it
subplot(2,1, 2);
plot(multipleCycles, 'bs-', 'LineWidth', 2);
grid on;
ylim([0 1.1]);
% Enlarge figure to full screen.
set(gcf, 'units','normalized','outerposition',[0 0 1 1]);

Categories

Find more on Propagation and Channel Models in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!