Variables
Variables are defined using the assignment operator,=. MATLAB is a weakly typed programming language because types are implicitly converted.[12]
It is an inferred typed language because variables can be assigned
without declaring their type, except if they are to be treated as
symbolic objects,[13] and that their type can change. Values can come from constants, from computation involving values of other variables, or from the output of a function. For example:>> x = 17
x =
17
>> x = 'hat'
x =
hat
>> y = x + 0
y =
104 97 116
>> x = [3*4, pi/2]
x =
12.0000 1.5708
>> y = 3*sin(x)
y =
-1.6097 3.0000
Vectors and matrices
A simple array is defined using the colon syntax: init:increment:terminator. For instance:>> array = 1:2:9
array =
1 3 5 7 9
array (or assigns a new value to an existing variable with the name array) which is an array consisting of the values 1, 3, 5, 7, and 9. That is, the array starts at 1 (the init value), increments with each step from the previous value by 2 (the increment value), and stops once it reaches (or to avoid exceeding) 9 (the terminator value).>> array = 1:3:9
array =
1 4 7
>> ari = 1:5
ari =
1 2 3 4 5
ari an array with the values 1, 2, 3, 4, and 5, since the default value of 1 is used as the incrementer.Indexing is one-based,[14] which is the usual convention for matrices in mathematics, although not for some programming languages such as C, C++, and Java.
Matrices can be defined by separating the elements of a row with blank space or comma and using a semicolon to terminate each row. The list of elements should be surrounded by square brackets: []. Parentheses: () are used to access elements and subarrays (they are also used to denote a function argument list).
>> A = [16 3 2 13; 5 10 11 8; 9 6 7 12; 4 15 14 1]
A =
16 3 2 13
5 10 11 8
9 6 7 12
4 15 14 1
>> A(2,3)
ans =
11
>> A(2:4,3:4)
ans =
11 8
7 12
14 1
>> eye(3,3)
ans =
1 0 0
0 1 0
0 0 1
>> zeros(2,3)
ans =
0 0 0
0 0 0
>> ones(2,3)
ans =
1 1 1
1 1 1
mod(2*J,n)
will multiply every element in "J" by 2, and then reduce each element
modulo "n". MATLAB does include standard "for" and "while" loops, but
(as in other similar applications such as R), using the vectorized notation often produces code that is faster to execute. This code, excerpted from the function magic.m, creates a magic square M for odd values of n (MATLAB function meshgrid is used here to generate square matrices I and J containing 1:n).[J,I] = meshgrid(1:n);
A = mod(I + J - (n + 3) / 2, n);
B = mod(I + 2 * J - 2, n);
M = n * A + B + 1;
No comments:
Post a Comment