Рациональные полиномы

О рациональных моделях

Рациональные модели заданы как отношения полиномов и даны

y=i=1n+1pixn+1ixm+i=1mqixm1

где n является степенью полинома числителя и 0 ≤ n ≤ 5, в то время как m является степенью полинома знаменателя и 1 ≤ m ≤ 5. Обратите внимание на то, что коэффициент, сопоставленный с xm всегда, равняется 1. Это делает числитель и знаменатель уникальными, когда полиномиальные степени являются тем же самым.

В этом руководстве rationals описаны с точки зрения степени степени числителя / знаменателя. Например, квадратичным/кубическим рациональным уравнением дают

y=p1x2+p2x+p3x3+q1x2+q2x+q3

Как полиномы, часто используются rationals, когда простая эмпирическая модель требуется. Основным преимуществом rationals является их гибкость с данными, которые имеют сложную структуру. Основной недостаток - то, что они становятся нестабильными, когда знаменатель - приблизительно 0. Для примера, который использует рациональные полиномы различных степеней, смотрите Пример: Рациональная Подгонка.

Соответствуйте рациональным моделям в интерактивном режиме

  1. Откройте приложение Curve Fitting путем ввода cftool. Также нажмите Curve Fitting на вкладке Apps.

  2. В приложении Curve Fitting выберите данные о кривой (X data и Y data, или только Y data против индекса).

    Приложение Curve Fitting создает подгонку кривой по умолчанию, Polynomial.

  3. Измените тип модели от Polynomial до Rational.

Можно задать следующие опции:

  • Выберите степень полиномов знаменателя и числителя. Числитель может иметь степень 0 к 5 и знаменатель от 1 до 5.

    Посмотрите в панели Results, чтобы видеть образцовые условия, значения коэффициентов и статистику качества подгонки.

  • (Необязательно) Нажмите Fit Options, чтобы задать содействующие начальные значения и ограничительные границы, или изменить настройки алгоритма.

    Тулбокс вычисляет случайные стартовые точки для рациональных моделей, заданных на интервале [0,1]. Можно заменить стартовые точки и задать собственные значения в Подходящем Окне параметров.

    Для получения дополнительной информации о настройках см. Опции Подгонки Определения и Оптимизированные Отправные точки.

Выбор рациональной подгонки в командной строке

Задайте тип модели ratij, где i является степенью полинома числителя, и j является степенью полинома знаменателя. Например, 'rat02', 'rat21' или 'rat55'.

Например, чтобы загрузить некоторые данные и соответствовать рациональной модели:

load hahn1;
f = fit( temp, thermex, 'rat32')
plot(f,temp,thermex)

Смотрите Пример: Рациональная Подгонка, чтобы соответствовать этому примеру в интерактивном режиме различными рациональными моделями.

Если вы хотите изменить подходящие опции, такие как содействующие начальные значения, и ограничительные границы, подходящие для ваших данных, или изменить настройки алгоритма, видят таблицу дополнительных свойств с NonlinearLeastSquares на странице с описанием fitoptions.

Пример: рациональная подгонка

Этот пример соответствует результатам измерений с помощью рациональной модели. Данные описывают коэффициент теплового расширения для меди как функция температуры в градусах кельвин.

Для этого набора данных вы найдете рациональное уравнение, которое производит лучшую подгонку. Рациональные модели заданы как отношение полиномов, как дано:

y=p1xn+p2xn1+...+pn+1xm+q1xm1+...+qm

где n является степенью полинома числителя, и m является степенью полинома знаменателя. Обратите внимание на то, что рациональные уравнения не сопоставлены с физическими параметрами данных. Вместо этого они предоставляют простую и гибкую эмпирическую модель, которую можно использовать для интерполяции и экстраполяции.

  1. Загрузите тепловые данные о расширении из файла hahn1.mat, которому предоставляют тулбокс.

    load hahn1

    Рабочая область содержит две новых переменные:

    • temp является вектором температур в градусах кельвин.

    • thermex является вектором тепловых коэффициентов расширения для меди.

  2. Откройте приложение Curve Fitting путем ввода:

    cftool

  3. Выберите temp и thermex из списков Y data и X data.

    Приложение Curve Fitting соответствует и отображает данные на графике.

  4. Выберите Rational в подходящем списке категорий.

  5. Попробуйте начальный выбор за рациональную модель квадратичных/квадратичных. Выберите 2 и для Numerator degree и для Denominator degree.

    Приложение Curve Fitting соответствует квадратичному/квадратичному рациональному.

  6. Исследуйте невязки. Выберите View> Residuals Plot или нажмите кнопку на панели инструментов.

    Исследуйте данные, подгонку и невязки. Заметьте, что подгонка пропускает данные для наименьших и самых больших значений предиктора. Кроме того, невязки показывают сильный шаблон в целом наборе данных, указывая, что лучшая подгонка возможна.

  7. Для следующей подгонки попробуйте кубическое / кубическое уравнение. Выберите 3 и для Numerator degree и для Denominator degree.

    Исследуйте данные, подгонку и невязки. Подгонка показывает несколько разрывов вокруг нулей знаменателя.

    Примечание

    Ваши результаты зависят от случайных стартовых точек и могут отличаться от показанных.

  8. Посмотрите в панели Results. Сообщение и числовые результаты указывают, что подгонка не сходилась.

    Fit computation did not converge:
    Fitting stopped because the number of iterations
     or function evaluations exceeded the specified maximum.
    

    Несмотря на то, что сообщение в панели Результатов указывает, что вы можете улучшить подгонку, если вы увеличиваете максимальное число итераций, лучший выбор на этом этапе подходящего процесса состоит в том, чтобы использовать различное рациональное уравнение, потому что текущая подгонка содержит несколько разрывов. Эти разрывы происходят из-за функции, аварийно завершающейся в значениях предиктора, которые соответствуют нулям знаменателя.

  9. Попробуйте подгонку данных с помощью кубического / квадратного уравнения. Выберите 2 для Denominator degree и оставьте набор Numerator degree 3.

  10. Входные переменные имеют совсем другие шкалы, так выберите опцию Center and scale.

    Данные, подгонку и невязки показывают ниже.

    Подгонка хорошего поведения в целой области значений данных, и невязки случайным образом рассеиваются о нуле. Поэтому можно уверенно использовать это подходящее для последующего анализа.

Смотрите также

| |

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте