mtlb_s — Matlab substraction emulation function
Matlab and Scilab substraction behave differently in some particular cases:
With character string operands: The -
operator can not be used into Scilab with character strings, while
Matlab realizes the substraction of the operands ASCII codes.
With empty matrix: In Scilab, if one of the operands is an empty matrix the result of the substraction is the other operand. In Matlab if one of the operand is an empty matrix the result of the substraction should be an error or an empty matrix.
The function mtlb_s(A,B)
is used by
mfile2sci
to replace A-B
when it was not
possible to know what were the operands while porting Matlab code to Scilab. This function will
determine the correct semantic at run time. If you want to have a
more efficient code it is possible to replace mtlb_s
calls:
If A
and B
are character strings,
mtlb_s(A,B)
may be replaced by asciimat(A)-asciimat(B)
If both A
and B
are not empty matrices
mtlb_s(A,B)
may be replaced by A-B
,
else mtlb_s(A,B)
may be replaced by
[]
.
If mtlb_mode()==%T, then mtlb_s(A,B)
may be replaced by A-B
in any case where
A
and B
are not character string matrices.
Caution: mtlb_s
has not to be used for hand coded functions.