Полиномы в MATLAB: представление, вычисление значений, корни, аппроксимация
MATLAB представляет полиномы как строковые векторы коэффициентов по убывающим степеням. Например, P(x) = x⁴ + 7x³ - 5x + 9 → p = [1 7 0 -5 9] (нулевой коэффициент при x² обязателен).
Вычисление значения полинома
polyval(p, x) — значение полинома p в точке x.
p = [1 7 0 -5 9]; polyval(p, 4) % 693
polyvalm(p, X) — значение матричного полинома (переменная — матрица).
X = [1 2 -3 4; 2 -5 6 3; 3 1 0 2; 5 -7 3 8]; polyvalm(p, X) % возвращает 4x4 матрицу
Корни полинома
roots(p) — вычисляет корни (включая комплексные).
p = [1 7 0 -5 9]; r = roots(p) % r = -6.8661, -1.4247, 0.6454±0.7095i
poly(r) — обратная операция: восстановление коэффициентов из корней.
p2 = poly(r) % восстанавливает [1 7 0 -5 9] с погрешностью
Аппроксимация полиномом (Curve Fitting)
polyfit(x, y, n) — коэффициенты полинома n-й степени, аппроксимирующего данные (x,y) по методу наименьших квадратов.
Пример
x = [1 2 3 4 5 6]; y = [5.5 43.1 128 290.7 498.4 978.67]; p = polyfit(x, y, 4) % коэффициенты 4-й степени x2 = 1:0.1:6; y2 = polyval(p, x2); plot(x, y, 'o', x2, y2); grid on
Результат: p = [4.1056, -47.9607, 222.2598, -362.7453, 191.1250]. График показывает хорошее совпадение.
MATLAB
- MATLAB: Комплексный обзор ведущей среды численных вычислений
- Основы MATLAB: Синтаксис, команды и спецсимволы
- Переменные в MATLAB: Основы, примеры и работа с векторами/матрицами
- Основные команды MATLAB для эффективных вычислений
- Типы данных в MATLAB: Полное руководство с примерами
- Операторы MATLAB: Арифметические, логические, битовые и операции над множествами
- Векторы в MATLAB: Строковые, столбцовые и основные операции
- Матрицы в MATLAB: Создание, индексация, удаление строк/столбцов и операции
- MATLAB: Мастерство работы с многомерными и специальными массивами
- Оператор двоеточия в MATLAB: создание векторов и эффективная итерация