Particular cases
 | Note that in Matlab, A can contain complex values (in these cases, only real part of
A is taken in account), what Scilab function do not tolerate. |
Most differences stem from the use of ones in conjunction with
size. In Scilab you do not need to use size:

% Matlab version
A = [1 2 ; 3 4];
B = ones(size(A))
B = [ 1. 1. ; 1. 1.]

A = [1 2 ; 3 4];
B = ones(A)
B =[ 1 1 ; 1 1]
As a result, if A is a scalar, then Matlab will return a A*A matrix of ones but in Scilab you get a
1 (just because a scalar is a 1*1 matrix), so use
ones(A,A) to get the same matrix B. If A
is a vector, Scilab and Matlab give the same B. Finally, if A
is a matrix, in Scilab, B will be a matrix having the same size as A
whereas in Matlab, you get an error message.