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 - 日本語 - Русский
Aide de Scilab >> Fonctions Elémentaires > Exponentielle > power

power

élévation à la puissance (^,.^)

Séquence d'appel

t = A ^ b
t = A ** b
t = A .^ b

Paramètres

A, t
scalaire, vecteur, ou matrice de nombres entiers encodés, de nombres ou polynômes ou fractions rationnelles à coefficients réels ou complexes.

b
scalaire, vecteur, ou matrice d'entiers encodés, de nombres décimaux, ou de nombres complexes.

Si un opérande sont des entiers encodés, l'autre peut être uniquement des entiers encodés ou des nombres réels.

Si A sont des polynômes ou des fractions rationnelles, b peut uniquement être un entier décimal (positif ou négatif).

Description

.^ : puissances respectives par élément

Si A ou b est scalaire, il est préalablement répliqué à la taille de l'autre, par A*ones(b) ou b*ones(A). Sinon, A et b doivent avoir la même taille.

Alors, pour chaque élément numéro i, t(i) = A(i)^b(i) est calculé.

^ : puissance matricielle

L'opérateur ^ est équivalent à .^ dans les cas suivants :

  • A est scalaire et b est un vecteur.
  • A est un vecteur et b est scalaire.
Sinon, A ou b doit être scalaire, et l'autre opérande doit être une matrice carrée :
  • Si A est scalaire et b est carrée, alors A^b est la matrice expm(log(A) * b)

  • Si A est carrée et b est scalaire, alors A^b est la matrice A à la puissane b.

Autres remarques
  1. Si A est une matrice carrée, A^p est calculé par multiplications successives si p est un entier positif, et par diagonalisation sinon (détails en remarques n°2 et 3 ci-dessous).

  2. If A is a square and Hermitian matrix and p is a non-integer scalar, A^p is computed as:

    A^p = u*diag(diag(s).^p)*u' (For real matrix A, only the real part of the answer is taken into account).

    u and s are determined by [u,s] = schur(A) .

  3. If A is not a Hermitian matrix and p is a non-integer scalar, A^p is computed as:

    A^p = v*diag(diag(d).^p)*inv(v) (For real matrix A, only the real part of the answer is taken into account).

    d and v are determined by [d,v] = bdiag(A+0*%i).

  4. If A and p are real or complex numbers, A^p is the principal value determined by

    A^p = exp(p*log(A))

    (or A^p = exp(p*(log(abs(A))+ %i*atan(imag(A)/real(A)))) ).

  5. If A is a square matrix and p is a real or complex number, A.^p is the principal value computed as:

    A.^p = exp(p*log(A)) (same as case 4 above).

  6. Les opérateurs ** et ^ sont équivalents.

L'élévation à la puissance est associative à droite dans Scilab contrairement à Matlab® et Octave. Par exemple 2^3^4 est égal à 2^(3^4) dans Scilab mais est égal à (2^3)^4 dans Matlab® et Octave.

Exemples

A = [1 2 ; 3 4];
A ^ 2.5,
A .^ 2.5
(1:10) ^ 2
(1:10) .^ 2

A ^ %i
A .^ %i
exp(%i*log(A))

s = poly(0,'s')
s ^ (1:10)

Voir aussi

  • exp — exponentielle
  • expm — exponentielle de matrice
  • hat — élévation à la puissance

Historique

VersionDescription
6.0.0 Avec des nombres décimaux ou complexes, scalaire ^ matriceCarrée produit désormais expm(log(scalaire)*matriceCarrée) au lieu de scalaire .^ matriceCarrée.
Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Tue Jul 20 11:19:18 CEST 2021