length
“Длина” объекта (эвристическая сложность)
Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.
Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.
length(object
)
length(object)
возвращает целое число, указывающее на сложность объекта.
(Эвристическая) сложность объекта может быть полезной в алгоритмах, которые должны предсказать сложность и время для управления объектами. Например, символьный Гауссов алгоритм для решения линейных уравнений предпочитает элементы Центра маленькой сложности.
Длина объекта определяется можно следующим образом:
Объекты доменного типа DOM_BOOL
, DOM_DOMAIN
, DOM_EXEC
, DOM_FAIL
, DOM_FLOAT
, DOM_FUNC_ENV
, DOM_IDENT
, DOM_NIL
, DOM_VAR
и DOM_PROC_ENV
рассматриваются как “атомарные”. У них есть длина 1. В частности, длина идентификаторов и действительных чисел с плавающей запятой равняется 1.
Длина целого числа является (близкое приближение) количеством десятичных цифр, включая знак.
Длина строки является количеством своих символов.
Длина составных объектов, таких как комплексные числа, рациональные числа, арифметические выражения, списки, наборы, массивы, hfarrays, таблицы и т.д. являются суммой длин операндов плюс 1.
length()
уступает 0.
length
не возвращает число элементов или записи в наборах, списках или таблицах. Используйте nops
вместо этого!
Интуитивно, длина измеряет сложность объекта:
length(1 + x) < length(x^3 + exp(a - b)/ln(45 - t) - 1234*I)
Мы вычисляем длины некоторых простых объектов:
length(1.2), length(-1234.5), length(123456), length(-123456)
length(17), length(123), length(17/123)
length(12), length(123), length(12 + 123*I)
length(x), length(x^2), length(x^12345)
length("123"), length("")
length(x), length(a_long_name)
Длина массива является суммой длин всех ее элементов плюс 1:
A := array(1..2, [x, y]): length(A) = length(x) + length(y) + 1
A[1] := 12345: length(A) = length(12345) + length(y) + 1
A := hfarray(1..10, [1.0 $ 10]): length(A) = 10*length(1.0) + 1
A := hfarray(1..10, [1.0 + 2.0*I $ 10]): length(A) = 10*length(1.0 + 2.0*I) + 1
Остерегайтесь: Если только одно комплексное число содержится в hfarray, то все записи рассматриваются как комплексные числа, даже если они действительны:
A := hfarray(1..10, [2.0 $ 9, 2.0 + 3.0*I]): length(A) = 10*length(2.0 + 3.0*I) + 1
delete A:
Операнды таблицы являются уравнениями, сопоставляющими индексы и записи. Длина каждого операнда является длиной индекса плюс продолжительность соответствующей записи плюс 1:
T[1] := 45: T
length(T) = length(1 = 45) + 1
delete T:
|
Произвольный объект MuPAD® |
Неотрицательное целое число.