<< Chapter < Page Chapter >> Page >

>>x=[1,2,3,4,5,6]

Alternatively, use the notation ‘:’

>>x=1:6

This notation creates a vector starting from 1 to 6, in steps of 1. If a vector from 1 to 6 in steps of 2 is desired, then type:

>>x=1:2:6

ans =

1 3 5

Also, examine the following code:

>>ii=2:4:17

>>jj=20:-2:0

>>ii=2:(1/10):4

One can easily extract numbers in a vector. To concatenate an array, the example below shows how to use the operator ‘[ ]’:

>>x=[1:3 4 6 100:110]

To access a subset of this array, try the following:

>>x(3:7)

>>length(x) % gives the size of the array or vector

>>x(2:2:length(x))

Allocating memory

One can allocate memory for one-dimensional arrays (vectors) using the command zeros. The following command allocates memory for a 100-dimensional array:

>>y=zeros(100,1);

>>y(30)

ans =

0

One can allocate memory for two-dimensional arrays (matrices) in a similar fashion. The command

>>y=zeros(4,5)

defines a 4 by 5 matrix. Similar to the command zeros, the command ones can be used to define a vector containing all ones,

>>y=ones(1,5)

ans=

1 1 1 1 1

Special characters and functions

Some common special characters used in .m files are listed below for later reference:

Some common special characters used in .m files
Symbol Meaning
pi π ( 3 . 14 . . . . . ) size 12{π \( 3 "." "14" "." "." "." "." "." \) } {}
^ indicates power (for example, 3^2=9)
NaN not-a-number, obtained when encountering undefined operations, such as 0 / 0 size 12{0/0} {}
Inf Represents + size 12{+ infinity } {}
; indicates the end of a row in a matrix; also used to suppress printing on the screen (echo off)
% comments − anything to the right of % is ignored by the .m file interpreter and is considered to be comments
denotes transpose of a vector or a matrix; also used to define strings, for example, str1='DSP'
denotes continuation; three or more periods at the end of a line continue current function to next line

Some special functions are listed below for later reference:

Some common functions used in .m files
Function Meaning
sqrt indicates square root, for example, sqrt(4)=2
abs absolute value . size 12{ lline "." rline } {} , for example, abs(-3)=3
length length(x) gives the dimension of the array x
sum finds sum of the elements of a vector
find finds indices of nonzero

Here is an example of the function length ,

>>x=1:10;

>>length(x)

ans =

10

The function find returns the indices of a vector that are non-zero. For example,

I = find(x>4) finds all the indices of x greater than 4. Thus, for the above example:

>>find(x>4)

ans =

5 6 7 8 9 10

Control flow

.m files have the following control flow constructs:

• if statements

• switch statements

• for loops

• while loops

• break statements

The constructs if, for, switch and while need to terminate with an end statement. Examples are provided below:

if

>>x=-3;

if x>0

str='positive'

elseif x<0

str='negative'

elseif x== 0

str='zero'

else

str='error'

end

See the value of 'str' after executing the above code.

while

>>x=-10;

while x<0

x=x+1;

end

See the value of x after executing the above code.

for loop

>>x=0;

for j=1:10

x=x+j;

end

The above code computes the sum of all the numbers from 1 to 10.

break

With the break statement, one can exit early from a for or a while loop:

>>x=-10;

while x<0

x=x+2;

if x = = -2

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, An interactive approach to signals and systems laboratory. OpenStax CNX. Sep 06, 2012 Download for free at http://cnx.org/content/col10667/1.14
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'An interactive approach to signals and systems laboratory' conversation and receive update notifications?

Ask