# ones (Matlab function)

Create an array of all ones

## Matlab/Scilab equivalent

Matlab | Scilab

    ones

    ones

## 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.

    // Scilab version
    B=ones(A)

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.]

    // Scilab version
    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.

## Examples

Matlab | Scilab

    B = ones(2)
    B = [1,1;1,1]
    B = ones(2,2)
    B = [1,1;1,1]
    B = ones([3,3])
    B = [1,1,1;1,1,1;1,1,1]

    B = ones(2)
    B = 1
    B = ones(2,2)
    B = [1,1;1,1]
    B = ones([3,3])
    B = [1,1]