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.0.0. This page might be outdated.
See the recommended documentation of this function

Справка Scilab >> Основные функции > Матричные операции > prod

prod

произведение элементов массива

Последовательность вызова

y=prod(x)
y=prod(x,orientation)
y=prod(x,outtype)
y=prod(x,orientation,outtype)

Аргументы

x

массив вещественных, комплексных, логических значений, полиномов или рациональных дробей.

orientation

(ориентация) может быть или

  • строкой с возможными значениями "*", "r", "c" или "m"

  • или целым положительным числом

outtype

строка с возможными значениями "native" ("естественное") или "double".

y

скаляр или массив

Описание

Для массива x, y=prod(x) возвращает скаляр y, являющийся произведением всех элементов x.

y=prod(x,orientation) возвращает в y произведение x по размерности, заданной orientation:

  • если orientation равна 1 или "r", то:

    или

  • если orientation равна 2 или "c" то:

    или

  • если orientation равна n, то:

  • y=prod(x,"*") эквивалентно y=prod(x)

  • y=prod(x,"m") эквивалентно y=prod(x,orientation), где orientation является индексом первого измерения x, которое больше 1.

Аргумент outtype управляет способом, которым выполняется умножение:

  • Для массивов чисел с плавающей запятой, полиномов, рациональных дробей вычисление всегда делается через вычисления с плавающей запятой. Опции "double" и "native" ("естественное") эквивалентны.

  • Для массивов целых чисел:

    если outtype="native" ("естественное"), то вычисление делается через целочисленные вычисления (по модулю 2^b, где b - число используемых битов);

    если outtype="double", то вычисление делается через вычисления с плавающей запятой.

    Значение по умолчанию outtype="native".

  • Для массивов логических значений:

    если outtype="native" ("естественное"), то вычисления делаются с помощью булевой алгебры (* заменяется на &),

    если outtype="double", то вычисление делается через вычисления с плавающей запятой (значения %t заменяются на 1, а значения %f - на 0).

    Значение по умолчанию outtype="double". Эта опция используется для совместимости с Matlab'омю

Примечание

Эта функция применяется с аналогичными правилами к разряжённым матрицам и гиперматрицам.

Примеры

A=[1,2; 3,4];
prod(A)
prod(A,1)
 
I=uint8([2 95 103; 254 9 0])
prod(I) //естественное вычисление
prod(I,"double")
prod(I,2,"double")
 
s=poly(0,"s");
P=[s,%i+s;s^2,1];
prod(P),
prod(P,2)
 
B=[%t %t %f %f];
prod(B) //вычисление с плавающей запятой
prod(B,"native") //аналогично and(B)

Смотрите также

  • cumprod — произведение элементов массива с накоплением
  • sum — сумма элементов массива
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 14:01:04 CEST 2014