- Scilab help
- Compatibility Functions
- asciimat
- firstnonsingleton
- makecell
- mstr2sci
- mtlb_0
- mtlb_a
- mtlb_all
- mtlb_any
- mtlb_axis
- mtlb_beta
- mtlb_box
- mtlb_close
- mtlb_colordef
- mtlb_conv
- mtlb_cumprod
- mtlb_cumsum
- mtlb_dec2hex
- mtlb_delete
- mtlb_diag
- mtlb_diff
- mtlb_dir
- mtlb_double
- mtlb_e
- mtlb_echo
- mtlb_eval
- mtlb_exist
- mtlb_eye
- mtlb_false
- mtlb_fft
- mtlb_fftshift
- mtlb_find
- mtlb_findstr
- mtlb_fliplr
- mtlb_fopen
- mtlb_format
- mtlb_fprintf
- mtlb_fread
- mtlb_fscanf
- mtlb_full
- mtlb_fwrite
- mtlb_grid
- mtlb_hold
- mtlb_i
- mtlb_ifft
- mtlb_imp
- mtlb_int16
- mtlb_int32
- mtlb_int8
- mtlb_is
- mtlb_isa
- mtlb_isfield
- mtlb_isletter
- mtlb_isspace
- mtlb_l
- mtlb_legendre
- mtlb_linspace
- mtlb_logic
- mtlb_logical
- mtlb_lower
- mtlb_max
- mtlb_min
- mtlb_more
- mtlb_num2str
- mtlb_ones
- mtlb_plot
- mtlb_prod
- mtlb_rand
- mtlb_randn
- mtlb_rcond
- mtlb_realmax
- mtlb_realmin
- mtlb_repmat
- mtlb_s
- mtlb_setstr
- mtlb_size
- mtlb_sort
- mtlb_strcmp
- mtlb_strcmpi
- mtlb_strfind
- mtlb_strrep
- mtlb_sum
- mtlb_t
- mtlb_toeplitz
- mtlb_tril
- mtlb_triu
- mtlb_true
- mtlb_uint16
- mtlb_uint32
- mtlb_uint8
- mtlb_upper
- mtlb_var
- mtlb_zeros

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.

# mtlb_diff

Matlab diff emulation function

### Description

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.

### Authors

- V.C.

## Comments

Add a comment:Please login to comment this page.