Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Линейная и нелинейная регрессии в MathCad (linfit, genfit)



Бывают случаи, когда закон изменения функции известен и требуется подобрать лишь ее коэффициенты, однако сама аппроксимирующая функция такова, что использовать две функции специальной регрессии невозможно. В этом случае MathCAD предлагает использовать две функции регрессии общего вида – linfit и genfit.

Если предполагаемая зависимость представляет собой линейную комбинацию некоторых функций

y=a0f0(x) +a1f1(x) +…+anfn(x)

и надо лишь подобрать коэффициенты этих функций, то используется функция linfit, например:

f(x)=a1sin(2x)+a2cos(3x).

linfit(x, y, C, F) возвращает вектор, содержащий набор коэффициентов при функциях fi(x); y(x) – вектор заданных значений функции при значениях аргумента, содержащихся в векторе х, F- вектор функции, входящих в линейную комбинацию у(х).

для произвольной функции с неизвестными коэффициентами надо использовать функцию genfit, например:

f(x)=2sin(a1x)+3 cos(a2x).

genfit(x, y, C, F) возвращает вектор, содержащий n параметров, наилучшим образом аппроксимирующих данные из векторов х и у заданной функцией f(x).

Здесь F(x) - функция, которая возвращает (n +1)- мерный вектор, содержащий функцию f(x) и ее частные производные относительно неизвестных параметров; С- n – мерный вектор начальных значений для n неизвестных параметров.

Нелинейная регрессия данных функцией genfit

 

В MathCAD 13 усовершенствован механизм функции genfit. Теперь вычисление частных производных относительно неизвестных параметров может выполняться MathCAD автоматически.

Для реализации линейной регрессии общего вида используется функция linfit(VX, VY, F). Эта функция возвращает вектор коэффициентов линейной регрессии общего вида К, при котором среднеквадратичная погрешность приближения облака исходных точек, если их координаты хранятся в векторах VX и VY, оказывается минимальной. Вектор F должен содержать функции F1(x), F2(x),..., Fn(x), записанные в символьном виде. асположение координат точек исходного массива может быть любым, но вектор VX должен содержать координаты, упорядоченные в порядке их возрастания, а вектор VY — ординаты, соответствующие абсциссам в векторе VX.

Под нелинейной регрессией общего вида подразумевается нахождение вектора К параметров произвольной функции F(x, K1, K2,..., Kn), при котором обеспечивается минимальная среднеквадратичная погрешность приближения облака исходных точек.

Для проведения нелинейной регрессии общего вида используется функция genfit(VX, VY, VS, F). Эта функция возвращает вектор К параметров функции F, дающий минимальную среднеквадратичную погрешность приближения функцией F(x, Kl, K2,..., Kn) исходных данных.

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

 

 

30) MathCad. Решение задачи Коши для одного дифференциального уравнения первого порядка.

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

 

 

При определенных начальных условиях:

 

 

Для химика дифференциальные уравнения — это, прежде всего, дифференциальные уравнения химической кинетики.

Для простейшей реакции разложения вещества скорость реакции пропорциональна первой степени концентрации (реакция первого порядка) и потому можно записать

 

 

где k называется константой скорости реакции, а — начальная концентрация.

Это уравнение в силу своей простоты легко решается (без привлечения численных методов):

 

 

Небольшое уточнение этой задачи приводит к гораздо более сложному уравнения.

 

Пусть порядок реакции будет равен n. Кроме того, рассмотрим реакцию с выделением тепла (тепловой эффект равен H). Если реактор помещен в термостат с температурой , то количество тепла, передаваемое от него к термостату, можно считать пропорциональным разности температуры T в реакторе и температуры . Если принять, что скорость выделения тепла пропорциональна скорости реакции, то для температуры получим дифференциальное уравнение

 

Зависимость константы скорости реакции от температуры обычно описывается уравнением Аррениуса, и следовательно для концентрации можно записать дифференциальное уравнение:

 

 

Для полученной системы уравнений (в которой концентрация C и температура T взаимосвязаны между собой) уже чрезвычайно трудно получить аналитическое решение, и приходится обращаться к численным методам.

 

 

Без учета температуры, типичная схема реакции может иметь, например, такой вид

 

 

Обозначая концентрации веществ A, M, B, C, D и E через С1, С2, C3, C4, C5 и С6, можно записать систему дифференциальных кинетических уравнений для этой схемы реакций в виде:

 

Обратите внимание, что суммарный баланс вещества должен быть равен нулю (в чем можно убедиться, сложив правые части уравнений). Эта систему уравнений должна решаться при определенных начальных условиях — начальных концентрациях.

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

Посмотрите, однако, что требуется набрать в MathCad, чтобы получить решение этой системы дифференциальных уравнений (рис1)..

 

На следующем рисунке приведены результаты расчет концентраций (их зависимости от времени) для всех веществ.

 

Обратите внимание на то, что результирующая концентрация продуктов (веществ B, D, E) равна в сумме концентрации исходного вещества A (0.4+0.4+0.2=1), что является дополнительной проверкой выполнения общего баланса вещества.

 

Как видите, запись системы дифференциальных уравнений в MathCad мало отличается от лычной математической записи на бумаге. Надо только эти уравнения и начальные условия заключить внутрь блока Given …..Odesolve.

 

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

Целью данной лекции как раз и является изложение общих идей численных методов решения задачи Коши для обыкновенных дифференциальных уравнений.


Поделиться:



Последнее изменение этой страницы: 2017-03-14; Просмотров: 2211; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.017 с.)
Главная | Случайная страница | Обратная связь