Please note that the recommended version of Scilab is 2026.0.0. This page might be outdated.
See the recommended documentation of this function
max
максимум
Синтаксис
m = max(A) Col = max(A, 'c') Row = max(A, 'r'|'m') M = max(A1, A2,..., An) M = max(list(A1, A2,..., An)) [.., K] = max(..)
Аргументы
- A, A1, ..., An
скаляры, векторы, матрицы или гиперматрицы кодированных целых чисел или вещественных чисел в полном или разрежённом формате. Они должны иметь одинаковые размеры или быть смешанными со скалярами (скаляры, следовательно, неявно расширяются до размеров массивов). Разрежённые массивы не могут смешиваться с полными массивами, за исключением скаляров.
- m
одиночное число = максимум из всех значений элементов
A. Всегда в полном формате, даже еслиAявляется разряжённой.- Col
вектор-столбец, если
Aявляется двумерной матрицей или гиперматрицей размерамиsize(A)с размеромsize(A,2)равным 1: максимумы по столбцам (для каждой строки). ЕслиA- разрежённая матрица, тоColтоже разрежённый.- Row
вектор-строка, если
Aявляется двумерной матрицей или гиперматрицей размерамиsize(A)с размеромsize(A,2)равным 1: максимумы по строкам (для каждого стролбца). ЕслиA- разрежённая матрица, тоRowтоже разрежённый.- M
Массив размером =
size(A1), такой, что для каждогоqM(q) = max(A1(q),A2(q),..An(q)). ЕслиA,..,An- разрежённые матрицы, тоMтоже разрежённый.- K
Указывает в
A(первый) найденный максимум. Когда используется[m,K]=max(A), то- Если
Aвектор, тоK- скаляр. - В противном случае
Kявляется вектор-строкой[i,j,..]индексов.
Для других синтаксисов
Kимеет форму и размеры, соответствующиеCol,RowиM.Для синтаксиса
[M,K] = max(A1,A2,..,An)имеем для каждого линейного индексаq:[M(q),K(q)] = max([A1(q) A2(q) .. An(q)]).
Kвсегда в полном формате, даже когдаA, A1,..,Anв разрежённом виде. Следовательно, когда используется синтаксис[M,K]=max(A1,A2,..)с огромными, но разрежёнными матрицами, то это приводит к огромной полной матрицеK. Пользователь должен проверить достаточно ли памяти имеется для этого.- Если
Описание
Для A вещественного вектора или матрицы max(A) даёт
наибольший элемент в A.
[m,K]=max(A) даёт дополнительно индексы первого максимума.
Может быть использован второй строковый аргумент 'r' или
'c': 'r' используется для получения
вектор-строки Row такой что Row(j)
содержит максимум j-го столбца A(:,j),
K(j) даёт индекс строки, которая содержит максимум
столбца №j.
'c' используется для парной операции по строкам A.
'm' используется для совместимости с Matlab.
[M,K]=max(list(A1,...,An)) является эквивалентным для
[M,K]=max(A1,A2,...,An).
![]() |
|
![]() | If max(A1, A2,..., An) is used with a huge input sparse matrix of
low density, together with a strictly positive scalar input, the sparse result will no longer
have any 0 value: It will be a sparse array with density=1, that may lead to a memory failure. |
Примеры
[m, k] = max([]) [m, k] = max([1 5 ; 3 %nan]) [m, k] = max([1 5 ; 3 %nan], 2.5) [m, k] = max([5 -1 1], [1 0 3], [2 1 3]) [m, k] = max(list([5 -1 1], [1 0 3], [2 1 3]))
--> [m, k] = max([])
m =
[]
k =
[]
--> [m, k] = max([1 5 ; 3 %nan])
m =
5.
k =
1. 2.
--> [m, k] = max([1 5 ; 3 %nan], 2.5)
m =
2.5 5.
3. 2.5
k =
2. 1.
1. 2.
--> [m, k] = max([5 -1 1], [1 0 3], [2 1 3])
m =
5. 1. 3.
k =
1. 3. 2.
С опциями "r" или "c":
A = grand(4,6,"uin",0,30); A(3,4) = %nan [Row, K] = max(A, "r") [Col, K] = max(A, "c")
--> A = grand(4,6,"uin",0,30); A(3,4) = %nan A = 18. 3. 22. 0. 13. 28. 16. 20. 25. 6. 10. 1. 25. 26. 20. Nan 2. 21. 5. 9. 16. 15. 24. 25. --> [Row, K] = max(A, "r") Row = 25. 26. 25. 15. 24. 28. K = 3. 3. 2. 4. 4. 1. --> [Col, K] = max(A, "c") Col = 28. 25. 26. 25. K = 6. 3. 2. 6.
С разрежёнными входными данными:
s = sprand(5,4,0.5); k = s~=0; s(k) = round((s(k)-0.5)*10), full(s) [Row, K] = max(s, "r") [Col, K] = max(s, "c") [M, K] = max(s, -1); [full(s) ones(s(:,1))*%nan full(M)] issparse(M) K
--> s = sprand(5,4,0.5); k = s~=0; s(k) = round((s(k)-0.5)*10), full(s) s = ( 5, 4) sparse matrix ( 1, 2) -2. ( 1, 3) -4. ( 1, 4) 3. ( 2, 1) -5. ( 2, 4) 3. ( 3, 2) -2. ( 3, 3) -4. ( 4, 2) 4. ( 4, 4) 2. ( 5, 2) -5. ( 5, 3) 5. ( 5, 4) -4. ans = 0. -2. -4. 3. -5. 0. 0. 3. 0. -2. -4. 0. 0. 4. 0. 2. 0. -5. 5. -4. --> [Row, K] = max(s, "r") Row = ( 1, 4) sparse matrix ( 1, 2) 4. ( 1, 3) 5. ( 1, 4) 3. K = 1. 4. 5. 1. --> [Col, K] = max(s, "c") Col = ( 5, 1) sparse matrix ( 1, 1) 3. ( 2, 1) 3. ( 4, 1) 4. ( 5, 1) 5. K = 4. 4. 1. 2. 3. --> [M, K] = max(s, -1); [full(s) ones(s(:,1))*%nan full(M)] ans = 0. -2. -4. 3. Nan 0. -1. -1. 3. -5. 0. 0. 3. Nan -1. 0. 0. 3. 0. -2. -4. 0. Nan 0. -1. -1. 0. 0. 4. 0. 2. Nan 0. 4. 0. 2. 0. -5. 5. -4. Nan 0. -1. 5. -1. --> issparse(M) ans = 1. --> K K = 1. 2. 2. 1. 2. 1. 1. 1. 1. 2. 2. 1. 1. 1. 1. 1. 1. 2. 1. 2.
Смотрите также
История
| Version | Description |
| 6.0.2 | Теперь max() действительно работает с разрежёнными матрицами |
| Report an issue | ||
| << kron .\. ./. | Матричные операции | min >> |
