Построение и оценка математических моделей

 

Министерство образования и науки, молодежи и спорта Украины

Государственное высшее учебное заведение

Приазовский государственный технический университет

Факультет информационных технологий

Кафедра автоматизации и компьютерных технологий











ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

по курсовой работе по дисциплине Идентификация и моделирование объектов автоматизации




Выполнил: студентка группы МА-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 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ