Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> MATLAB

Полиномы в 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

  1. MATLAB: Комплексный обзор ведущей среды численных вычислений
  2. Основы MATLAB: Синтаксис, команды и спецсимволы
  3. Переменные в MATLAB: Основы, примеры и работа с векторами/матрицами
  4. Основные команды MATLAB для эффективных вычислений
  5. Типы данных в MATLAB: Полное руководство с примерами
  6. Операторы MATLAB: Арифметические, логические, битовые и операции над множествами
  7. Векторы в MATLAB: Строковые, столбцовые и основные операции
  8. Матрицы в MATLAB: Создание, индексация, удаление строк/столбцов и операции
  9. MATLAB: Мастерство работы с многомерными и специальными массивами
  10. Оператор двоеточия в MATLAB: создание векторов и эффективная итерация