Difference between revisions of "MatlabIntro"
From CCRMA Wiki
(→Basics) |
|||
Line 21: | Line 21: | ||
− | === Vector and Matrices | + | * Comments are specified using % at the beginning of the comment. Only line comments are allowed (sorry, but no block-comments, although there's a shortcut in the editor to comment out all the selected lines) |
+ | |||
+ | <pre> | ||
+ | >> % This is a comment | ||
+ | >> x = 0; % this is another comment | ||
+ | </pre> | ||
+ | |||
+ | |||
+ | * Functions may return more than one value, and they can be of any type. For example: | ||
+ | |||
+ | <pre> | ||
+ | [r,c] = size([ones(2)]) | ||
+ | |||
+ | r = | ||
+ | |||
+ | 2 | ||
+ | |||
+ | |||
+ | c = | ||
+ | |||
+ | 2 | ||
+ | </pre> | ||
+ | |||
+ | |||
+ | == Vector and Matrices == | ||
* Use square brackets to define a vector/matrix | * Use square brackets to define a vector/matrix | ||
− | < | + | <pre> |
x = [1 2 3 4 5] | x = [1 2 3 4 5] | ||
− | </ | + | </pre> |
− | * Inside a vector/matrix definition, commas or spaces separate elements row-wise | + | * Inside a vector/matrix definition, commas or spaces separate elements row-wise. For example: |
<pre> | <pre> | ||
Line 42: | Line 66: | ||
</pre> | </pre> | ||
− | and they both generate a row vector. Semi-colons, instead, separate elements column-wise: | + | and they both generate a row vector. Semi-colons, instead, separate elements column-wise. For example, the following line will create a column vector: |
<pre> | <pre> | ||
>> x = [1;2;3;4;5] | >> x = [1;2;3;4;5] | ||
+ | </pre> | ||
+ | |||
+ | |||
+ | * You can combine both to create a bigger matrix: | ||
+ | |||
+ | <pre> | ||
+ | >> x = [1 2 3 4;2 3 4 5;3 4 5 6] | ||
+ | |||
+ | x = | ||
+ | |||
+ | 1 2 3 4 | ||
+ | 2 3 4 5 | ||
+ | 3 4 5 6 | ||
+ | |||
+ | </pre> | ||
+ | |||
+ | * Some useful vector/matrix operators are: | ||
+ | |||
+ | In the following code snippets I'll assume that x was defined as: | ||
+ | <pre> | ||
+ | >> x = [1 2;3 4] | ||
+ | |||
+ | x = | ||
+ | |||
+ | 1 2 | ||
+ | 3 4 | ||
+ | </pre> | ||
+ | |||
+ | ** Use ' as a suffix to transpose the vector/matrix: | ||
+ | <pre> | ||
+ | >> x' | ||
+ | |||
+ | ans = | ||
+ | |||
+ | 1 3 | ||
+ | 2 4 | ||
+ | >> | ||
+ | </pre> | ||
+ | |||
+ | ** The function size(x) will return the size of x: first number is the number of row and the second is the number of columns: | ||
+ | <pre> | ||
+ | >> size(x) | ||
+ | |||
+ | ans = | ||
+ | |||
+ | 2 2 | ||
+ | </pre> | ||
+ | |||
+ | ** You can access individual elements of a matrix using parenthesis (first argument specifies the row and the second specifies the column): | ||
+ | <pre> | ||
+ | >> x(2,1) | ||
+ | |||
+ | ans = | ||
+ | |||
+ | 3 | ||
</pre> | </pre> | ||
Revision as of 11:07, 21 September 2010
Basics
- Use semi-colon at the end of the line to prevent the output of the operation to be printed to the screen
>> x = 1 x = 1
vs.
>> x = 1; >>
- Comments are specified using % at the beginning of the comment. Only line comments are allowed (sorry, but no block-comments, although there's a shortcut in the editor to comment out all the selected lines)
>> % This is a comment >> x = 0; % this is another comment
- Functions may return more than one value, and they can be of any type. For example:
[r,c] = size([ones(2)]) r = 2 c = 2
Vector and Matrices
- Use square brackets to define a vector/matrix
x = [1 2 3 4 5]
- Inside a vector/matrix definition, commas or spaces separate elements row-wise. For example:
>> x = [1 2 3 4 5]
is the same as:
>> x = [1,2,3,4,5]
and they both generate a row vector. Semi-colons, instead, separate elements column-wise. For example, the following line will create a column vector:
>> x = [1;2;3;4;5]
- You can combine both to create a bigger matrix:
>> x = [1 2 3 4;2 3 4 5;3 4 5 6] x = 1 2 3 4 2 3 4 5 3 4 5 6
- Some useful vector/matrix operators are:
In the following code snippets I'll assume that x was defined as:
>> x = [1 2;3 4] x = 1 2 3 4
- Use ' as a suffix to transpose the vector/matrix:
>> x' ans = 1 3 2 4 >>
- The function size(x) will return the size of x: first number is the number of row and the second is the number of columns:
>> size(x) ans = 2 2
- You can access individual elements of a matrix using parenthesis (first argument specifies the row and the second specifies the column):
>> x(2,1) ans = 3
General tips
- Try to vectorize every operation if you can