Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Please login or create an account
Change language to: English - Fran├žais - Portugu├¬s -

Please note that the recommended version of Scilab is 6.1.1. This page might be outdated.
However, this page did not exist in the previous stable version.

Scilab manual >> Compatibility Functions > mtlb_diff


Matlab diff emulation function


Matlab and Scilab diff behave differently in some particular cases:

  • With two input parameters: Scilab diff considers all values of first input as a vector what Matlab does not.

  • With three input parameters: If dimension of first input along dimension given by third parameter reaches 1 before n interations have been made,Matlab switches to next non-singleton dimension what Scilab does not.

The function mtlb_diff(A[,n[,dim]]) is used by mfile2sci to replace diff(A[,n[,dim]]) when it was not possible to know what were the inputs 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_diff calls:

  • With two inputs, if A is a scalar or a vector mtlb_diff(A,n) may be replaced by diff(A,n)

  • With three inputs, if size of A along dimension given by dim can not reach 1 mtlb_diff(A,n,dim) may be replaced by diff(A,n,dim)

Caution: mtlb_diff has not to be used for hand coded functions.


  • V.C.
Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Wed Jan 26 16:25:14 CET 2011