@ Name: At symbol Uses:
• Function handle construction and reference
• Calling superclass methods
Description: The @ symbol forms a handle to either the named function that follows the @ sign, or to the anonymous function that follows the @ sign. You can also use @ to call superclass methods from subclasses.
Examples
Create a function handle to a named function:
fhandle = @myfun
Create a function handle to an anonymous function:
fhandle = @(x,y) x.^2 + y.^2;
Call the disp method of MySuper from a subclass:
disp@MySuper(obj)
Call the superclass constructor from a subclass using the object being constructed:
obj = obj@MySuper(arg1,arg2,...) More Information:
• “Create Function Handle” on page 13-2
• “Call Superclass Methods on Subclass Objects”
MATLAB Operators and Special Characters
2-3
. Name: Period or dot Uses:
• Decimal point
• Element-wise operations
• Structure field access
• Object property or method specifier
Description: The period character separates the integral and fractional parts of a number, such as 3.1415. MATLAB operators that contain a period always work element- wise. The period character also enables you to access the fields in a structure, as well as the properties and methods of an object.
Examples Decimal point:
102.5543
Element-wise operations:
A.*B A.^2
Structure field access:
myStruct.f1
Object property specifier:
myObj.PropertyName More Information
• “Array vs. Matrix Operations” on page 2-20
• “Structures”
• “Access Property Values”
2
Program Components2-4
... Name: Dot dot dot or ellipsis Uses: Line continuation
Description: Three or more periods at the end of a line continues the current command on the next line. If three or more periods occur before the end of a line, then MATLAB ignores the rest of the line and continues to the next line. This effectively makes a comment out of anything on the current line that follows the three periods.
Note MATLAB interprets the ellipsis as a space character. Therefore, multi-line
commands must be valid as a single line with the ellipsis replaced by a space character.
Examples
Continue a function call on the next line:
sprintf(['The current value '...
'of %s is %d'],vname,value)
Break a character vector up on multiple lines and concatenate the lines together:
S = ['If three or more periods occur before the '...
'end of a line, then the rest of that line is ' ...
'ignored and MATLAB continues to the next line']
To comment out one line in a multiline command, use ... at the beginning of the line to ensure that the command remains complete. If you use % to comment out a line it produces an error:
y = 1 +...
2 +...
% 3 +...
4;
However, this code runs properly since the third line does not produce a gap in the command:
y = 1 +...
2 +...
... 3 +...
4;
More Information
• “Continue Long Statements on Multiple Lines” on page 1-2
MATLAB Operators and Special Characters
2-5
, Name: Comma Uses: Separator
Description: Use commas to separate row elements in an array, array subscripts, function input and output arguments, and commands entered on the same line.
Examples
Separate row elements to create an array:
A = [12,13; 14,15]
Separate subscripts:
A(1,2)
Separate input and output arguments in function calls:
[Y,I] = max(A,[],2)
Separate multiple commands on the same line (showing output):
figure, plot(sin(-pi:0.1:pi)), grid on More Information
• horzcat
2
Program Components2-6
: Name: Colon Uses:
• Vector creation
• Indexing
• For-loop iteration
Description: Use the colon operator to create regularly spaced vectors, index into arrays, and define the bounds of a for loop.
Examples Create a vector:
x = 1:10
Create a vector that increments by 3:
x = 1:3:19
Reshape a matrix into a column vector:
A(:)
Assign new elements without changing the shape of an array:
A = rand(3,4);
A(:) = 1:12;
Index a range of elements in a particular dimension:
A(2:5,3)
Index all elements in a particular dimension:
A(:,3)
for loop bounds:
x = 1;
for k = 1:25 x = x + x^2;
end
More Information
• colon
• “Creating, Concatenating, and Expanding Matrices”
MATLAB Operators and Special Characters
2-7
; Name: Semicolon Uses:
• Signify end of row
• Suppress output of code line
Description: Use semicolons to separate rows in an array creation command, or to suppress the output display of a line of code.
Examples
Separate rows to create an array:
A = [12,13; 14,15]
Suppress code output:
Y = max(A);
Separate multiple commands on a single line (suppressing output):
A = 12.5; B = 42.7, C = 1.25;
B =
42.7000
More Information
• vertcat
2
Program Components2-8
( ) Name: Parentheses Uses:
• Operator precedence
• Function argument enclosure
• Indexing
Description: Use parentheses to specify precedence of operations, enclose function input arguments, and index into an array.
Examples
Precedence of operations:
(A.*(B./C)) - D
Function argument enclosure:
plot(X,Y,'r*') C = union(A,B) Indexing:
A(3,:) A(1,2) A(1:5,1)
More Information
• “Operator Precedence” on page 2-32
• “Array Indexing”
MATLAB Operators and Special Characters
2-9
[ ] Name: Square brackets Uses:
• Array construction
• Array concatenation
• Empty matrix and array element deletion
• Multiple output argument assignment
Description: Square brackets enable array construction and concatenation, creation of empty matrices, deletion of array elements, and capturing values returned by a function.
Examples
Construct a three-element vector:
X = [10 12 -3]
Add a new bottom row to a matrix:
A = rand(3);
A = [A; 10 20 30]
Create an empty matrix:
A = []
Delete a matrix column:
A(:,1) = []
Capture three output arguments from a function:
[C,iA,iB] = union(A,B) More Information
• “Creating, Concatenating, and Expanding Matrices”
• horzcat
• vertcat
2
Program Components2-10
{ } Name: Curly brackets
Uses: Cell array assignment and contents
Description: Use curly braces to construct a cell array, or to access the contents of a particular cell in a cell array.
Examples
To construct a cell array, enclose all elements of the array in curly braces:
C = {[2.6 4.7 3.9], rand(8)*6, 'C. Coolidge'}
Index to a specific cell array element by enclosing all indices in curly braces:
A = C{4,7,2}
More Information
• “Cell Arrays”
% Name: Percent Uses:
• Comment
• Conversion specifier
Description: The percent sign is most commonly used to indicate nonexecutable text within the body of a program. This text is normally used to include comments in your code.
Some functions also interpret the percent sign as a conversion specifier.
Two percent signs, %%, serve as a cell delimiter as described in “Create and Run Sections in Code” on page 18-5.
Examples
Add a comment to a block of code:
% The purpose of this loop is to compute
% the value of ...
Use conversion specifier with sprintf:
sprintf('%s = %d', name, value) More Information
• “Add Comments to Code” on page 18-3
MATLAB Operators and Special Characters
2-11
%{ %} Name: Percent curly bracket Uses: Block comments
Description: The %{ and %} symbols enclose a block of comments that extend beyond one line.
Note With the exception of whitespace characters, the %{ and %} operators must appear alone on the lines that immediately precede and follow the block of help text. Do not include any other text on these lines.
Examples
Enclose any multiline comments with percent followed by an opening or closing brace:
%{
The purpose of this routine is to compute the value of ...
%}
More Information
• “Add Comments to Code” on page 18-3
! Name: Exclamation point
Uses: Operating system command
Description: The exclamation point precedes operating system commands that you want to execute from within MATLAB.
Not available in MATLAB Online™.
Examples
The exclamation point initiates a shell escape function. Such a function is to be performed directly by the operating system:
!rmdir oldtests More Information
• “Shell Escape Function Example”
2
Program Components2-12
? Name: Question mark
Uses: Metaclass for MATLAB class
Description: The question mark retrieves the meta.class object for a particular class name. The ? operator works only with a class name, not an object.
Examples
Retrieve the meta.class object for class inputParser:
?inputParser More Information
• metaclass '' Name: Single quotes
Uses: Character array constructor
Description: Use single quotes to create character vectors that have class char.
Examples
Create a character vector:
chr = 'Hello, world' More Information
• “Text in String and Character Arrays” on page 6-2
"" Name: Double quotes Uses: String constructor
Description: Use double quotes to create string scalars that have class string.
Examples
Create a string scalar:
S = "Hello, world"
More Information
• “Text in String and Character Arrays” on page 6-2
MATLAB Operators and Special Characters
2-13
N/A Name: Space character Uses: Separator
Description: Use the space character to separate row elements in an array constructor, or the values returned by a function. In these contexts, the space character and comma are equivalent.
Examples
Separate row elements to create an array:
% These statements are equivalent A = [12 13; 14 15]
A = [12,13; 14,15]
Separate output arguments in function calls:
% These statements are equivalent [Y I] = max(A)
[Y,I] = max(A)
N/A Name: Newline character Uses: Separator
Description: Use the newline character to separate rows in an array construction statement. In that context, the newline character and semicolon are equivalent.
Examples
Separate rows in an array creation command:
% These statements are equivalent A = [12 13
14 15]
A = [12 13; 14 15]
2
Program Components2-14
~ Name: Tilde Uses:
• Logical NOT
• Argument placeholder
Description: Use the tilde symbol to represent logical NOT or to suppress specific input or output arguments.
Examples
Calculate the logical NOT of a matrix:
A = eye(3);
~A
Determine where the elements of A are not equal to those of B:
A = [1 -1; 0 1]
B = [1 -2; 3 2]
A~=B
Return only the third output value of union:
[~,~,iB] = union(A,B) More Information
• not
• “Ignore Inputs in Function Definitions” on page 21-10
• “Ignore Function Outputs” on page 1-4
= Name: Equal sign Uses: Assignment
Description: Use the equal sign to assign values to a variable. The syntax B = A stores the elements of A in variable B.
Note The = character is for assignment, whereas the == character is for comparing the elements in two arrays. See eq for more information.
Examples
Create a matrix A. Assign the values in A to a new variable, B. Lastly, assign a new value to the first element in B.
A = [1 0; -1 0];
B = A;
B(1) = 200;
MATLAB Operators and Special Characters
2-15
< & Name: Left angle bracket and ampersand Uses: Specify superclasses
Description: Specify one or more superclasses in a class definition Examples
Define a class that derives from one superclass:
classdef MyClass < MySuperclass …
end
Define a class that derives from multiple superclasses:
classdef MyClass < Superclass1 & Superclass2 & … …
end
More Information:
• “Subclass Syntax”
.? Name: Dot question mark
Uses: Specify fields of name-value structure Description:
When using function argument validation, you can define the fields of the name-value structure as the names of all writeable properties of the class.
Examples
Specify the field names of the propArgs structure as the writeable properties of the matlab.graphics.primitive.Line class.
function f(propArgs) arguments
propArgs.?matlab.graphics.primitive.Line end
% Function code ...
end
More Information:
• “Name-Value Arguments from Class Properties” on page 26-14