doing a boxcar or rectwin ?
39 views (last 30 days)
Show older comments
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
on 21 Apr 2013
This IS the question section. Not sure what you were thinking about. Newsgroup maybe?
Answers (1)
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]);
0 Comments
See Also
Categories
Find more on Propagation and Channel Models in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!