<< 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))
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
Some common special characters used in .m files are listed below for later reference:
Symbol | Meaning |
pi | |
^ | indicates power (for example, 3^2=9) |
NaN | not-a-number, obtained when encountering undefined operations, such as |
Inf | Represents |
; | 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:
Function | Meaning |
sqrt | indicates square root, for example, sqrt(4)=2 |
abs | absolute value , 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
.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
Notification Switch
Would you like to follow the 'An interactive approach to signals and systems laboratory' conversation and receive update notifications?