sage: matlab('4+10') # optional 14 sage: matlab('date') # optional; random output 18-Oct-2006 sage: matlab('5*10 + 6') # optional 56 sage: matlab('(6+6)/3') # optional 4 sage: matlab('9')^2 # optional 81 sage: a = matlab(10); b = matlab(20); c = matlab(30) # optional sage: avg = (a+b+c)/3 # optional sage: avg # optional 20 sage: parent(avg) # optional Matlab
sage: my_scalar = matlab('3.1415') # optional sage: my_scalar # optional 3.1415 sage: my_vector1 = matlab('[1,5,7]') # optional sage: my_vector1 # optional 1 5 7 sage: my_vector2 = matlab('[1;5;7]') # optional sage: my_vector2 # optional 1 5 7 sage: my_vector1 * my_vector2 # optional 75
sage: row_vector1 = matlab('[1 2 3]') # optional sage: row_vector2 = matlab('[3 2 1]') # optional sage: matrix_from_row_vec = matlab('[%s; %s]'%(row_vector1.name(), row_vector2.name())) # optional sage: matrix_from_row_vec # optional 1 2 3 3 2 1
sage: column_vector1 = matlab('[1;3]') # optional sage: column_vector2 = matlab('[2;8]') # optional sage: matrix_from_col_vec = matlab('[%s %s]'%(column_vector1.name(), column_vector2.name())) # optional sage: matrix_from_col_vec # optional 1 2 3 8
sage: my_matrix = matlab('[8, 12, 19; 7, 3, 2; 12, 4, 23; 8, 1, 1]') # optional sage: my_matrix # optional 8 12 19 7 3 2 12 4 23 8 1 1
sage: combined_matrix = matlab('[%s, %s]'%(my_matrix.name(), my_matrix.name())) # optional sage: combined_matrix # optional 8 12 19 8 12 19 7 3 2 7 3 2 12 4 23 12 4 23 8 1 1 8 1 1
sage: tm = matlab('0.5:2:10') # optional sage: tm # optional 0.5000 2.5000 4.5000 6.5000 8.5000
sage: my_vector1 = matlab('[1,5,7]') # optional sage: my_vector1(1) # optional 1 sage: my_vector1(2) # optional 5 sage: my_vector1(3) # optional 7
Matrix indexing works as follows:
sage: my_matrix = matlab('[8, 12, 19; 7, 3, 2; 12, 4, 23; 8, 1, 1]') # optional sage: my_matrix(3,2) # optional 4
Setting using paranthesis cannot work (because of how the Python language works). Use square brackets or the set function:
sage: my_matrix = matlab('[8, 12, 19; 7, 3, 2; 12, 4, 23; 8, 1, 1]') # optional sage: my_matrix.set(2,3, 1999) # optional sage: my_matrix # optional 8 12 19 7 3 1999 12 4 23 8 1 1
Module-level Functions
) |
This requires that the optional matlab program be installed and in your PATH, but no optional Sage packages need be installed.
sage: matlab_console() # optional and not tested < M A T L A B > Copyright 1984-2006 The MathWorks, Inc. ... >> 2+3
ans =
5
» quit
Typing quit exits the matlab console and returns you to SAGE. matlab, like SAGE, remembers its history from one session to another.
) |
Return the version of Matlab installed.
sage: matlab_version() # optional matlab package '7.2.0.283 (R2006a)'
) |
Class: Matlab
sage: a = matlab('[ 1, 1, 2; 3, 5, 8; 13, 21, 33 ]') # optional sage: b = matlab('[ 1; 3; 13]') # optional sage: c = a * b # optional sage: print c # optional 30 122 505
self, [maxread=100], [script_subdirectory=], [logfile=None], [server=None], [server_tmpdir=None]) |
Functions: console,
get,
sage2matlab_matrix_string,
set,
version,
whos
self, var) |
Get the value of the variable var.
self, A) |
Return an matlab matrix from a SAGE matrix.
Input: A SAGE matrix with entries in the rationals or reals.
Output: A string that evaluates to an Matlab matrix.
sage: M33 = MatrixSpace(QQ,3,3) sage: A = M33([1,2,3,4,5,6,7,8,0]) sage: matlab.sage2matlab_matrix_string(A) # requires optional matlab '[1, 2, 3; 4, 5, 6; 7, 8, 0]'
Author: David Joyner and William Stein
self, var, value) |
Set the variable var to the given value.
Special Functions: __init__,
__reduce__,
_install_hints,
_object_class,
_quit_string,
_read_in_file_command,
_start
Class: MatlabElement
Functions: set
Special Functions: __getitem__,
_matrix_
self, R) |
Return Sage matrix from this matlab element.
sage: A = matlab('[1,2;3,4]') # optional matlab package sage: matrix(ZZ, A) # optional [1 2] [3 4] sage: A = matlab('[1,2;3,4.5]') # optional matlab package sage: matrix(RR, A) # optional [1.00000000000000 2.00000000000000] [3.00000000000000 4.50000000000000]
See About this document... for information on suggesting changes.