Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
6.1.0 - Français

Change language to:
English - 日本語 - Português - Русский

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

Aide de Scilab >> Fonctions Elémentaires > modulo

modulo

reste modulo m ayant le signe du dividende, ou de division polynomiale

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 à coefficients réels. m et n doivent être du même type. Si elles sont de types entiers, elles peuvent être d'encodages distincts (par exemple int8 et int16). Si aucune des deux n'est scalaire, elles doivent avoir les mêmes tailles.

i

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

Pour des polynômes en entrée, lorsque tous les restes dans i sont des polynômes constants (degré==0), i est de de type 1 (nombres) au lieu de 2 (polynômes constants).

Description

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

Pour m et n numériques,

  • modulo() calcule i = n - m .* int (n ./ m). Le résultat est négatif (ou nul) lorsque n est négatif. Il est positif sinon.

  • pmodulo() calcule i = n - |m| .* floor (n ./ |m|). Le résultat est toujours positif ou nul.

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 — fixe ou indique 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.
6.0.2 Extension aux hypermatrices de polynômes.
Report an issue
<< isequal Fonctions Elémentaires ndims >>

Copyright (c) 2022-2024 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Tue Feb 25 08:50:20 CET 2020