Анализ нелинейных САУ. Интерполяционный метод
Изучение алгоритма интерполяционного метода, используемого при анализе нелинейных автоматических систем. Алгоритм нахождения и построения функции, используя интерполяционный полином Лагранжа. Аппроксимации зависимости интерполяционными полиномами.
Рубрика | Экономика и экономическая теория |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 19.04.2017 |
Размер файла | 294,2 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
МОСКОВСКИЙ АВИАЦИОННЫЙ ИНСТИТУТ
(государственный технический университет)
филиал «Восход»
ОТЧЕТ
по курсовой работе
на тему: «Анализ нелинейных САУ. Интерполяционный метод»
по дисциплине: «Статистическая динамика и теория эффективности систем управления»
Реферат
Курсовая работа посвящена изучению интерполяционного метода.
Пояснительная записка представлена в объёме 25 страниц и состоит из трёх частей. Кроме того, содержит введение, список литературы, заключение и приложения.
В теоретической части рассмотрен интерполяционный метод. Материал, содержащий эту информацию, занимает 6 листов. В специальной части приведена постановка задачи и алгоритм решения данной задачи. Далее в технологической части приведены обоснование выбора языка программирования и приведён анализ результатов.
Курсовая работа содержит 2 приложения.
Список литературы содержит 3 наименования.
Содержание
Введение
1. Теоретическая часть
1.1 Интерполяционный метод
1.2 Теорема 1
1.3 Теорема 2
1.4 Теорема 3
1.5 Теорема 4
1.6 Теорема 5
2. Специальная часть
2.1 Постановка задачи
2.2 Алгоритм решения задачи
3. Технологическая часть
3.1 Обоснование выбора программных средств
3.2 Описание алгоритма
3.2.1 Исходные данные
3.2.2 Описание функций
3.2.3 Алгоритм программы
3.2.4 Выходные данные
3.3 Комплекс технических средств
3.4 Руководство пользователю
3.5 Анализ результатов
Заключение
Список использованной литературы
Приложение А. Листинг программы
Приложение Б. Результат работы программы
Введение
Данная курсовая работа посвящена изучению алгоритма интерполяционного метода, используемого при анализе нелинейных автоматических систем.
Рассматривается алгоритм нахождения и построения функции, используя интерполяционный полином Лагранжа. В качестве входных параметров берутся интервал, в пределах которого будет рассчитываться функция и истинный вид функции. Затем истинная функция сравнивается с той, которая была получена интерполяционным методом.
1. Теоретическая часть
1.1 Интерполяционный метод
интерполяционный полином лагранж
В основе интерполяционного метода лежит идея аппроксимации интерполяционными полиномами существующей зависимости между входными случайными параметрами и выходными величинами.
Пусть автоматическая система описывается системой дифференциальных уравнений вида
(1)
где - фазовые координаты системы, - случайные параметры, от которых зависит поведение системы, t - время (в число случайных параметров введем и случайные начальные условия).
Будем считать, что случайные параметры являются независимой системой случайных величин.
Решение системы (1) имеет вид
(2)
Необходимо найти оценку математического ожидания некоторой функции от фазовых координат системы в момент времени t, т.е. вычислить оценку выражения вида
где = fi(vi) - функция плотности распределения вероятностей случайной величины Vi.
В частном случае, если необходимо вычислить математическое ожидание фазовой координаты Xi(t), т.е. найти M[Xi(t)], то
если необходимо вычислить дисперсию M[(Xi(t) - M[Xi(t)])2] фазовой координаты Xi(t), то
При вычислении корреляционного момента функция принимает вид
Если необходимо вычислить функцию распределения вероятностей то функция принимает вид
Действительно, если , то =1, в противном случае =0, и следовательно, в случае выполнения равенства (6) соотношение (3) определяет функцию распределения вероятностей фазовой координаты .
Обычно явный вид выражения (2) решения системы уравнения (1) неизвестен. Можно найти лишь значение решения при определенных значениях параметров путем численного решения системы (1) на ЭВМ. Поэтому функцию Ф1 в равенстве (3) вычисляют при определенных значениях случайных параметров равных
(эти значения случайных параметров называют узлами интерполяции) и строят приближенное значение функции с помощью интерполяции полинома Лагранжа вида
где k1=1, 2,…, q1; k2=1, 2,…, q2;…; km=1, 2,…, qm, а
(9)
есть многочлен степени qj (j=1, 2, …, m) относительно переменного vj, w'qj(vj) - производная от wqj(vj) по переменной vj. Нетрудно проверить, что выполняется равенство
В остальных же точках соблюдается приближенное равенство
Подставив выражение (8) в равенство (3) и меняя порядок интегрирования и суммирования, получим
где
Величины , вычисленные по формуле (12), называются числами Кристоффеля.
Таким образом, для вычисления математического ожидания в соотношении (3) справедливо приближенное соотношение
Точность приближенной формулы (13) определяется рациональным выбором узлов интерполирования
Применение интерполяционного метода теоретически обосновывается на основе теорем.
1.2 Теорема 1
Если функция цi(t,v), являющаяся решением системы дифференциальных уравнений (1), непрерывна по аргументам t и v за исключением конечного числа точек, где имеются разрывы первого рода, то существует полином относительно v, приближающий равномерно в области t0 ? t ? T, v [a, b] эту функцию с любой наперёд заданной точностью за исключением сколь угодно малых окрестностей точек разрыва непрерывности.
1.3 Теорема 2
Для того чтобы интерполяционный полином (8) сходился слабо в среднем для всякой непрерывной при всех v [a, b] функции Ф1(t, v), достаточно, чтобы узлы интерполирования были выбраны так, чтобы числа Кристоффеля, определяемые по формуле (1), были неотрицательны.
1.4 Теорема 3
Если в качестве узлов интерполирования выбрать корни ортогональных полиномов по весу, равному f(v) - плотности распределения случайной величины V, то при использовании n узлов интерполирования интерполяционный метод даёт точные значения в классе многочленов Ф1(t, v) всех степеней до степени q=2n - 1 включительно.
1.5 Теорема 4
Для каждой плотности распределения вероятностей, являющейся весовой функцией, существует единственная система ортогональных многочленов.
1.6 Теорема 5
Многочлен Hn(v) степени n, ортогональный относительно плотности распределения вероятностей f(v), имеет внутри промежутка [a, b] значений, применяемой случайной величиной V, n вещественных корней v1, v2, …, vn (узлов интерполирования). Причем числа Кристоффеля, вычисленные для случая, когда в качестве узлов интерполирования выбраны корни ортогональных многочленов, положительны.
2. Специальная часть
2.1 Постановка задачи
Пусть имеется некоторое линейное множество R действительных функций, определенных на отрезке [a, b], и некоторая конечная или счетная совокупность достаточно простых функций этого множества {ji(x)}. Предполагается, что любая конечная подсистема функций {ji(x)} линейно независима на [a, b]. Рассматривается задача приближения функции f(x)R функциями вида Qm(x) = c0j0(x) + c1j1(x) +...+ cmjm(x). На [a, b] выбирается некоторая фиксированная совокупность попарно различных точек x0, x0,..., xn и каждой конкретной функции f(x)R ставится в соответствие обобщенный многочлен Qm(x), значения которого в выбранных точках совпадают со значениями функции f(x). Точки x0, x0,…, xn называются узлами интерполирования, а обобщенный многочлен, обладающий указанным свойством, называется обобщенным интерполяционным многочленом для f(x) по заданной системе узлов.
2.2 Алгоритм решения задачи
Задаётся начальная функция и интервал, в пределах которого строится данная функция. Затем следует построить заданную функцию по выбранным произвольно точкам. Далее по формуле полинома Лагранжа в выбранных узлах интерполирования, рассчитывается и строится, приближенная к заданной, функция.
На выходе программы должны отобразится два графика: сама функция и её интерполяционный многочлен.
3. Технологическая часть
3.1 Обоснование выбора программного обеспечения
Выбор среды разработки обусловлен тем, что посредством Delphi имеется возможность написания наглядной программы с дружественным интерфейсом и большим количеством возможностей. Синтаксис Borland Pascal и Borland Delphi очень похож, и среда разработки Borland Delphi становится всё популярнее у разработчиков, так как охватывает обширную часть методов и технологий для взаимодействия с операционной системой и оборудованием компьютера.
Delphi - это среда быстрой разработки, в которой в качестве языка программирования используется язык Delphi. Язык Delphi - строго типизированный объектно-ориентированный язык, в основе которого лежит хорошо знакомый программистам Object Pascal.
3.2 Описание алгоритма
3.2.1 Исходные данные
При запуске программы необходимо выбрать одну из трёх представленных функций, ввести интервал, в пределах которого будет строиться функция, и выбрать порядок полинома.
3.2.2 Описание функций
Процедура procedure Tf1.bpaintClick предназначена для вывода построенной функции на экран.
Процедура procedure Tf1.ComboBoxnChange предназначена для изменения порядка полинома.
Процедура procedure Tf1.butassessmentClick предназначена для отображения оценки погрешности.
Процедура procedure Tf1.ComboBoxfunctionChange предназначена для выбора вида функции.
3.2.3 Алгоритм программы
При нажатии кнопки «Показать график», на форме появятся два графика функции, которые были построены по выбранным и введённым данным.
При нажатии кнопки «Показать оценки погрешности», откроется файл, в котором отобразится погрешность.
3.2.4 Выходные данные
На выходе программы получаем два графика одной функции, одна из которых построена с помощью полинома Лагранжа, и так же оценку погрешности интерполяционного метода.
3.3 Комплекс технических средств
Программа функционирует на базе ПЭВМ. Для обработки телеметрической информации необходим IBM совместимый персональный компьютер конфигурации не ниже:
процессор Pentium II-400;
ОЗУ 64 Мб;
винчестер 10 Гб;
VESA-совместимый видео адаптер 2 Мб;
клавиатура;
мышь.
Необходимы программные средства:
- операционная система не ниже Microsoft Windows 95;
- среда разработки Delphi 7 Enterprise Edition.
3.4 Руководство пользователю
Запуск программы осуществляется двойным кликом левой кнопки мыши по файлу Interpolacia.exe. Макеты форм разработанного пользовательского приложения представлены в приложении Б.
После запуска на экране монитора появляется форма «Interpolacia». В самом начале необходимо из выпадающего списка выбрать нужный вид функции и вручную задать интервал [a, b]. Затем нажать кнопку «Показать графики» и на экране в специально выделенной области появится два графика. Чтобы интерполяционный многочлен совпал с самой функцией, следует изменять порядок полинома, выбирая нужный из выпадающего списка. Чтобы узнать погрешность интерполяционного метода, следует нажать кнопку «Показать оценки погрешности».
Для закрытия данной формы необходимо нажать красный крестик в правом верхнем углу.
3.5 Анализ результатов
После выбора функции и порядка полинома и ввода интервала на экране строится 2 графика: сама функция и её интерполяционный многочлен. При порядке полинома равном двум, можно видеть небольшую погрешность (рисунок Б.1), при повышении порядка полинома на единицу, погрешность так же остаётся (рисунок Б.2). Когда порядок полинома повышается до четвёртого, график функции и график интерполяционного многочлена сливаются в один, и как следствие в данном случае погрешность становится равной нулю (рисунок Б.3).
Заключение
В данной курсовой работе был изучен интерполяционный метод. По заданной функции был построен её график и интерполяционный многочлен, который был найден с помощью формулы интерполяционного полинома Лагранжа. Данные графики приведены на рисунке Б.1 в приложении Б.
В последующих рисунках приложения Б также показаны графики, но с различным порядком полинома. Смотря на эти графики, можно сделать вывод, что чем выше полином, тем более точным к исходному графику функции получается интерполяционный многочлен. Тем самым уменьшается оценка погрешности приведённых графиков, которая показана на рисунке Б.4 приложения Б.
Список использованной литературы
1 Астапов Ю.М., Медведев В.М. Статистическая теория систем автоматического регулирования и управления. - М.:Наука, Главная редакция физико-математической литературы, 1982.-305с.
2 http://www.matan-photo2.ru/def_methods/
3 http://www.ssau.ru/
Приложение А
(Листинг программы)
unit MainUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, ComCtrls;
type
Tf1 = class(TForm)
bpaint: TButton;
ledita: TLabeledEdit;
leditb: TLabeledEdit;
ComboBoxn: TComboBox;
ComboBoxfunction: TComboBox;
butassessment: TButton;
panel: TPanel;
im: TImage;
Label1: TLabel;
Label2: TLabel;
im2: TImage;
procedure bpaintClick(Sender: TObject);
procedure ComboBoxnChange(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure butassessmentClick(Sender: TObject);
procedure ComboBoxfunctionChange(Sender: TObject);
procedure FormResize(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
f1: Tf1;
implementation
uses ReadFileUnit, GraphicF;
{$R *.dfm}
type elem=extended;
const maxn=20;
var x,y:array[0..maxn+1] of elem;
rr:array[1..maxn+1,1..maxn+2] of elem;
Продолжение ПРИЛОЖЕНИЯ А
n:byte;
ListG:TListG;
function f(const x:elem):elem;
begin
if f1.ComboBoxfunction.ItemIndex=0 then f:=sin(pi*x)
else if f1.ComboBoxfunction.ItemIndex=1 then f:=cos(pi*x)
else f:=(x*x-1)*sin(4*x);
end;
function Lagrange(const x0:elem):elem;
var s,p:elem;
i,j:byte;
begin
s:=0;
for i:=0 to n do
begin
p:=1;
j:=0;
while j<i do
begin
p:=p*(x0-x[j])/(x[i]-x[j]);
inc(j);
end;
j:=i+1;
while j<=n do
begin
p:=p*(x0-x[j])/(x[i]-x[j]);
inc(j);
end;
s:=s+y[i]*p;
end;
result:=s;
end;
function Polynom(const x:elem):elem;
begin
result:=Lagrange(x)
end;
procedure Tf1.bpaintClick(Sender: TObject);
begin
f1.ComboBoxnChange(f1.ComboBoxn);
if ledita.Text='' then ledita.Text:='0';
if (leditb.text='')or(strtofloat(ledita.Text)>=strtofloat(leditb.Text)) then
leditb.Text:=floattostr(strtofloat(ledita.Text)+1);
ListG.xBegin:=StrToFloat(ledita.Text);
ListG.xEnd:=StrToFloat(leditb.Text);
Продолжение ПРИЛОЖЕНИЯ А
ListG.DrawGraphics(true);
end;
procedure Tf1.ComboBoxnChange(Sender: TObject);
var h:elem; i,j:byte;
begin
n:=strtoint(f1.comboboxn.Items[f1.ComboBoxn.ItemIndex]);
n:=strtoint(comboboxn.Text);
if ledita.Text='' then ledita.Text:='0';
if (leditb.text='')or(strtofloat(ledita.Text)>=strtofloat(leditb.Text)) then
leditb.Text:=floattostr(strtofloat(ledita.Text)+1);
h:=(strtofloat(leditb.Text)-strtofloat(ledita.Text))/n;
for i:=0 to n do
begin
x[i]:=strtofloat(ledita.Text)+i*h;
y[i]:=f(x[i]);
end;
for i:=1 to n+1 do
begin
rr[i,1]:=strtofloat(ledita.Text)+(i-1)*h;
rr[i,2]:=f(rr[i,1]);
end;
for j:=3 to n+2 do
for i:=1 to n+3-j do rr[i][j]:=(rr[i][j-1]-rr[i+1][j-1])/(rr[i][1]-rr[i+j-2,1]);
end;
procedure Tf1.FormCreate(Sender: TObject);
var i:byte;
begin
ListG:=TListG.Create;
ListG.SetCountFunction(2);
ListG.MFunc[0]:=f;
ListG.MFunc[1]:=Polynom;
ListG.Image:=im;
f1.Caption:=application.Title;
comboboxn.ItemIndex:=0;
f1.ComboBoxnChange(comboboxn);
im.Picture.Bitmap.Width:=Screen.Width;
im.Picture.Bitmap.Height:=Screen.Height;
comboboxn.Items.Clear;
for i:=2 to maxn do comboboxn.Items.Add(inttostr(i));
comboboxn.ItemIndex:=0;
bpaint.Click;
im2.Canvas.Pen.Color:=clBlack;
Продолжение ПРИЛОЖЕНИЯ А
im2.Canvas.Brush.Color:=$dfb300;
im2.Canvas.FillRect(Rect(5,5,13,13));
im2.Canvas.Brush.Color:=clWhite;
im2.Canvas.TextOut(15,1,' --- Функций f(x)');
im2.Canvas.Brush.Color:=$257df4;
im2.Canvas.FillRect(Rect(5,25,13,33));
im2.Canvas.Brush.Color:=clWhite;
im2.Canvas.TextOut(15,21,' --- Интерполяционный многочлен');
end;
procedure Tf1.butassessmentClick(Sender: TObject);
const h=1000;
var max,xm,x,a,b,r:elem;
i,
ind:integer;
g:textfile;
s:string;
begin
s:='Assessment_Lagrange.txt';
assignfile(g,s);
rewrite(g);
if f1.ledita.Text='' then f1.ledita.Text:='0';
if (f1.leditb.text='')or(strtofloat(f1.ledita.Text)>=strtofloat(f1.leditb.Text)) then
f1.leditb.Text:=floattostr(strtofloat(f1.ledita.Text)+1);
a:=strtofloat(f1.ledita.Text);
b:=strtofloat(f1.leditb.Text);
xm:=(b-a)/h;
writeln(g,'f(x)=',f1.ComboBoxfunction.Text,' x belong [',a:7,',',b:7,']');
writeln(g,'n':3,' ','Assessment');
writeln(g);
ind:=f1.ComboBoxn.ItemIndex;
f1.ComboBoxn.ItemIndex:=0;
f1.ComboBoxnChange(f1.ComboBoxn);
for i:=2 to maxn do
begin
x:=a;
max:=-1;
while x<=b do
Продолжение ПРИЛОЖЕНИЯ А
begin
r:=abs(f(x)-Polynom(x));
if r>max then max:=r;
x:=x+xm;
end;
writeln(g,n:3,' ',max:11);
f1.ComboBoxn.ItemIndex:=f1.ComboBoxn.ItemIndex+1;
f1.ComboBoxnChange(f1.ComboBoxn);
end;
f1.ComboBoxn.ItemIndex:=ind;
f1.ComboBoxnChange(f1.ComboBoxn);
closefile(g);
f2.Memo1.Lines.LoadFromFile(s);
f2.Show;
f2.Caption:=s;
end;
procedure Tf1.ComboBoxfunctionChange(Sender: TObject);
begin
f1.ComboBoxnChange(comboboxn);
end;
function podgon(s:string):string;
begin
while length(s)<25 do s:=s+' ';
podgon:=s;
end;
procedure Tf1.FormResize(Sender: TObject);
begin
bpaint.Click;
end;
end.
Приложение Б
(Результат работы программы)
Рисунок Б.1 - Графики синусоиды со вторым порядком полинома
Рисунок Б.2 - Графики синусоиды с третьим порядком полинома
Рисунок Б.3 - Графики синусоиды с четвёртым порядком полинома
Рисунок Б.4 - Оценка погрешности интерполяционного метода
Размещено на Allbest.ru
Подобные документы
Совершенствование структурной политики и политики доходов предприятия. Изучение экономических систем. Схема построения экономической модели. Общий случай задачи оптимизации. Преобразование задачи условной оптимизации в задачу безусловной оптимизации.
курсовая работа [2,1 M], добавлен 19.11.2012Сущность и характеристика метода многомерных группировок статистических данных, этапы построения, практическое применение при анализе трудовых ресурсов предприятия ОАО "ЛЗПМ", изучение размера вариации признаков, моделирование материальной структуры.
курсовая работа [154,4 K], добавлен 10.08.2011Определение понятия метода в экономическом анализе, обозначение его основных характеристик. Выявление отличий метода от методики экономического анализа. Составление классификации методов. Описание неформальных (логистических) приемов, факторного анализа.
курсовая работа [292,2 K], добавлен 12.01.2016Метод группировок при анализе оборотных фондов. Абсолютные, относительные показатели. Использование рядов динамики. Применение коэффициентов, индексного метода при анализе оборотных фондов. Корреляционно–регрессионный анализ в статистике оборотных фондов.
курсовая работа [137,7 K], добавлен 23.12.2012Изучение системы "Стандарт-кост" и ее практического применения в экономическом анализе деятельности предприятия. Обзор основных возможностей системы "стандарт-кост" - инструмента, используемого управлением для планирования затрат и контроля над ними.
курсовая работа [35,4 K], добавлен 22.12.2010Изучение понятия ретроспективного анализа. Глубина, горизонт и основные приемы ретроспекции. Прогнозирование объема продаж прохладительных напитков фирмы "Свежесть нового дня" используя метод скользящего среднего. Расчет регулируемых сезонных индексов.
контрольная работа [29,9 K], добавлен 22.02.2013Особенности построения статистических сводок и рядов распределения в экономическом исследовании. Практическое применение метода группировок при анализе кадрового состава современной организации. Этапы изучения взаимосвязей социально-экономических явлений.
курсовая работа [240,4 K], добавлен 20.01.2015Понятие метода и методики экономического анализа. Метод экономического анализа как способ познания экономического субъекта. Использование всей совокупности методов, приемов и способов - одно из проявлений системного подхода в экономическом анализе.
контрольная работа [45,0 K], добавлен 03.11.2008Характеристика эффективного рынка. Свойства нелинейных динамических систем. Сущность теории сложности. Случайные блуждания и эффективные рынки. Развитие гипотезы эффективного рынка и современный портфель. Теория рынков капитала и ее ключевые концепции.
книга [539,0 K], добавлен 06.07.2009Исследование индексного метода анализа цен: понятие, сущность и классификация, основные показатели статистики цен, индексный метод анализа цен на примере предприятия МП ГУКС, осуществляющее свою деятельность на строительном рынке города Благовещенска.
курсовая работа [293,7 K], добавлен 22.05.2008