Построение и оценка математических моделей
Министерство образования и науки, молодежи и спорта Украины
Государственное высшее учебное заведение
Приазовский государственный технический университет
Факультет информационных технологий
Кафедра автоматизации и компьютерных технологий
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
по курсовой работе по дисциплине Идентификация и моделирование объектов автоматизации
Выполнил: студентка группы МА-10 Адамова О.С.
Мариуполь 2013 г.
Реферат
Пояснительная записка содержит 42 страницы, 12 рисунков, 3 таблицы.
Целью работы является получение численного решения для конкретной задачи. Это решение должно быть получено в результате выполнения соответствующей программы на ЭВМ, написанной на языке высокого уровня, составленной самим обучающимся.
При выполнении работы необходимо предварительно ознакомиться с соответствующим методом и его алгоритмом. Выполнение программы на ЭВМ и анализ получения результатов составляют заключительную стадию работы. Реализация программы должна быть показана на контрольном примере с выдачей выходных документов на принтер.
Введение
Цель работы ? получение практических навыков в построении математических моделей технических объектов, написании программ для решении задач моделирования с использованием языка программирования С/С++ и математических пакетов MathCad или MatLab, изучение теоретических основ и особенностей выполнения параметрической идентификации различных моделей, реализации алгоритмов линейного и нелинейного регрессионного анализа, планирования эксперимента.
Задачи курсовой работы включают:
? получение студентами навыков самостоятельной работы;
? освоение технологии разработки и отладки программ, реализующих модели технических объектов;
? более качественное изучение нормативных материалов - государственных стандартов и технических условий;
? более полное изучение базовых средств языков программирования и получение навыков постановки и решения различных задач с помощью ПЭВМ;
? изучение и использование сред численного моделирования и статистического анализа (MatLab, StatGraph и т.п.).
Постановка задачи
В ходе выполнения курсовой работы необходимо разработать программы на Scilab, Matlab, C++, которая позволит:
? оценить построенную математическую модель;
? найти выходные параметры, описывающие математическую модель, и построить зависимости между входными и выходными характеристиками объекта;
? установить математическое соотношение между измеряемыми входами и выходами при заданных их измерениях во времени.
Входные и выходные данные
В данной работе входными данными являются начальные параметры (граничные условия), вводимые пользователем во время работы программы. Собственно, сама математическая модель, построенная согласно заданию на курсовой проект и являющаяся неизменной, представлена (описана) в качестве дифференциального уравнения либо матрицы и (начальных, граничных) параметров, которые даны для наблюдения за процессом на определенном промежутке времени либо участке (сечении).
Выходными данными являются реализованные графики (зависимости) меняющиеся во времени либо в пространстве координат, а также расчетное представление корреляционного анализа модели с использованием эксперимента.
1. Идентификация объектов методом наименьших квадратов
Вариант задания - 1
Матрица X
x1x2x3851243497224231
Матрица Y
y20,814,232,311,58,2
Для линейных уравнений вида:
строится следующая система нормальных уравнений, решение которой позволяет получить оценки параметров регрессии:
Постановка задачи:
. Построить линейную модель множественной регрессии. Записать стандартизированное уравнение множественной регрессии. На основе стандартизированных коэффициентов регрессии и средних коэффициентов эластичности ранжировать факторы по степени их влияния на результат.
. Найти коэффициенты парной, частной и множественной корреляции. Проанализировать их.
. Найти скорректированный коэффициент множественной детерминации. Сравнить его с нескорректированным (общим) коэффициентом детерминации.
4. С помощью F-критерия Фишера оценить статистическую надежность уравнения регрессии и коэффициента детерминации
. С помощью t-критерия Стьюдента оценить статистическую значимость коэффициентов чистой регрессии.
. Составить уравнение линейной парной регрессии, оставив лишь один значащий фактор.
Для наших данных система нормальных уравнений имеет вид:
Расчет коэффициентов множественной линейной регрессии методом определителей (по формуле Крамера):
Уравнение множественной регрессии:
Оценка значимости уравнения регрессии в целом производится не основе F-критерия Фишера, которому предшествует дисперсионный анализ. Согласно основной идее дисперсионного анализа, общая сумма квадратов отклонений переменной от среднего значения раскладывается на две части - объясненную и необъясненную:
- общая сумма квадратов отклонений;
- сумма квадратов отклонений, объясненная регрессией (факторная сумма квадратов отклонений);
- остаточная сумма квадратов отклонений, характеризующая влияние неучтенных в модели факторов.
Сопоставляя факторную и остаточную дисперсии в расчете на одну степень свободы, получим величину F-критерия Фишера:
Фактическое значение F-критерия Фишера сравнивается с табличным значением при уровне значимости и степенях свободы и При этом, если фактическое значение F-критерия Фишера больше табличного, то уравнение признается статистически значимым:
Качество модели, исходя из относительных отклонений по каждому наблюдению, признается хорошим, т.к. средняя ошибка аппроксимации не превышает 10 %.
Средние коэффициенты эластичности для линейной регрессии:
Средние коэффициенты эластичности показывают, на сколько процентов в среднем изменится результат при изменении соответствующего фактора на 1 %. Таким образом, подтверждается большее влияние на результат фактора чем факторов
Показателем интенсивности связи служит значение коэффициента корреляции. Считается, если он равен 1, то взаимозависимость признаков является строгой (полной); если его значение находится в интервале от 1 до 0,8, то это свидетельствует о сильной их взаимозависимости; если в интервале от 0,7 до 0,3 - об умеренной (не ярко выраженной) взаимозависимости, а если же оно лежит в интервале от 0,2 до 0,0, то мы имеем дело со слабой или нулевой взаимозависимостью.
Коэффициенты парной корреляции:
Коэффициент парной корреляции указывает на сильную взаимозависимость фактора и результата При такой зависимости рекомендуется исключить из рассмотрения факторы с не ярко выраженной взаимозависимостью.
Коэффициент множественной корреляции определим через матрицы парных коэффициентов корреляции:
? определитель матрицы парных коэффициентов корреляции
? определитель матрицы межфакторной корреляции
Нескорректированный коэффициент множественной детерминации оценивает долю дисперсии результата за счет представленных в уравнении факторов в общей вариации результата и рассчитывается как квадрат коэффициента множественной корреляции:
Эта доля составляет 99,9 % и указывает на высокую степень обусловленности вариации результата вариацией факторов (тесную связь факторов с результатом).
Скорректированный коэффициент множественной детерминации определяет тесноту связи с учетом степеней свободы общей и остаточной дисперсий:
Оба коэффициента указывают на высокую детерминированность результата в модели факторами
Оценка статистической значимости параметров регрессии проводится по t-критерию Стьюдента:
Для уравнения множественной регрессии средняя квадратическая ошибка коэффициента регрессии может быть определена по формуле:
2. Исследование разомкнутой линейной системы
Вариант задания - 1
Значения коэффициентов дифференциального уравнения объекта-423156120
Объект описан дифференциальным уравнением:
Постановка задачи:
. Записать модель объекта в форме передаточной функции.
. Записать модель объекта в пространстве состояний.
. Определить нули и полюса передаточной функции.
. Определить коэффициент усиления системы в установившемся режиме и полосу пропускания системы.
. Построить карту расположения нулей и полюсов, импульсную и переходную характеристики, частотные характеристики.
. Построить процесс на выходе системы при произвольном входном сигнале.
. Использовать модуль LTI-Viewer для построения различных характеристик.
Для описания линейных систем могут применяться несколько способов:
? дифференциальные уравнения;
? модели в пространстве состояний;
? передаточные функции;
? модели вида «нули-полюса».
Первые два способа называются временными, поскольку описывают поведение системы во временной области и отражают внутренние связи между сигналами. Передаточные функции и модели вида «нули-полюса» относятся к частотным способам описания, т.к. непосредственно связаны с частотными характеристиками системы и отражают свойства объекта «вход-выход».
Модель объекта в форме передаточной функции:
Текст программы
all;;
% Ввод передаточной функции %
num=[0 12 6 5]=[1 3 2 -4]=tf(num,den)
% Построение модели объекта в пространстве состояний %_ss=ss(w)
% Нахождение нулей и полюсов передаточной функции %
z=zero(w)=pole(w)
% Нахождение коэффициента усиления системы %
% в установившемся режиме %=dcgain(w)
% Определение полосы пропускания системы %=bandwidth(w)
% Построение модели системы в форме "нули-полюса" %_zpk=zpk(w)
% Расположение нулей и полюсов системы на графике %
pzmap(w);grid;-dmeta;
% Построение переходной функции %(w);grid;-dmeta;
% Построение импульсной переходной функции %
impulse(w);grid;-dmeta;
% Создание массива частот для построения %
% амплитудно-частотной характеристики %=logspace(-4,4,500);
r=freqresp(w,freq);=r(:);(freq,abs(r));grid;
print -dmeta;
% Создание массива частот для построения %
% фазо-частотной характеристики %=logspace(-4,4,500);
r=freqresp(w,freq);=r(:);=angle(r)*180/pi;(freq,phi);grid;-dmeta;
% Диаграмма Боде %(w);grid;
print -dmeta;
% Частотный годограф Найквиста %
nyquist(w);grid;-dmeta;
% Сигнал, имитирующий прямоугольные импульсы %
% единичной амплитуды %
% (период - 4 секунды, количество - 5 импульсов) %
[u,t]=gensig('square',4);
lsim(w,u,t);grid;
print -dmeta;
Результаты работы программы
= 0 12 6 5= 1 3 2 -4= 12 s^2 + 6 s + 5
--------------------^3 + 3 s^2 + 2 s - 4time transfer function._ss = = x2 x3-3 -1 22 0 00 1 0= 400= x2 x33 0.75 0.625= 0time state-space model.=
.2500 + 0.5951i
.2500 - 0.5951i=
.8982 + 1.1917i
.8982 - 1.1917i
.7963 + 0.0000i=
.2500=
.3819_zpk =
(s^2 + 0.5s + 0.4167)
--------------------------------
(s-0.7963) (s^2 + 3.796s + 5.023)time zero/pole/gain model.
Рис. 2.1. Расположение нулей и полюсов системы на графике
Рис. 2.2. Переходная функция
Рис. 2.3. Импульсная переходная функция
Рис. 2.4. Амплитудно-частотная характеристика
Рис. 2.5. Фазо-частотная характеристика
Рис. 2.6. Диаграмма Боде
Рис. 2.7. Частотный годограф Найквиста
Рис. 2.8. Сигнал, имитирующий прямоугольные импульсы единичной амплитуды (период ? 4 секунды, количество ? 5 импульсов)
3. Построение модели с распределенными параметрами
.1 Исходные данные
Рассмотрим стержень из теплопроводящего материала с коэффициентом теплопроводности k. Предположим, что температура на концах стержня задана, а боковая поверхность стержня теплоизолирована. Пусть ось x направлена вдоль оси стержня, а его концы расположены в точках x=0 и x=L.
.2 Общие теоретические сведения
Задача сводится к определению зависимости от времени t температуры u в точках стержня, то есть функции двух переменных u(x,t). Функция u(x,t) должна удовлетворять уравнению теплопроводности
(0<x<L),(3.1)
начальному условию
u(x,0)=f(x), (0<x<L),(3.2)
и условиям на концах стержня
u(0,t)=j1(t), u(L,t)=j2(t), (tV0).(3.3)
Значения u(0,0) и u(L,0), полученные из (2) и (3), должны совпадать. Это будет если jj1(0)=f(0), jj2(0)=f(L).
Следует отметить, что путем замены переменных t^ў=a2t уравнение (1) можно преобразовать к виду:
(3.4)
Это означает, что решение задачи (3.1÷3.3) путем замены переменных сводится к решению задачи (3.4). Далее будем полагать а=1.
Построим на плоскости (x,t) сетку с шагом h по переменной x (xi=(i-1)h; i=1, …, n+1; h=L/n) и с шагом tt по переменной t (tj=(j-1)tt). Обозначим uij=u(xi,tj). Производные в уравнении (1) аппроксимируем следующим образом:
(3.5)
(3.6)
Подставляя (3.5) и (3.6) в (3.1) при a=1, получим разностное уравнение:
(3.7)
В соответствии с (3.2) и (3.3) значения
ui0=f(xi), u0j=j1(tj), unj=j2(tj)(3.8)
являются известными. Тогда, подставляя в (3.7) j=0, получим систему n-1 линейных уравнений, решив которую можно определить ui1 (i=1, …, n-1). При этом, поскольку u01=jj1(t1), …, un1=jj2(t1), известными оказываются все значения временного слоя j=1, (t=t1). Затем, подставляя в (3.7) j=2, решаем систему уравнений относительно ui2 и т.д. для всех j=2, …, m.
Из (3.7) следует, что в каждое i-тое уравнение (i=1, …, n-1) с ненулевыми коэффициентами входят только три неизвестных (ui-1,j, uij, ui+1,j). Величина ui,j-1 к этому моменту является известной и потому отнесена в правую часть уравнения. Таким образом, матрица системы уравнений является трехдиагональной и эту систему можно решить методом прогонки. Для этого представим ее в стандартном виде:
(3.9)
Для данной задачи xi=uij, ai=l, gi=l, bi=1-2l, b0=1, g0=0, j0=u0j=j1(tj), jn=unj=j2(tj), ji=-ui,j-1 (i=1, …, n-1).
Пусть на j-том шаге заданными являются параметры ui,j-1 (i=1, …, n-1), u0j, unj, ll. Все неизвестные значения uij можно разместить в массиве xi (xi=uij; i=0, …, n). Ищем связь xi-1 с xi в виде рекуррентного соотношения:
xi-1=ci-1xi+ni-1, i=1, …, n.(3.10)
Подставляя (3.10) в (3.7), получаем:
lci-1xi-(1+2l)xi+lxi+1 = -ui,j-1-lni-1.(3.11)
Отсюда
(3.12)
Сравнивая (3.12) с (3.10), находим рекуррентные соотношения:
,
(3.13)
cc0=0, nn0=u0j.
Таким образом, алгоритм определения значений uij по известным ui,j-1 состоит из двух этапов: прямого хода прогонки по формулам (3.13) при (i=1, …, n-1) и обратного хода прогонки по формуле (3.10) при (i=n, …, 2).
а) б)
Рис. 3.1. Шаблоны неявной (а) и явной (б) разностных схем
Необходимо отметить, что разностное уравнение (7) связывает одно известное значение Ui,j-1 (из предыдущего j-1 временного слоя) и три неизвестных (Ui,j, Ui-1,j, Ui+1,j). Поэтому найти значения Ui,j (i=1, …, n-1) можно только все сразу путем решения системы уравнений. Такая схема связи переменных в разностном уравнении называется неявной. Шаблон неявной разностной схемы представлен на рис. 3.1 (а).
Наряду с неявной возможна организация явной разностной схемы. Для этого вместо выражения (5) для первой разностной производной по времени используют формулу:
(3.14)
Тогда разностное уравнение запишется в виде:
(3.15)
В этом случае связываются три неизвестные значения, относящиеся к предыдущему временному слою (здесь j-тому) и только одно неизвестное Ui,j+1. Шаблон явной разностной схемы представлен на рис. 3.1 (б).
При использовании этой схемы неизвестные параметры определяются путем последовательного применения формулы (2.14) при i=1, …, n-1. Поскольку при этом не надо решать системы уравнений, то процесс определения параметров одного временного слоя требует меньших затрат времени, чем в случае неявной схемы.
Однако, неявная схема устойчива (ошибка не возрастает от шага к шагу) при любых значениях ?=?/h2. Явная схема является устойчивой только при ? <1/2. В противном случае развивается экспоненциальный рост погрешности так, что обычно происходит аварийная остановка ЭВМ по переполнению порядка. Поэтому при использовании явной схемы вычисления приходится вести с очень малым шагом по времени.
В случае применения неявной схемы затраты машинного времени для расчета одного временного слоя больше, но возможность выбора значительно большего шага по времени t может обеспечить общее ускорение процесса расчета по сравнению с явной схемой.
При выполнении данной работы будем предполагать, что температура на концах стержня поддерживается постоянной
j1(t)Tf(0), j2(t)Tf(L).
.3 Решение задачи для исходных данных
Решить смешанную задачу для уравнения теплопроводности с начальными u(x,0)=f(x) и граничными условиями u(0,t)=f(0), u(1,t)=b, L=1.
Табл. 3.1. Вариант задания
№аbcdf(x)11,130,05
Текст программы
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"*Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
#define a 14
#define b 16
#define c 0.25
#define d 0.5
#define N 20
#define L 1
#define tau 60
#define ro 7800
#define lam 46
#define c_f 460
#define t_max 3000T[N+1],alpha[N+1],beta[N+1],time1=0,h;A[N+1],C[N+1],B[N+1],F[N+1];h_iav,tau_iav,a_iav,T_iav[N+1],TT_iav[N+1],time_iav=0;funkf(float x)
{m;(x>=0)
{(x<c)
{=a-(x/c)*a;
}(x<d)
{=0;
}
else
if(x<=1)
m=((1-x)*b)/(1-d);
}(m);
}start_heat_field(float h)
{(int i=1;i<=N;i++)[i]=funkf(h*(i-1));
}neiavnii_metod_start(){=(float)L/(float)(N);_heat_field(h);(int i=1;i<=N;i++)->Series1->AddXY(h*i,T[i]);
}neiavnii_metod_calc(){=time1+tau;[1]=0;[1]=funkf(0);(int i=2;i<=N-1;i++){[i]=C[i]=lam/(h*h);[i]=(2*lam)/(h*h)+(ro*c_f)/tau ;[i]=-((ro*c_f)/tau)*T[i];[i]=A[i]/(B[i]-C[i]*alpha[i-1]) ;[i]=(C[i]*beta[i-1]-F[i])/(B[i]-C[i]*alpha[i-1]);
}[N]=funkf(L-0.0000001);(int i=N-1;i>=2;i--){[i]=(A[i]/(B[i]-C[i]*alpha[i]))*T[i+1]+(C[i]*beta[i-1]-F[i])/(B[i]-C[i]*alpha[i-1]);->Series1->Clear();[0]=funkf(0.0000001);(int i=1;i<=N;i++)->Series1->AddXY(h*i,T[i]);
}
}iavnii_metod_start(){_iav=lam/(ro*c);_iav=(h*h)/(4*a_iav);(int i=1;i<=N;i++)_iav[i]=funkf(h*(i-1));(int i=1;i<=N;i++)->Series2->AddXY(h*i,T_iav[i]);_iav[1]=funkf(0.0000001);_iav[N]=funkf(L-0.0000001);
}iavnii_metod_calc(){_iav=time_iav+tau_iav;(int i=1;i<=N+1;i++)_iav[i]=T_iav[i];(int i=2;i<=N-1;i++)_iav[i]=TT_iav[i]+((lam*tau_iav)/(ro*c))*((TT_iav[i+1]-2*TT_iav[i]+TT_iav[i-1])/(h*h));->Series2->Clear();(int i=1;i<=N;i++)->Series2->AddXY(h*i,T_iav[i]);
}__fastcall TForm1::FormCreate(TObject *Sender)
{_metod_start();_metod_start();
}
//---------------------------------------------------------------------------__fastcall TForm1::Button1Click(TObject *Sender)
{=0;_metod_start();_metod_start();(time1<t_max){_metod_calc();_metod_calc();
}->Caption="Time= "+FloatToStr(time1);
}
//---------------------------------------------------------------------------__fastcall TForm1::Button2Click(TObject *Sender)
{=0;_metod_start();_metod_start();(time1<TrackBar1->Position*tau){_metod_calc();_metod_calc();
}->Caption="Time= "+FloatToStr(time1);
}
//---------------------------------------------------------------------------
Результаты работы программы
Вывод:
В процессе разработки программы были изучены явный и неявный методы конечных разностей. По уравнению теплопроводности программа моделирует процесс нагрева стержня.
корреляция модель итерационный функция
4. Численные процедуры оценивания параметров нелинейных регрессионных моделей
Вариант задания - метод Ньютона.
Метод Ньютона, алгоритм Ньютона (также известный как метод касательных) ? это итерационный численный метод нахождения корня (нуля) заданной функции. Поиск решения осуществляется путем построения последовательных приближений и основан на принципах простой итерации. Метод обладает квадратичной сходимостью. Улучшением метода является метод хорд и касательных. Также метод Ньютона может быть использован для решения задач оптимизации, в которых требуется определить нуль первой производной либо градиента в случае многомерного пространства.
Основная идея метода заключается в следующем: задается начальное приближение вблизи предположительного корня, после чего строится касательная к исследуемой функции в точке приближения, для которой находится пересечение с осью абсцисс. Эта точка и берется в качестве следующего приближения. И так далее, пока не будет достигнута необходимая точность.
Пусть ? определена на отрезке и дифференцируемая <#"47" src="doc_zip113.jpg" />
где ? угол наклона касательной в точке .
Следовательно, искомое выражение для имеет вид:
Итерационный процесс начинается с некоего начального приближения (чем ближе к корню, тем лучше, но если предположения о его нахождении отсутствуют, методом проб и ошибок можно сузить область возможных значений, применив теорему о промежуточных значениях <#"12" src="doc_zip119.jpg" />.
. Пока не выполнено условие остановки, в качестве которого можно взять или (т.е. погрешность в нужных пределах), вычисляют новое приближение: .
Недостатки:
. Если начальное приближение недостаточно близко к решению, то метод может не сойтись.
. Если производная <#"justify">Результаты работы программы
Вывод:
Освоен метод оптимизации Ньютона на примере регрессионного уравнения, посредством которого достигнута более высокая точность его коэффициентов.
Заключение
В ходе выполнения курсовой работы были получены практические навыки в построении математических моделей технических объектов, написании программ для решения задач моделирования с использованием математического пакета MATLAB, изучены теоретические основы и особенности выполнения параметрической идентификации различных моделей, реализации алгоритмов линейного и нелинейного регрессионного анализа, планирования эксперимента.
Перечень ссылок
1. Автоматизированные системы управления технологическими процессами. Идентификация и оптимальное управление / Под ред. Салнги В.И. ? Харьков: «Вища школа», 1976 г. ? 180 с.
. Брикман М.С., Кристинков Д.С. Аналитическая идентификация управляемых систем. ? Рига: «Зинатне», 1974 г. ? 206 с.
. Гельфандбейн Я.А. Методы кибернетической диагностики динамических систем. Идентификация функционирующих систем математическими моделями. ? Рига: «Зинатне», 1967 г. ? 542 с.
. Дрейпер Н., Смит Г. Прикладной регрессионный анализ. ? М.: «Статистика», 1973 г. ? 391 с.
. Демиденко Е.З. Линейная и нелинейная регрессии. - М.: «Финансы и статистика», 1981 г.
Больше работ по теме:
Предмет: Информационное обеспечение, программирование
Тип работы: Курсовая работа (т)
Новости образования
КОНТАКТНЫЙ EMAIL: [email protected]
Скачать реферат © 2017 | Пользовательское соглашение
ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ