What does the colon operator (:) in MATLAB do?

The code below is used to draw a simple octagon on the screen with the word stop in the middle.
My question is, can anyone explain what is happening in the top statement. (variable t). What does the (1:2:15)' do?
Also, for example, if I wanted to draw a circle on the screen, how would I modify this code to do so.
t = (1:2:15)'*pi/8;
x = sin(t);
y = cos(t);
fill(x,y,'r')
axis square off
text(0,0,'STOP','Color',[0 0 0],'FontSize',80,'FontWeight','bold','HorizontalAlignment','center')
title('Figure STOP')

 Respuesta aceptada

Paulo Silva
Paulo Silva el 21 de Mzo. de 2011
1:2:15 creates a vector like this:
[1,3,5,7,9,11,13,15]
doc colon
The ' puts the values in lines (rows) instead of columns.
[1;3;5;7;9;11;13;15]
doc transpose
first vale is 1, step is 2 and last value is 15
If you want to create the circle you can do this
t=0:0.1:2*pi;
and keep the rest of the code without any changes

Más respuestas (3)

the cyclist
the cyclist el 21 de Mzo. de 2011

2 votos

x and y are being created via a "parameterization" through t. The variable t is running from 0 to 2pi (i.e. around the circumference of the circle), but it does so in eight discrete intervals. (That's why you get eight sides.)
If you breakpoint your code after the first line, you will see that t takes equally spaced values around the circle. (The "linspace" command would have been another way to do this.) The part "1:2:15" is the vector [1 3 5 7 9 11 13 15].
Alexander
Alexander el 14 de Ag. de 2013

0 votos

Yes but it's been seen as := as well, what does that do?

2 comentarios

Jan
Jan el 15 de Ag. de 2013
At 1st this is a new question and not an answer of the original question. At 2nd ":=" might be seen anywhere, but not in valid Matlab code. In a mathematical context a ":=" means, that the left side is defined as the right side.
Image Analyst
Image Analyst el 15 de Ag. de 2013
I'm not even sure that Alexander "Answered" the question he thought he was. His response is a total non sequiter.

Iniciar sesión para comentar.

Shray Gupta
Shray Gupta el 7 de Feb. de 2021

0 votos

n = [0:1/fs:t];
what does it mean

Categorías

Más información sobre Creating and Concatenating Matrices en Centro de ayuda y File Exchange.

Productos

Etiquetas

Preguntada:

el 21 de Mzo. de 2011

Comentada:

el 27 de Jun. de 2022

Community Treasure Hunt

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

Start Hunting!

Translated by