Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Please login or create an account
Change language to: English - Português - 日本語 - Русский

Please note that the recommended version of Scilab is 6.0.0. This page might be outdated.
See the recommended documentation of this function

Aide de Scilab >> Fonctions Elémentaires > modulo

modulo

reste symétrique modulo m ayant le signe du dividande

pmodulo

reste modulo m euclidien positif

Séquence d'appel

i = modulo(n,m)
i = pmodulo(n,m)

Paramètres

m, n

Scalaire, vecteur, matrice ou hypermatrice d'entiers encodés, de décimaux réels ou de polynômes (les hypermatrices de polynômes ne sont pas admises). m et n doivent être de même type. S'ils sont de types entiers, il peuvent être d'encodages distincts (par exemple int8 et int16) Si aucune des deux n'est scalaire, elles doivent avoir les mêmes dimensions.

i

Scalaire, vecteur, matrice ou hypermatrice du type de n (voire de même inttype). i a les dimensions de la plus large de m oun.

Description

modulo calcule i= n (modulo m) c'est à dire le reste de n divisé par m.

i = n - m .* int (n ./ m). Ici la réponse peut être négative si n et/ou m sont négatifs.

pmodulo calcule i = n - |m| .* floor (n ./|m|),la réponse est positive ou nulle.

Si m contient au moins une valeur nulle, modulo(x,m) et pmodulo(x,m) effectueront une division par zéro. Si m est de type réel, l'exception sera traitée selon le mode ieee() actif. Si m est de type entier, une erreur sera toujours émise.

Exemples

n = [1,2,10,15];
m = [2,2,3,5];
modulo(n,m)

modulo(-3, 9)
modulo(10, -4)

pmodulo(-3, 9)
pmodulo(10, -6)
pmodulo(-10, -6)

// Entiers encodés
modulo( int8(-13), int16(-7))
pmodulo(int8(-13), int16(-7))
modulo( int8(-13), int16([-7 5]))
pmodulo(int8(-13), int16([-7 5]))
modulo( int8([-13 8]), int16(-7))
pmodulo(int8([-13 8]), int16(-7))
modulo( int8([-13 8]), int16([-7 5]))
pmodulo(int8([-13 8]), int16([-7 5]))

// Hypermatrices
m = grand(2,2,2,"uin",-100,100)
n = grand(2,2,2,"uin",-10 ,10);
n(n==0) = 1
modulo(m, 5)
pmodulo(m,5)
modulo(51, n)
pmodulo(51,n)
modulo(m, n)
pmodulo(m,n)

// Polynômes
modulo( %z^2+1, %z)
pmodulo(%z^2+1, %z)

Voir aussi

  • unwrap — unwrap a Y(x) profile or a Z(x,y) surface. Unfold a Y(x) profile
  • ieee — détermine le mode d'exception IEEE pour les calculs

Historique

VersionDescription
5.5.0 Extension aux entiers encodés et aux hypermatrices d'entiers ou de réels.
Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Thu Oct 02 13:54:30 CEST 2014