doing a boxcar or rectwin ?

39 vues (au cours des 30 derniers jours)
A
A le 20 Avr 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 commentaire
Image Analyst
Image Analyst le 21 Avr 2013
This IS the question section. Not sure what you were thinking about. Newsgroup maybe?

Connectez-vous pour commenter.

Réponses (1)

Image Analyst
Image Analyst le 21 Avr 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]);

Catégories

En savoir plus sur Propagation and Channel Models dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by