Можно задать полиномы как вектор символов или строку с помощью множества синтаксисов, которые соответствуют найденным в литературе. Функции Communications Toolbox™, поддерживающие векторы символов и строковые полиномы, внутренне преобразуют их в соответствующую форму. Форма изменяется в зависимости от функции. Для примера, comm.BCHEncoder
функция выражает полиномы как двоичный вектор-строка, степени которого находятся в порядке убывания.
При задании векторов символов или строк, чтобы представлять полиномы:
Порядок полинома, возрастающий или нисходящий, не имеет значения.
Пространства игнорируются.
Символ каретки, ^
, что указывает на наличие экспоненты, необязательно. Если он опущен, функция принимает, что целое число, следующее за именем переменной, является экспонентом.
Скобки, {}
, обозначают экспоненту. Для примера можно представлять x2 как x{2}
.
Текст, появляющийся перед полиномиальным выражением (со знаком equals или без него), игнорируется.
Пунктуация после квадратных скобок игнорируется.
Экспоненты должны быть равномерно положительными или равномерно отрицательными. Смешанные экспоненты не разрешены. Для примера, 'x^2 + x + 1'
и '1 + z^-6 + z^-8'
действительны во время '1 + z^6 + z^-8'
нет.
Чтобы проиллюстрировать эти характеристики, можно выразить полином 1 + 2 x + x3 + 4 x5 + x14 использование любого из следующих примеров, использующих одинарные кавычки для векторов символов, как показано на рисунке, или двойные кавычки для строк.
'1+2x+x^3+4x^5+x^14'
'1+2m+m3+4m5+m14'
'q14 + 4q5 + q3 + 2q + 1'
'g(x) = 1+2x+x3+4x5+x14'
'g(z) 1+2z+z3+4z5+z14'
'p(x) = x{14} + 4x{5} + x{3} + 2{x} + 1'
'[D14 + 4D5 + D3 + 2D + 1]'