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

0

 

Министерство образования Российской Федерации

 

Самарский государственный аэрокосмический университет

имени академика С.П. Королева

 

 

 

Кафедра информационных систем и технологий

 

 

 

 

 

Пояснительная записка

 

 

 

к дипломной работе на тему:

 

 

Автоматизированная учебно-исследовательская система

аппроксимативного анализа законов распределения случайных процессов

 

 

 

 

 

 

                                                           Дипломник                               Лёзин И.А.

                                                           Руководитель проекта           Прохоров С.А.

                                                           Н. контроль                              Павлов В.П.

                                                           Рецензент                                  Жданов А.И.

 

 

 

 

 

 

 

 

Самара 2004

 

РЕФЕРАТ

 

 

Дипломная работа.

Пояснительная записка:    125 с., 63 рис., 3 табл., 3 приложения,

19 источников.

 

 

 

АППРОКСИМАЦИЯ, ОРТОГОНАЛЬНЫЕ ПОЛИНОМЫ ЛЕЖАНДРА, ОРТОГОНАЛЬНЫЕ ПОЛИНОМЫ ЭРМИТА, ИНТЕРПОЛЯЦИЯ, КВАДРАТНЫЙ СПЛАЙН, КУБИЧЕСКИЙ СПЛАЙН, МОМЕНТНЫЕ ХАРАКТЕРИСТИКИ, ПОГРЕШНОСТЬ ПРИБЛИЖЕНИЯ, ФАЗОВЫЙ ПОРТРЕТ

 

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

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

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

После аппроксимации/интерполяции подсистема рассчитывает абсолютную и среднеквадратическую погрешность восстановления аппроксимируемой/интерполируемой функции.

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

 

 

Содержание

 

ВВЕДЕНИЕ                                                                                                                                      10

1 ПРОГРАММНО-ТЕХНИЧЕСКИЕ СРЕДСТВА РАЗРАБОТКИ                                      17

1.1 Структура, состав и взаимосвязь участников системы                                                                                              17

1.1.1 Краткие сведения о SADT-методологии                                                                                                                   17

1.1.2 Краткие сведения о BPwin                                                                                                                                             20

1.2 Обоснование выбора средства автоматизации                                                                                                             22

1.3 Расчёт требуемых ресурсов                                                                                                                                                    25

1.3.1 Расчёт объёма ВЗУ                                                                                                                                                           25

1.3.2 Расчёт объёма ОЗУ                                                                                                                                                           25

1.3.3 Расчёт времени реакции системы                                                                                                                              26

2 Описание алгоритмов подсистем                                                                       27

2.1 Аппроксимация законов распределения ортогональными рядами                                                                     28

2.1.1 Аппроксимация функций ортогональными рядами                                                                                         28

2.1.2 Постановка задачи                                                                                                                                                           29

2.1.3 Аппроксимация ортогональными полиномами Лежандра                                                                             31

2.1.4 Аппроксимация ортогональными полиномами Эрмита                                                                                  35

2.1.5 Аппроксимация плотности вероятности                                                                                                                 39

2.1.6 Аппроксимация функции распределения                                                                                                              40

2.1.7 Двусторонняя аппроксимация функциональных характеристик                                                               40

2.2 Интерполяция функциональных характеристик сплайнами                                                                                 48

2.2.1 Линейный сплайн                                                                                                                                                            48

2.2.2 Параболический сплайн                                                                                                                                                50

2.2.3 Кубические сплайн-функции                                                                                                                                      54

2.2.4 Интерполяция плотности вероятности и функции распределения                                                              55

2.2.5 Двусторонняя интерполяция                                                                                                                                       58

2.3 Вычисление погрешностей                                                                                                                                                    60

2.4 Обработка результатов                                                                                                                                                            63

2.4.1 Сравнение числовых характеристик                                                                                                                        63

2.4.2 Построение фазового портрета                                                                                                                                    65

3 ОБЩАЯ СХЕМА И ОПИСАНИЕ ПОДСИСТЕМ                                                                69

3.1 Описание структуры программы                                                                                                                                        69

3.1.1 Подсистема аппроксимации                                                                                                                                        70

3.1.2 Подсистема интерполяции                                                                                                                                            72

3.1.3 Подсистема обработки результатов                                                                                                                           74

3.2 Руководство пользователя                                                                                                                                                     76

4 ИССЛЕДОВАНИЕ ПОГРЕШНОСТЕЙ АППРОКСИМАЦИИ                                         86

4.1 Односторонняя аппроксимация                                                                                                                                         86

4.2 Двусторонняя аппроксимация                                                                                                                                            92

ЗАКЛЮЧЕНИЕ                                                                                                                              96

СПИСОК СОКРАЩЕНИЙ И ОБОЗНАЧЕНИЙ                                                                      97

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ                                                                 99

ПРИЛОЖЕНИЕ А. ПРОЕКТ СИСТЕМЫ                                                                              101

ПРИЛОЖЕНИЕ Б. КОПИИ ЛИСТОВ ГРАФИЧЕСКОЙ ДОКУМЕНТАЦИИ              111

ПРИЛОЖЕНИЕ В. ЛИСТИНГ ПРОЦЕДУР                                                                          119

 


ВВЕДЕНИЕ

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

Научные исследования представляют собой сложный, итерационный процесс, представляющий сочетание теоретических, включая методы моделирования, и экспериментальных методов [1].

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

При проведении экспериментальных научных исследований исследователь:

1) ставит задачу исследований в терминах предметной области;

2) строит модель исследуемого объекта и определяет вектор информативных параметров`, адекватно описывающий её в рамках поставленной задачи;

3) с помощью технических средств осуществляет измерение, регистрацию и обработку мгновенных значений наблюдаемых процессов `, с целью определения вектора информативных параметров , описывающих модель процесса;

4) по результатам обработки информации устанавливает взаимно однозначное соответствие между векторами  и :

,

используемое для построения искомой модели объекта;

5) анализирует полученные результаты;

6) если результаты его устраивают – эксперимент окончен, в противном случае необходимо повторить пункты 3, 4 (точность полученных результатов неудовлетворительна), или пункты 2–4 (вектор параметров  не полно описывает поведение объекта), а иногда и пункты 1–4 (ставится другая задача).

Следует отметить, что задачи 1, 2 и 4, 5, как правило, решает специалист данной предметной области, формулируя и интерпретируя её в терминах предметной области, а 3 задачу – специалисты в области измерения и обработки измерительной информации.

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

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

Каждая из перечисленных задач имеет свои специфические особенности, а эффективность решения четвертой и пятой – зависит от применяемых технических средств, построенных, как правило, на базе современных средств информационно-измерительной и вычислительной техники.

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

Все вероятностные характеристики, определяемые во временной области, можно условно разделить на характеристики положения и формы кривой распределения вероятностей случайного процесса и характеристики взаимосвязи (рисунок В.1) [2].

При этом наиболее часто определяются (в порядке возрастания материальных и вычислительных затрат):

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

 

 
   

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

Один из возможных способов решения этой задачи заключается в применении аппроксимативных методов (от латинского слова approximo – приближаюсь), суть которых заключается в нахождении подходящего аналитического выражения j(x(t), a0, a1, …, an) с неизвестными параметрами a0, a1, …, an, удовлетворяющими заданному критерию оптимальности, которое бы описывало найденные экспериментальные результаты. Аппроксимативный подход оказывается эффективным и при обработке результатов имитационного моделирования (вычислительного эксперимента).

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

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

Классификация методов аппроксимации функциональных характеристик случайных процессов и последовательностей представлена на рисунке В.2.

Рисунок В.2 – Классификация методов аппроксимации случайных процессов

и последовательностей

 

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

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

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

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

Основными преимуществами аппроксимативного подхода являются:

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

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

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

В настоящее время существует система аппроксимации плотностей распределения вероятности и функций распределения вероятности параметрическими моделями. Аналогов разработанной подсистемы аппроксимации законов распределения ортогональными полиномами Лежандра и Эрмита и интерполяции квадратными и кубическими сплайнами, по имеющимся у автора сведениям, не существует.


1 ПРОГРАММНО-ТЕХНИЧЕСКИЕ СРЕДСТВА РАЗРАБОТКИ

1.1 Структура, состав и взаимосвязь участников системы

1.1.1 Краткие сведения о SADT-методологии

Идеи SADT (Structured Analysis and Design Techniques) были высказаны в начале 70-х годов Дугласом Россом. К 1981 г. SADT использовали в более чем 50 компаниях. Характерной особенностью SADT является отражение в проекте управления и взаимодействия, а также обратной связи.

В начале 90-х годов в США на основе SADT был принят стандарт моделирования бизнес-процессов IDEF0, который является независимым от частных организаций стандартом и получил чрезвычайно широкое распространение. Он принят в качестве стандарта в нескольких международных организациях, в том числе в НАТО и МВФ.

Основные принципы SADT:

  • Нисходящая разработка (сверху вниз).
  • Иерархическое представление проекта.
  • Графическое представление проекта (диаграммная техника).
  • Принцип коллективной разработки.
  • Организация цикла автор/читатель (эксперт).

Основная схема анализа в SADT-методологии:

Изучаются документы в предметной области и непосредственно деятельность в этой предметной области. Вся модель анализа представляет собой модель деятельности. При этом может существовать несколько моделей: AS-IS (как есть) и TO-BE (как должно быть).

Основным понятием методологии является SA-блок, в котором отображается некоторая деятельность или работа. С каждым SA-блоком связан процесс. SA-блок изображается в виде, представленном на рисунке 1.1:

 

Рисунок 1.1 – Общий вид SA-блока

 

I1…IN – это входы (Input), представляющие собой материал или информацию, которые используются или преобразуются работой для получения результата (выхода). Допускается, что работа может не иметь ни одной стрелки входа.

C1…CK – это потоки управления (Control), т.е. дополнительные средства, ресурсы, которые влияют на активность SA-блока. Например, это могут быть справочники, правила, стратегии, процедуры или стандарты, которыми руководствуется работа. Управление влияет на работу, но не преобразуется ей. Если цель работы – изменить процедуру или стратегию, то такая процедура или стратегия будет для работы входом. Каждая работа должна иметь хотя бы одну стрелку управления.

O1…OM – это выходы (Output), т.е. материал или информация, которые производятся работой. Каждая работа должна иметь хотя бы одну стрелку выхода. Работа без результата не имеет смысла и не должна моделироваться.

M1…MX – это механизмы (Mechanism), представляющие собой ресурсы, которые выполняют работу, например персонал предприятия, станки, устройства и т.д. По усмотрению аналитика, стрелки механизма могут не изображаться в модели.

SA-блок имеет имя. Это может быть глагол, но необязательно. Все имена должны быть уникальными.

Проект по SADT реализуется в виде совокупности диаграмм, расположенных строго в иерархическом порядке. Иерархия диаграмм отражается в нумерации узлов, которая находится в левом нижнем углу листа проекта. Каждая диаграмма относится к определённому узлу. Кроме нумерации узлов, ведётся нумерация листов самих диаграмм (в правом нижнем углу). Принципы нумерации разные. Нумерация узлов строго иерархична. Существует узел самого верхнего уровня, не имеющий предков, он обозначается А-0.Следующий по иерархии узел обозначается А0. Затем А1, А2,…АN. Далее А11, А12… или А21, А22,… и т.д. Нумерация листов ведётся в естественном порядке их создания и переиздания. В поле номера диаграммы в скобках ставится номер предыдущей версии этого листа.

На диаграмме Росс предлагает ограничить число блоков от 3 до 6. Проектировщик располагает блоки на диаграмме в порядке доминирования: выше всех на диаграмме располагается блок, которому отводится наибольшее влияние. Т.о. выделяется наиболее важная деятельность.

Основная идея SADT – построение древовидной функциональной модели. Сначала деятельность описывается в целом, без подробностей. Такое описание называется контекстной диаграммой. Взаимодействие с окружающим миром описывается в терминах входа, выхода, управления и механизмов. Кроме того, при создании контекстной диаграммы определяется цель и точка зрения модели и составляется перечень объектов и функций, реализуемых в системе.

Цель моделирования – краткое утверждение о причине разработки модели. Формулировка цели позволяет сфокусировать усилия в нужном направлении. Например, целью может быть разработка автоматизированной системы в соответствующей предметной области. Точка зрения – краткое утверждение о перспективном представлении модели, т.е. это позиция, с которой будет строиться модель. Хотя при построении модели учитываются мнения различных людей, модель должна строиться с единой точки зрения. Точку зрения можно представить как взгляд человека, который видит систему в нужном для моделирования аспекте. Точка зрения должна соответствовать цели моделирования. Очевидно, что описание работы предприятия с точки зрения финансиста и технолога будет выглядеть совершенно по-разному, поэтому в течение моделирования важно оставаться на выбранной точке зрения [6].

По описанию предметной области составляется список объектов и список функций. Объекты фигурируют в предметной области. Список функций – это операции, которые осуществляются с объектами.

Далее приступают к процессу функциональной декомпозиции, т.е. общая деятельность разбивается на более мелкие – и так до достижения необходимой детализации описания.

1.1.2 Краткие сведения о BPwin

Эта инструментальная среда была разработана в 1988 году фирмой Logic Works. Основное назначение BPwin – поддержка стандарта IDEF0 методологии SADT. Основу методологии IDEF0 составляет графический язык описания бизнес-процессов. Модель в нотации IDEF0 представляет собой совокупность иерархически упорядоченных и взаимосвязанных диаграмм. Каждая диаграмма является единицей описания системы и располагается на отдельном листе.

В BPwin осуществляется поддержка ещё двух методологий: DFD (ДПД) и IDEF3-методологии рабочих потоков Workflow, являющейся дальнейшей детализацией IDEF0. DFD используется для описания документооборота и обработки информации. Подобно IDEF0, DFD представляет модельную систему как сеть связанных между собой работ. Их можно использовать как дополнение к модели IDEF0 для более наглядного отображения текущих операций документооборота. Методология Workflow позволяет описать взаимодействие между работами и процессами. В этой методологии используются логические и графические конструкции. Детализация такова, что диаграмма Workflow может быть преобразована в имитационную модель на каком-либо языке программирования.

BPwin имеет достаточно простой и интуитивно понятный интерфейс пользователя, дающий возможность создавать сложные модели. Модель в BPwin рассматривается как совокупность работ, каждая из которых оперирует некоторым набором данных. Работы обозначают поименованные процессы, функции или задачи, которые происходят в течение определённого времени и имеют распознаваемые результаты. Работа изображается в виде прямоугольников, данные – в виде стрелок. Все работы должны быть названы. Имя работы должно быть выражено отглагольным существительным, обозначающим действие.

Рекомендации по построению диаграммы в BPwin:

В реальных диаграммах к каждой работе может подходить и от каждой может отходить около десятка стрелок. Если диаграмма содержит 6-8 работ, то она может содержать 30-40 стрелок, причём они могут сливаться, разветвляться и пересекаться. Такие диаграммы могут стать очень плохо читаемыми. В IDEF0 существуют соглашения по рисованию диаграмм, которые призваны облегчить чтение и экспертизу модели.

  • Прямоугольники работ должны располагаться по диагонали с левого верхнего в правый нижний угол (порядок доминирования). При создании новой диаграммы декомпозиции BPwin автоматически располагает работы именно в таком порядке. В дальнейшем можно добавить новые работы или изменить расположение существующих, но нарушать диагональное расположение работ по возможности не следует. Порядок доминирования подчёркивает взаимосвязь работ, позволяет минимизировать изгибы и пересечения стрелок.
  • Следует максимально увеличить расстояние между работами, поворотами и пересечениями стрелок.
  • Если две стрелки проходят параллельно (начинаются из одной и той же грани одной работы и заканчиваются на одной и той же грани другой работы), то по возможности следует их объединить в одну с общим названием.
  • Циклические обратные связи следует рисовать только в случае крайней необходимости, когда подчёркивают значение повторно используемого объекта. Принято изображать такие связи на диаграмме декомпозиции.

 

1.2 Обоснование выбора средства автоматизации

Для реализации проекта выберем язык программирования DELPHI 5.0.

Система Delphi предоставляет разработчику удобную среду для разработки, компилятор, отладчик. Стандартная библиотека компонент и поддержка технологии визуального программирования позволяет существенно упростить разработку интерфейса программного продукта, сделать его удобным и интуитивно понятным. Кроме того, Delphi предоставляет разработчику широкий выбор классов и компонент, упрощающих работу с файлами, базами данных, динамическими структурами – списками, массивами.

Пакет Delphi предназначен для создания сложных программ с использованием современных приемов программирования и стиля их оформления. При работе с программой можно выделить две основные стадии. Первая стадия – стадия проектирования, на которой программа собирается из отдельных составных частей, ей задаются необходимые параметры и характеристики. Именно на этой стадии широко используются приемы визуального программирования, позволяющие наглядно наблюдать результаты создания программы еще до ее запуска. Вторая стадия – стадия выполнения программы, когда она решает поставленные перед ней задачи. Можно выделить третью, промежуточную стадию – стадию отладки, когда программа запускается и по различным признакам проверяется правильность ее работы. При обнаружении ошибок проектирование программы возобновляется [7].

На стадии проектирования создаются и используются различные файлы. Основной частью программы является проект (в Borland / Turbo Pascal эта часть называлась собственно программой). Файл, в котором размещается проект, имеет расширение .dpr. Как правило, эта часть, являющаяся собирательной частью всей программы, небольшая и формируется самой Delphi, хотя при необходимости сюда можно вносить свои изменения. Кроме этой части в программе используются различные модули, файлы которых имеют расширение .pas и из которых в программу включаются необходимые элементы. Многие из модулей написаны заранее и могут использоваться в любой программе (стандартные модули), другие формирует разработчик, полностью или частично. Модули, которые формирует разработчик, в свою очередь, можно разделить на модули, содержащие информацию о формах, и модули, не связанные непосредственно с формами (модули разработчика). Последние предназначены для размещения текста программы, связанного непосредственно с решением задачи, для которой она создается, размещения данных и т. д. Их можно рассматривать как модули собственных библиотек.

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

Цикл работы программы в этом случае выглядит следующим образом. Выполняется какая-то самостоятельная часть программы (например, инициализация), после чего выполнение программы прекращается и она дожидается какой-то реакции либо от операционной системы, либо от пользователя через средства ввода информации (например, через клавиатуру или посредством манипулирования мышью). Эта реакция представляет собой особым образом оформленную информацию – сообщение, которое содержит сведения о виде реакции (например, нажатие клавиши мыши или отпускание клавиши клавиатуры), и информацию, уточняющую эту реакцию (например, какая клавиша мыши нажата). Сообщение через операционную систему Windows передается программе.

Программа должна отреагировать на то или иное сообщение событием, которое обработает передаваемую информацию, причем обработать эту информацию могут разные элементы программы: и конкретное окно (форма) этой программы, и та или иная компонента какого-либо окна. Для того чтобы какой-то элемент программы обработал информацию, ему следует написать специальную подпрограмму – обработчик событий, причем таких обработчиков может быть и не один, если элемент должен обрабатывать различные сообщения [9].

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

В Delphi для ряда операций, в частности по созданию интерфейсных элементов, используются так называемые мастера (эксперты).

Вышеперечисленные достоинства, повлияли на выбор языка и средства программирования в пользу Borland Delphi 5.0. Кроме того, выбор языка программирования обусловлен личными предпочтениями разработчиков автоматизированной системы.

 

 

1.3 Расчёт требуемых ресурсов

1.3.1 Расчёт объёма ВЗУ

Проведём расчёт необходимой внешней памяти, воспользовавшись формулой (1.1):

VВП=VОС + Vпрограммы + Vданных,                                                   (1.1)

где VВП – объём необходимой внешней памяти;

VОС – объём внешней памяти, необходимый операционной системе;

Vпрограммы – объём внешней памяти, необходимый программе;

Vданных – объём внешней памяти для максимального заполнения файлов, требующихся для размещения данных.

Для расчёта примем, что программа функционирует в операционной системе Microsoft Windows 98, которой необходимо 166 Мб внешней памяти. Объём внешней памяти, необходимый программе, составляет 1 Мб. Объем памяти, необходимой данным, составляет ≈2 Мб. Сложив имеющиеся данные, получим:

VВП =166+1+2=169 Мб

1.3.2 Расчёт объёма ОЗУ

Проведём расчёт необходимого объёма ОЗУ, воспользовавшись формулой (1.2):

VОЗУ=VОС+Vпрограммы + Vданных,                                                   (1.2)

где VОЗУ – объём необходимой оперативной памяти;

VОС – объём оперативной памяти, необходимый операционной системе;

Vпрограммы – объём оперативной памяти, необходимый программе.

Vданных – объём оперативной памяти, необходимый данным.

VОС=12 Мб, Vпрограммы =1 Мб, Vданных =1 Мб.

Таким образом, общий объём оперативной памяти, необходимый для нормального функционирования программы:

VОЗУ=12+1+1=14 Мб

1.3.3 Расчёт времени реакции системы

Рассчитаем время реакции системы для случая генерации выборки данных с объёмом выборки 100000.

В этом случае, время реакции системы рассчитывается по формуле (1.3):

tреакции =tввода +tвычисления +tвывода на экран,                                         (1.3)

где tввода – время, затраченное на ввод, рассчитываемое по формуле (1.4):

tввода =kоп*Lсимвола*tсимвола,                                                           (1.4)

kоп – коэффициент оператора, характеризует степень опытности оператора. Обычно kоп=1,5.

Lсимвола – количество символов в запросе.

tсимвола – время ввода символа вручную. Обычно tсимвола=2с.

В нашем случае следует ещё добавить 5 секунд на выбор вида закона распределения из предложенного списка.

Итак, время, затраченное на ввод:

tввода=1,5*6*2+5=23с

tвычисления =Nопер.*k1/f,                                                                 (1.5)

где Nопер. – количество операторов. В нашем случае Nопер. »107.

k1 – среднее количество машинных команд, затрачиваемых на реализацию одного оператора. Обычно k1=15.

f – тактовая частота процессора в герцах. В нашем случае f=109 Герц.

Итак, время, затраченное на вычисления:

tвычисления =107*15/109=0,15 c

Итак, время аппроксимации составляет 0,15 с, что соответствует требованиям к системе, описанным в задании на курсовой проект.

tвывода на экран »0,5 с

Итого время реакции системы составляет:

tреакции =23 с+0,15 с+0,5 с=23,65 с

Полученное время реакции системы соответствует нормам времени для диалогового режима (до 30 с).

 

2 Описание алгоритмов подсистем

Автоматизированная учебно-исследовательская подсистема аппроксимативного анализа законов распределения случайных последовательностей использует в своей работе следующие алгоритмы:

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

Рассмотрим алгоритмы, с помощью которых реализуются указанные функции.


2.1 Аппроксимация законов распределения ортогональными рядами

2.1.1 Аппроксимация функций ортогональными рядами

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

,                                                                        (2.1)

где  – коэффициенты Фурье,  – семейство базисных функций, ортонормированных на определенном интервале с весом  [2].

Это семейство характеризуется интегралом:

                                                       (2.2)

 – интервал, на котором выполняется условие ортонормированности указанных функций.

Следует подчеркнуть, что на практике приходится ограничиваться конечным числом ряда (2.1). Это приводит к появлению методической погрешности, значение которой зависит в немалой степени от способа оценки параметров модели.

Поэтому для модели аппроксимирующей функции

,                                                                        (2.3)

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

,                                         (2.4)

определяются формулой:

.                                                                (2.5)

Выражение (2.5) получается из (2.4) при условии :

.                                          (2.6)

Представим интеграл (2.6) в виде суммы интегралов и разнесем сумму в разные части равенства:

.                                     (2.7)

С учетом (2.2) от выражения (2.7) мы переходим к выражению определения коэффициентов (2.5). При таком способе определения коэффициентов разложения погрешность аппроксимации, с учетом свойств ортогональных полиномов, равна:

.                                                           (2.8)

2.1.2 Постановка задачи

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

Аппроксимировать полученную модель необходимо для того, чтобы:

  • сгладить “угловатость” модели, усреднив ее,
  • уменьшить потребности в хранении данных, описывающих входную выборку,
  • минимизировать влияние погрешностей, образовавшихся из-за несовершенства способа получения/сбора данных,
  • получить не кусочно-склеенную модель, а непрерывную степенную функцию, с которой работа в дальнейшем упростится в значительной степени (нахождение производных, первообразных, характеристических функций не численно, а аналитически и быстрее, и точнее).

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

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

Построив гистограмму, можно приступить к задаче идентификации, заключающейся в подборе кривой распределения j(x(t), a0, a1, …, an) с неизвестными параметрами a0, a1, …, an, с той или иной точки зрения наилучшим образом описывающей данное статистическое распределение.

Рисунок 2.1 – Блок-схема сглаживания

 

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

При этом следует оговориться о сплайн-моделях, по которым будет производиться аппроксимация функциональных характеристик. Это кусочно-склеенные функции, построенные по гистограмме на основе случайной выборки данных. Сплайн-модели строятся сразу для двух функциональных характеристик: плотности вероятности  и функции распределения  [10]. Они являют собой линейный сплайн, и нижний индекс M в их названии говорит о том, на каком количестве дифференциальных коридоров была построена данная сплайн-модель. Более подробно останавливаться на их построении мы не станем, так как это выходит за рамки дипломной работы.

2.1.3 Аппроксимация ортогональными полиномами Лежандра

С учетом [11] полиномы Лежандра, ортонормированные на интервале  с единичным весом , имеют следующий вид:

,                                               (2.9)

но так как нахождение коэффициентов в таком виде затруднено, то формула (2.10) позволяет сделать это на основании явного выражения для многочлена :

,                                                                (2.10)

где коэффициенты определяются по формулам

.                                    (2.11)

Отсюда следует рекуррентное соотношение для коэффициентов :

                                                     (2.12)

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

Для системы полиномов (2.10) эти коэффициенты определяются по формулам:

                                                                                    (2.13)

С учетом (2.13) переходим от (2.5) к следующей формуле нахождения коэффициентов разложения:

.                                                                  (2.14)

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

Так как коэффициенты βi определяются посредством численного взятия интеграла, для этого определяются значения функции  в K+1 точках через равные интервалы  (рисунок 2.2а), где .

 

 

 

б)

Рисунок 2.2 – Взятие интеграла методом трапеций

 

Исходя из (2.14), коэффициенты определяются по формуле трапеций [12] (рисунок 2.2б):

.              (2.15)

При численном нахождении значения интеграла (2.14) в силу того, что на границах интервала аппроксимации трудно добиться хорошего приближения, имеет смысл предварительно преобразовать аппроксимируемую функцию так, чтобы ее значение на одном из концов интервала (или сразу на обоих) стало равно нулю. В таком случае удастся точнее посчитать коэффициенты и избежать на концах аппроксимируемой функции эффекта Гиббса [13].

Преобразование осуществляется по формуле:

.                                                                         (2.16)

Значения коэффициентов k и c рассчитывается в зависимости от того, сколько концов функции требуется свести к нулю. Если к нулю сводится левый конец, то коэффициенты рассчитываются:

                                                                                          (2.17)

Если сводится только правый конец:

                                                                                          (2.18)

Для обоих концов сразу коэффициенты принимают значения:

                                                     (2.19)

После нахождения по формуле (2.15) коэффициентов разложения  для функции  необходимо пересчитать их в βi, которые используются в выражении (2.3). Массивы коэффициентов отличаются друг от друга только первыми двумя элементами. Учитывая, что

а также коэффициенты линейного переноса a и b, коэффициенты βi пересчитываются следующим образом:

                                                                     (2.20)

Так как полиномы Лежандра являются степенными функциями, от представления (2.3) можно перейти к степенному представлению аппроксимирующей функции, пересчитав коэффициенты βi на базе формул (2.10) и (2.11).

Для системы ортогональных полиномов Лежандра на конечном интервале :

                                                    (2.21)

В таком случае общий вид аппроксимирующей функции выглядит так:

.                                          (2.22)

2.1.4 Аппроксимация ортогональными полиномами Эрмита

Полиномы Эрмита [11], ортонормированные на интервале  с весом , имеют следующий вид:

.                                                (2.23)

Формула (2.24) позволяет записать многочлены  в явном виде, представленном степенным рядом:

,                                                                  (2.24)

где коэффициенты определяются по формулам:

.                                                    (2.25)

Отсюда следует рекуррентное соотношение для коэффициентов :

                                            (2.26)

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

Для системы полиномов (2.24) эти коэффициенты определяются по формулам:

                                                                          (2.27)

если осуществляется “серединная” аппроксимация (т.е. середина интервала определения функции переносится в нуль),

                                                                                           (2.28)

при “левой” аппроксимации (т.е. в нуль переносится правая граница интервала, а затем функция “достраивается” отображением относительно оси 0y на положительную полуось, причем после этого фактически аппроксимация функции осуществляется на интервале ).

Аналогично для “правой” аппроксимации, в нуль переносится левая граница интервала, а “достраивается” функция на отрицательную полуось. При этом коэффициенты линейного переноса рассчитываются по формуле:

                                                                                            (2.29)

С учетом (2.27), (2.28) и (2.29) переходим от (2.5) к следующим формулам нахождения коэффициентов разложения:

,                                               (2.30)

,      (2.31)

.       (2.32)

По формулам (2.30), (2.31) и (2.32) производится расчет коэффициентов для “серединной”, “левой” и “правой” аппроксимации соответственно. При записи формул (2.31) и (2.32) использовалась единичная функция, вид которой будет приведен ниже.

Так как коэффициенты βi определяются посредством численного взятия интеграла, для этого определяются значения функции  в K+1 точках через равные интервалы  (рисунок 2.2а), где .

Исходя из (2.30), коэффициенты определяются по формуле (рисунок 2.2б):

.  (2.33)

Формулы для численного взятия интегралов (2.31) и (2.32) здесь не приводятся, так как они аналогичны формуле расчета (2.33), а вследствие своей громоздкости не интересны для рассмотрения.

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

Преобразование осуществляется по формуле (2.16). Значения коэффициентов k и c рассчитывается в зависимости от того, какие из концов функции требуется свести к нулю, по формулам (2.17), (2.18) или (2.19).

После нахождения по формуле (2.33) коэффициентов разложения  для функции  необходимо пересчитать их в βi, которые используются в (2.3). Массивы коэффициентов отличаются друг от друга только первыми двумя элементами. Учитывая, что

а также коэффициенты линейного переноса a и b, коэффициенты βi пересчитываются следующим образом:

                                                                     (2.34)

Так как полиномы Эрмита являются степенными функциями, от представления (2.3) можно перейти к степенному представлению аппроксимирующей функции, пересчитав коэффициенты βi на базе формул (2.24) и (2.25).

Для системы ортогональных полиномов Эрмита на бесконечном интервале  коэффициенты  рассчитываются по формуле (2.21). В таком случае общий вид аппроксимирующей функции принимает вид (2.22):

.

2.1.5 Аппроксимация плотности вероятности

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

                                    (2.35)

С учетом того, что в точке  значение функции распределения равно нулю, коэффициенты восстановленной функции распределения  из (2.22) определяются следующим образом:

                                                          (2.36)

Соответственно выражение для функции распределения с учетом (2.36) запишется в виде:

.                                                                (2.37)

2.1.6 Аппроксимация функции распределения

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

                                          (2.38)

Коэффициенты восстановленной плотности вероятности  определяются как:

                                                       (2.39)

Через коэффициенты (2.39) выражение для плотности вероятности запишется в виде:

.                                                                (2.40)

2.1.7 Двусторонняя аппроксимация функциональных характеристик

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

 

а)

б)

в)

г)

Рисунок 2.3 – Виды плотностей вероятности законов распределения: а-б) на бесконечном интервале, в) на полубесконечном интервале, г) на ограниченном интервале

 

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

                                                                               (2.41)

Сообразуясь с [2], теперь формула (2.3) будет выглядеть:

.                 (2.42)

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

Для системы полиномов Лежандра коэффициенты (2.14) рассчитываются по формуле (2.43) для левой ветви:

.                                                (2.43)

Коэффициенты линейного переноса также изменяются соответственно изменению интервала интегрирования:

                                                                                              (2.44)

Для правой ветви коэффициенты разложения пересчитываются аналогично:

.                                                (2.45)

Коэффициенты линейного переноса правой ветви соответственно равны:

                                                                                    (2.46)

В силу своей природы полиномы Эрмита не подходят для двусторонней аппроксимации, поэтому для данной задачи они рассматриваться не будут.

Важным является то обстоятельство, что системы полиномов в (2.42) для правой и левой ветви могут быть не одинаковыми, таким образом можно произвольно комбинировать их с целью достижения максимального соответствия условиям поставленной задачи.

Также для расчета коэффициентов ветвей можно применять прием предварительного сведения концов аппроксимируемой функции к нулю по измененной формуле (2.16). Только в данном случае эта операция будет осуществляться отдельно для каждой ветви.

Для левой ветви формула (2.16) примет вид:

.                                                      (2.47)

Значения коэффициентов kЛ и cЛ рассчитывается в зависимости от того, сколько концов функции требуется свести к нулю. Если к нулю сводится левый конец, то коэффициенты рассчитываются:

                                                                                       (2.48)

Если сводится только правый конец:

                                                                                           (2.49)

Для сведения обоих концов сразу коэффициенты принимают значения:

                                                           (2.50)

Для правой ветви формула (2.16) пересчитывается аналогично:

.                                                      (2.51)

Значения коэффициентов kП и cП рассчитывается в зависимости от того, сколько концов функции требуется свести к нулю. Если сводится левый конец, то коэффициенты рассчитываются:

                                                                                          (2.52)

Если к нулю сводится правый конец, то:

                                                                                       (2.53)

При сведении обоих концов сразу коэффициенты принимают значения:

                                                           (2.54)

При этом операции сведения концов к нулю можно применять по желанию в любой комбинации по отношению к обеим ветвям.

В качестве альтернативы операции сведения концов к нулю при двусторонней аппроксимации можно использовать операцию совмещения максимумов. Смысл данной операции состоит в том, что после вычисления коэффициентов для выражения (2.3) их нормируют, то есть совмещают в точке  значения аппроксимирующих выражений для обеих ветвей со значением аппроксимируемой функции.

Для этого требуется выполнение условия

                                     (2.55)

При конечных значениях nЛ и nП оно не выполняется, поэтому для его обеспечения можно искать аналитическое выражение для  в виде:

,                           (2.56)

где

                                              (2.57)

Очевидно, что в данном случае условия (2.55) выполняются. Однако коэффициенты разложения ci, определенные по формулам (2.57), не обеспечивают минимума квадратической погрешности.

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

                          (2.58)

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

.                                   (2.59)

То есть для этого необходимо минимизировать ΔЛ и ΔП по bi и bi соответственно:

                               (2.60)

Найдем частные производные  и приравняем их к нулю:

(2.61)

Проинтегрировав, получим

Или

С учетом (2.59)

Отсюда:

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

  (2.62)

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


2.2 Интерполяция функциональных характеристик сплайнами

Интерполяционным сплайном называют функцию, гладко склеенную из кусков функций некоторого класса и проходящую через узлы интерполяции.

Если в качестве носителя сплайн-функции используется полиномы, то сплайн называется полиномиальным. На практике обычно применяют полиномиальные сплайн-функции. Пусть задана интерполяционная сетка

.                                                           (2.63)

Воспользовавшись [14], функцию  будем называть полиномиальным сплайном, если

  • ,
  • – принадлежит классу непрерывных функций на  вместе со своими производными, вплоть до n-1 порядка,
  • .

2.2.1 Линейный сплайн

Пусть носителем сплайн-функции является полином 1-ой степени , т.е. сплайн составлен из кусочков прямых линий, соединяющихся в узлах интерполяции (рисунок 2.4). Рассмотрим следующее формальное представление линейной сплайн-функции:

,                                        (2.64)

где

Для определения неизвестных коэффициентов  линейного сплайна (2.64) составим систему линейных уравнений

                        (2.65)

Система уравнений (2.65) имеет треугольную матрицу коэффициентов, что с одной стороны позволяет сделать вывод о единственности решения системы уравнений, с другой – организовать простой итерационный процесс вычисления коэффициентов сплайн функции.

 

 

Формула (2.64) удобна для аналитических исследований линейного сплайна, но достаточно трудоемка при реализации вычислительного алгоритма на ЭВМ. В тех случаях, когда требуется большее быстродействие программ при вычислении функции целесообразно использовать альтернативную форму представления сплайн-функции, основанную на определении сплайна. Поскольку на каждом частичном участке интерполяционной сетки (между узлами интерполяции) линейный сплайн является полиномом 1-ой степени , то, используя формулу (2.64), несложно вычислить коэффициенты линейной функции и получить следующее представление сплайна:

                                         (2.66)

Полученная формула (2.66) при ее реализации на ЭВМ требует большего объема памяти для хранения коэффициентов , но в этом случае при вычислении сплайна производится всего лишь две арифметических операции: сложение и умножение.

2.2.2 Параболический сплайн

Рассмотрим в качестве носителя сплайн-функции параболу , тогда сплайн будет образован из кусков парабол, гладко склеенных между собой по первой производной. Остановимся на случае, когда узлы “склейки” парабол совпадают с узлами интерполяции функции :

                            (2.67)

где

Выражение (2.67) для параболического сплайна “сконструировано” таким образом, чтобы в узловых точках  куски параболы были гладко склеены по первой производной, т.е. выполнялись условия:

                                      (2.68)

Действительно:

откуда следует справедливость формулы (2.68).

Формула (2.67) содержит ровно n+1 неизвестных коэффициентов , для определения которых имеется n условий интерполяции. Для “замыкания” системы линейных уравнений в случае параболического сплайна требуется еще одно дополнительное условие. Обычно это значение производной функции  на границе интерполяционной сетки. Пусть нам известна , тогда для определения неизвестных коэффициентов сплайна можно составить следующую систему линейных уравнений:

                 (2.69)

Выбор граничных условий параболического сплайна

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

Например, для параболического сплайна (2.69) коэффициент u можно интерпретировать как тангенс угла наклона касательной к графику функции в узловой точке . Как видно из рисунка 2.5 неправильные граничные условия (случай ) приводит к эффекту осцилляции сплайна  между узлами интерполяции, а следовательно и к большим погрешностям в решении задачи интерполирования исходной функции .

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

  1. На границе интерполяционной сетки задают нулевые значения для вторых производных функции , т.е. полагают, что при .

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

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

y

 
 
 
 
 
 
 

                                                

 
 

Рисунок 2.5 – Влияние выбора граничных условий  на решение  задачи

                интерполирования функции f(x).

 

 

 

 

 

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

Например, предположим, что функция  является унимодальной выпуклой функцией. Граничное условие  для параболического сплайна (2.67) будем считать свободной (варьируемой) переменной, выбор которой будем осуществлять, оптимизируя некоторый критерий оценки качества решения задачи интерполирования функции . Например угол наклона касательной (рисунок 2.5) будем подбирать таким образом, чтобы сплайн-функция  проходила между узлами интерполяции достаточно гладко.

В качестве критериев оценки качества решения задачи интерполяции функции  можно рассмотреть следующие:

а)                                                            (2.70)

б)                                                      (2.71)

Первый критерий (2.70) дает оценку среднеквадратичной кривизны формируемого сплайна, второй – определяет общую длину сплайна, проведенного через узлы интерполяции. И первый, и второй критерий помогают избежать эффекта осцилляции сплайн-функции [15].

Сходимость параболического сплайна

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

                                                     (2.72)

где

, .

2.2.3 Кубические сплайн-функции

Если носителем сплайн-функции является кубическая парабола , то можно построить два кубических сплайна:

,         (2.73)

.         (2.74)

В первом случае (2.73) условию гладкого сопряжения кубических парабол подвергаются первые и вторые производные , во втором случае (2.74) кубические параболы в узлах сплайна сопрягаются только по первой производной [14, 16].

Мы рассмотрим только кубический сплайн первого вида. Формула (2.73) содержит n+2 неизвестных коэффициентов , для определения которых имеется n условий интерполяции. Для “замыкания” системы линейных уравнений в случае кубического сплайна требуется еще два дополнительных условия. Рассмотрим методы подбора дополнительных условий ниже. Допустим, что мы предварительно определили параметры u и C, тогда для определения неизвестных коэффициентов сплайна можно составить следующую систему линейных уравнений:

         (2.75)

2.2.4 Интерполяция плотности вероятности и функции распределения

Интерполяция выбранной функциональной характеристики (функции распределения или плотности вероятности) осуществляется сплайнами двух видов: (2.67) и (2.73).

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

Интерполяция квадратным сплайном

При интерполяции функциональных характеристик квадратным сплайном в качестве начального условия для доопределения системы (2.69) параметр u изначально задается как коэффициент прямой, проходящей через точки  и :

.                                                                                         (2.76)

Теперь, с учетом (2.76), из системы (2.69) неизвестные коэффициенты для выражения (2.67) определяются как:

.                  (2.77)

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

Интерполяция кубическим сплайном

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

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

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

,                                                                                 (2.78)

где

,

 – требуемое значение интерполирующего сплайна в точке ,

ε – допустимая погрешность при интерполяции.

  1. Зададим параметр u как коэффициент прямой, проходящей через точки и , по формуле (2.76).
  2. Зададим верхнюю и нижнюю границу интервала возможных значений параметра c: cН=-1 и cВ=1.
  3. Рассчитаем неизвестные коэффициенты сплайна для c=cН:

. (2.79)

Определим разницу между значением сплайна (2.73), рассчитанным для текущих значений коэффициентов, в точке  и требуемым значением:

.

  1. Рассчитаем неизвестные коэффициенты сплайна для c=cВ по формуле (2.69). Определим разницу между значением сплайна (2.73), рассчитанным для текущих значений коэффициентов, в точке и требуемым значением:

.

  1. Если , перейти к п.7.
  2. Пересчитать границы изменения второго коэффициента:

Вернуться к п.3.

  1. Положим . Рассчитаем для c коэффициенты для выражения (2.73) по формуле (2.69). Если условие (2.78) выполняется, работа алгоритма завершена, коэффициенты интерполяции рассчитаны с требуемым значением погрешности, иначе перейдем к п.8.
  2. Определим погрешность интерполяции:

.

Если , то cН=c, иначе cВ=c. С пересчитанными границами интервала возможных значений второго коэффициента вернемся к п. 7.

Очевидно, в основу алгоритма положен метод дихотомии при определении значения параметра c. Его недостатком можно считать большое количество итераций для определения значения коэффициентов с требуемым уровнем погрешности при большом количестве узлов K и довольно малом значении ε.

Так же как и для квадратного сплайна, значение c можно задать либо подкорректировать вручную.

2.2.5 Двусторонняя интерполяция

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

Она применяется в случае, когда интерполируемая функция имеет явно выраженный пик в некоторой точке , для которой выполняется условие:

.                                                                  (2.80)

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

Существенным отличием (можно даже сказать, преимуществом) сплайн-интерполяции от аппроксимации ортогональными полиномами является то обстоятельство, что в случае интерполяции не требуется проводить операции совмещения максимумов. Так как для ветвей функции точка пика  является границей интервала интерполяции, эта точка всегда входит в перечень узлов интерполяции. Поэтому построенная модель всегда будет иметь в данной точке требуемое значение.

На рисунке 2.6 приведен пример двусторонней интерполяции сплайн-модели плотности вероятности закона распределения Лапласа. На левой ветке размещены пять узловых точек, на правой – шесть. На обеих ветках интерполяция производится параболическими сплайнами.

Рисунок 2.6 – Двусторонняя интерполяция

Пересчитывать формулы вычисления параметров для сплайнов левой и правой ветви SЛ(x) и SП(x) не имеет смысла, так как они идентичны вышеприведенным для одностороннего случая. За исключением изменения границ интервала интерполирования. Запишем лишь итоговое выражение:

.                                                        (2.81)

 

 

2.3 Вычисление погрешностей

После нахождения аналитического выражения модели  по формулам (2.3) и (2.42) или модели  по формулам (2.67), (2.73) или (2.81) требуется проверить качество приближения построенной модели. Если быть более точным, требуется рассчитать погрешность соответствия полученного выражения исходной сплайн-модели . Для оценки используются следующие виды погрешностей [2].

Максимальная разность:

.                                                 (2.82)

Квадратическая погрешность:

.                                                                     (2.83)

По причине невозможности реализации вычислительными средствами формулы (2.83) используется ее приближенное выражение:

,                                                 (2.84)

где

.

Но квадратическая погрешность не совсем удобна в том смысле, что она имеет размерность квадрата оцениваемой характеристики. Поэтому параллельно с ней применяется рассмотрение еще одного вида погрешности – среднеквадратической. Определив по формуле (2.84) значение Δ, перейдем к вычислению значения среднеквадратической погрешности:

.                                                                                             (2.85)

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

Как было сказано выше, наша задача – проверить качество приближения. Но при этом стоит оговориться, что величина погрешности не в полной мере характеризует качество восстановления исходной функции. Выборка, по которой определяются функциональные характеристики всей генеральной совокупности, не всегда на 100% является репрезентативной. При малых объемах выборки зачастую имеют место влияния различных случайных факторов, проявляющихся при генерации/сборе данных. Они отражаются на внешнем виде гистограммы, построение которой тоже не всегда производится наилучшим образом в силу невозможности установить оптимальное количество коридоров. Эти погрешности накладываются друг на друга, поэтому построенные сплайн-модели нередко оказываются сильно зашумленными. По этой причине более гладкая модель, характеризующаяся большими значениями погрешностей, бывает адекватнее генеральной совокупности, чем модель с лучшими показателями аппроксимации/интерполяции, так как последняя в большей степени повторяет шумы сплайн-модели (рисунок 2.7).

а)

б)

в)

Рисунок 2.7 – Аппроксимация плотности вероятности распределения Рэлея:     а) соответствие теоретической и выборочной плотностей, б) аппроксимация полиномами Лагерра, в) аппроксимация полиномами Лежандра

 

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

 

2.4 Обработка результатов

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

2.4.1 Сравнение числовых характеристик

В данном случае производится расчет выборочных числовых характеристик и расчет числовых характеристик по аппроксимирующей модели (рисунок 2.8). Затем полученные значения сравниваются.

Рисунок 2.8 – Сравнение числовых характеристик

К числовым характеристикам относятся [2]: начальные и центральные моменты k-го порядка, мода, медиана, коэффициенты вариации и формы, пикфактор.

Начальным моментом k-го порядка называется величина, определяемая выражением:

,                                                                (2.86)

где M[] – операция нахождения математического ожидания.

Из начальных моментов наиболее часто применяются:

  • – математическое ожидание, характеризующее среднее значение случайной величины;
  • – определяющий мощность случайной величины.

Центральные моменты k-го порядка определяются в виде:

,                                                                                     (2.87)

где  – центрированная случайная величина.

Из них наиболее часто применяются:

  • – дисперсия процесса, характеризующая разброс значений случайной величины относительно математического ожидания;
  • – характеризует симметричность закона распределения. Для устранения зависимости μ3 от дисперсии вводят коэффициент асимметрии:
    ;                                                                          (2.88)
  • – характеризует островершинность закона распределения. В качестве базового закона (закона сравнения) был выбран нормальный закон, для которого . Для удобства сравнения ввели понятие коэффициент эксцесса:     
    .                                                                       (2.89)

В качестве примера на рисунке 2.8 приведены значения матожидания, дисперсии, коэффициента асимметрии и коэффициента эксцесса. Во второй колонке числовые характеристики рассчитаны по значениям выборочных статистических моментов. Для случайной выборки объема N:

                                                                              (2.90)

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

                                                                        (2.91)

В данном случае на рисунке представлены данные аппроксимации экспоненциального закона распределения ортогональными полиномами Лежандра.

2.4.2 Построение фазового портрета

Помимо описанных функциональных характеристик, аналитические модели которых находятся непосредственно через гистограмму, существуют другие функциональные характеристики, определяемые косвенным путем через известные функцию распределения или плотность вероятности. К ним относятся фазовый портрет, характеристические функции [17] и т.д. Они используются наравне с остальными, имея при решении некоторых задач ряд преимуществ.

Например, наглядным способом идентификации является идентификация, основанная на анализе фазовых портретов. Под фазовым портретом понимают графическую зависимость, построенную в координатах:  и . На рисунке 2.9 приведены в качестве примера фазовые портреты трех законов распределения.

а)

б)

в)

Рисунок 2.9 – Фазовые портреты законов распределения

Следует отметить, что каждому закону распределения соответствует свой уникальный фазовый портрет, не зависящий от значений параметров закона распределения.

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

На рисунке 2.10 изображены теоретический и модельный фазовые портреты. Аппроксимативная модель построена по выборке из 10000 отсчетов, представляет собой сумму 12 полиномов Лежандра.

Рисунок 2.10 – Теоретический (зеленый) и модельный (красный) фазовые портреты (закон распределения Рэлея)

 

Приведем формулы расчета производной плотности вероятности, производящиеся при построении фазовых портретов, для различных моделей.

Получив выражение (2.22), аппроксимирующее плотность вероятности, определим выражение для ее производной:

.                                                         (2.92)

Через выражения (2.67) и (2.73), интерполирующие плотность вероятности, аналитическое выражение производной определяется по формулам (2.93) и (2.94) соответственно:

,                                       (2.93)

.                     (2.94)

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

 

 

3 ОБЩАЯ СХЕМА И ОПИСАНИЕ ПОДСИСТЕМ

3.1 Описание структуры программы

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

Приведем общее разбиение проекта на подсистемы, из которых он состоит (рисунок 3.1):

Рисунок 3.1 – Общая структурная схема проекта

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

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

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

3.1.1 Подсистема аппроксимации

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

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

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

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

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

 

 

 

 

Рисунок 3.2 – Подсистема аппроксимации

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

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

Собственно, последний блок на рисунке 3.2 решает задачу определения неизвестных параметров (коэффициентов) модели. Эти результаты поступают в следующие подсистемы, проводящие окончательный анализ полученных данных.

3.1.2 Подсистема интерполяции

Структура подсистемы интерполяции (рисунок 3.3) во многом повторяет подсистему аппроксимации. Последовательность действий схожа в силу решения задач одного класса.

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

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

Для моделей с пиком возможен выбор двусторонней интерполяции, этот прием применим не только при аппроксимации функций ортогональными рядами. Затем проводится настройка исходных данных для расчета интерполяционной модели: количество узловых точек, тип используемого сплайна. Возможно задание доопределяемого параметра систем уравнений (2.69) или (2.75) вручную, который затем вводится в алгоритм принудительно в качестве начального условия, а не определяется автоматически по ходу выполнения.

Рисунок 3.3 – Подсистема интерполяции

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

3.1.3 Подсистема обработки результатов

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

Первый блок (рисунок 3.4) пересчитывает полученную аппроксимативную модель в степенной ряд (2.22), затем через него определяется ряд (2.37) или (2.40) в зависимости от того, параметры модели какой характеристики вычислялись в подсистеме аппроксимации. Полученные модели передаются в следующие блоки для расчета разнообразных характеристик и показателей.

Блок вычисления погрешностей по формулам (2.82), (2.84) и (2.85) рассчитывает погрешности аппроксимации/интерполяции сплайн-модели.

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

Расчет параметров

теоретического и модельного фазовых портретов

 

Рисунок 3.4 – Подсистема обработки результатов

Последний блок строит фазовые портреты, рассчитывая значения производных по формулам (2.92) – (2.94) в соответствии с выбранной схемой аппроксимации/интерполяции.

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

 


3.2 Руководство пользователя

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

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

Рисунок 3.5 – Подсистема генерации

Обратимся сначала к панели “Выборка”, на которой вверху имеется панель инструментов в виде кнопочного меню. Кнопка “Сгенерировать” отвечает за генерацию случайной выборки данных с указанным видом закона распределения. Объем выборки задается в поле “Количество отсчетов СП”. Параметр выбранного закона задается в поле “a” для однопараметрических законов. Для двухпараметрических законов, как это изображено на рисунке, вводится второе поле “b”. Чуть ниже расположена панель подсказки, которая напоминает аналитическое выражение функциональных характеристик выбранного закона распределения.

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

Сгенерируем выборку с исходными данными, как показано на рисунке 3.5, и перейдем к следующему шагу.

На рисунке 3.6 изображена эта же подсистема, но уже после генерации выборки. На графиках внизу изображены теоретические и выборочные функции распределения и плотности вероятности. При проведении натурных экспериментов, конечно, ни о каких теоретических кривых не может быть и речи, поэтому по выборкам строятся и отображаются только сплайн-модели. Но в режиме имитационного моделирования в качестве иллюстративного материала использование теоретических кривых полезно для оценки качества первичной статистической обработки и построения сплайн-моделей. Внизу графиков (рисунок 3.6) расположен ряд вкладок, с помощью которого можно переключиться с просмотра функциональных характеристик на просмотр построенной гистограммы либо самих отсчетов сгенерированного/открытого процесса.

Панель “Функция” располагает скромным набором инструментов для настройки построения сплайн-моделей. В него входит поле ввода количества коридоров гистограммы, по которой производится расчет сплайн-моделей, и переключатель, показывающий методику построения сплайн-моделей – с усреднением или простая линейная модель без него. На рисунке 3.6 сплайн-модели функциональных характеристик строились по усреднению для количества коридоров, равного 20.

Рисунок 3.6 – Подсистема генерации с построением функциональных характеристик по выборке с усредненной гистограммой

 

Помимо вышеперечисленного панель “Функция” предназначена для ввода в систему данных из файлов о функциях произвольного вида, которые могут и не быть функциональными характеристиками законов распределения (рисунок 3.7). Это позволяет вводить, например, сгенерированную в другой системе автокорреляционную функцию случайного процесса либо спектральную плотность мощности. Также благодаря подобной возможности можно вводить в систему случайный процесс не как последовательность значений, а как функцию времени. В случае ввода в систему нестационарного случайного процесса для него становится реальным нахождение аналитического выражения тренда, что впоследствии позволяет центрировать введенный СП и искать функциональные характеристики закона распределения выборки без искажений, вносимых трендом.

Рисунок 3.7 – Подсистема генерации после считывания из файла функции произвольного вида

 

На этом перейдем к рассмотрению следующей подсистемы, с помощью которой осуществляется аппроксимация функций ортогональными полиномами.

На панели инструментов (рисунок 3.8) первой расположена кнопка “Аппроксимировать”. Она инициирует процесс нахождения параметров модели, сообразуясь с введенными условиями. К этим условиям относятся:

  • вид аппроксимируемой характеристики (функция распределения или плотность вероятности);
  • признак односторонней аппроксимации или двусторонней (при двусторонней аппроксимации значение центра можно ввести вручную, не довольствуясь автоматически определенным значением);
  • признак сведения максимумов для двусторонней аппроксимации, этот параметр, как и два предыдущих, расположен чуть ниже кнопки “Аппроксимировать”. Пример нахождения модели с использованием двух вышеперечисленных параметров представлен на рисунке 3.9.

Рисунок 3.8 – Односторонняя аппроксимация полиномами Лежандра функции распределения со сведением правого края к нулю

На этом перечень необходимых предустановочных параметров не заканчивается, но все остальные указываются далее для каждой ветви отдельно и носят более частный характер. Итак, для каждой ветви на отдельной панели (рисунок 3.9, две панели над графиками функций) указываются:

  • система ортогональных полиномов;
  • количество полиномов;
  • признак сведения краев аппроксимируемой функции к нулю (при двусторонней аппроксимации в случае сведения максимумов эта операция недоступна, рисунок 3.9);
  • в самом низу панели после аппроксимации выводятся значения различных видов погрешностей (максимальная разность, квадратическая и среднеквадратическая погрешность), рассчитываемые между сплайн-моделью и аппроксимативной моделью.

Ввод количества полиномов снабжен вспомогательной кнопкой “Оптимум”, которая для введенных условий подбирает оптимальное количество полиномов, обеспечивающих минимум среднеквадратической погрешности. После расчетов оптимальности становится активной кнопка “Граф ошибок”. Эта кнопка показывает график зависимости среднеквадратической погрешности аппроксимации от количества полиномов. График изображается в правом верхнем углу (свободная зона на рисунке 3.9).

Рисунок 3.9 – Двусторонняя аппроксимация функции с использованием операции сведения максимумов

На рисунках 3.8 и 3.9 показаны примеры аппроксимации функциональной характеристики и произвольной функции. Эти операции немного отличаются одна от другой, так как в первом случае одну (выбранную) характеристику аппроксимируют напрямую, а параметры другой функциональной характеристики находят операцией взятия производной (как на рисунке 3.8) или нахождения первообразной от первой.

Оставшиеся на панели инструментов кнопки предназначены для сохранения полученных результатов. Кнопка “Сохранить” имеет выпадающее меню, с помощью которого можно сохранить в файл установленного образца параметры аппроксимативной модели либо аппроксимируемую функцию.

Последняя кнопка “В базу данных” сохраняет график аппроксимирующей модели в базу данных, об использовании базы данных будет рассказано в дальнейшем.

Интерфейс подсистемы интерполяции (рисунок 3.10) во многом повторяет подсистему аппроксимации, но значительно проще последнего.

Рисунок 3.10 – Интерполяция плотности вероятности кубическим сплайном

Панель инструментов содержит следующие кнопки:

  • “Интерполировать” – инициирует процесс определения параметров интерполирующей модели;
  • “Сохранить” – сохраняет параметры интерполирующей модели, кнопка активна только после интерполяции;
  • “В базу данных” – сохраняет график интерполирующего выражения в базу данных.

Перечень предустановочных параметров включает в себя:

  • выбор интерполируемой характеристики (если введена произвольная функция, а не случайная выборка, то права выбора, разумеется, не предоставляется);
  • признак двусторонней интерполяции аналогично аппроксимации;
  • на панели для каждой ветки расположены средства выбора вида сплайна, установки значения количества узлов интерполяции, а также возможность принудительного присваивания значения доопределяемому параметру. Также на панели после интерполяции рассчитываются значения погрешностей.

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

Подсистема обработки результатов (рисунок 3.11) после работы подсистем аппроксимации и интерполяции отображает на экране два вида характеристик: числовые характеристики и фазовый портрет. Подсистема работает только с данными. Наверху страницы расположен список рассчитываемых характеристик и по два значения напротив каждой характеристики: первое рассчитывается статистическим способом по выборке, второе – по аналитической аппроксимативной модели или интерполирующему выражению.

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

Рисунок 3.11 – Результаты аппроксимации

Последняя страница работы с базой данных (рисунок 3.12) содержит таблицу с краткой информацией о сохраненных моделях:

  • название, под которым сохранена модель;
  • краткие сведения о модели (система полиномов/вид сплайна, количество полиномов/узловых точек, количество ветвей);
  • значения различных видов погрешностей (максимальная разность, квадратическое отклонение, среднеквадратическое отклонение).

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

  • “Удалить запись” – удаляет текущую запись в базе данных;
  • “Добавить в график” – добавляет на координатную плоскость график аппроксимирующей/интерполирующей модели текущей записи;
  • “Очистить график” – удаляет с координатной плоскости все ранее изображенные на ней графики.

Рисунок 3.12 – База данных (сравнение аппроксимации полиномами Эрмита и интерполяции кубическим сплайном)

 

 

4 ИССЛЕДОВАНИЕ ПОГРЕШНОСТЕЙ
АППРОКСИМАЦИИ

4.1 Односторонняя аппроксимация

В качестве исходных данных для исследования погрешности аппроксимации и интерполяции воспользуемся данными, предоставленными Самарским научно-техническим центром имени академика Кузнецова. Отсчеты случайной последовательности представлены на рисунке 4.1.

Рисунок 4.1 – Случайная последовательность

Проведем исследования качества аппроксимации на сплайн-моделях, построенных на количестве коридоров, равном двадцати. Исследуем погрешность аппроксимации плотности вероятности ортогональными системами полиномов Лежандра (рисунок 4.2) и Эрмита (4.3) на оптимальном количестве полиномов методом непосредственной аппроксимации без использования алгоритмов подстройки модели.

Рисунок 4.2 – Аппроксимация ПВ полиномами Лежандра

Рисунок 4.3 – Аппроксимация ПВ полиномами Эрмита

Как видно из рисунков 4.2 и 4.3, аппроксимация обоими системами полиномов несильно отличаются друг от друга, среднеквадратическое отклонение отличается в 2,5 раза, что допустимо. При сравнении графиков двух моделей значительные отличия наблюдаются лишь у левого конца интервала (рисунок 4.4).

Рисунок 4.4 – Сравнение графиков двух моделей

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

Таблица 4.1 – Погрешности односторонней аппроксимации ПВ

Система полиномов

Количество

Максимальная разность

Квадратическое отклонение

Среднеквадратическое отклонение

Лежандра

52

0,02728889

0,00006832

0,00826573

Эрмита

200

0,05672805

0,0004393

0,02095944

 

Перейдем к анализу аппроксимации функций распределения.

Для этого воспользуемся сплайн-моделями функциональных характеристик, построенными по случайной выборке объемом 10000 отсчетов, распределенной по закону Рэлея. Как видно из рисунков 4.5 и 4.6, при почти одинаковом количестве полиномов аппроксимация полиномами Лежандра дает меньшую погрешность. Но стоит при этом обратить внимание на производную характеристику – плотность вероятности. По графикам “на глаз” видно, что при аппроксимации полиномами Эрмита ПВ (производная ФР) гораздо точнее соответствует сплайн-модели.

На рисунках 4.7 и 4.8 представлены результаты аппроксимации ФР полиномами Лежандра и Эрмита, но с применением приема сведения концов аппроксимируемой функции к нулю. Опять, как и во всех прошлых случаях, аппроксимация полиномами Лежандра при существенно меньшем количестве полиномов дает минимум среднеквадратической погрешности. А в данном случае и производная характеристика (модель ПВ) сильнее соответствует сплайн-модели плотности вероятности.

Рисунок 4.5 – Аппроксимация ФР полиномами Эрмита

Рисунок 4.6 – Аппроксимация ФР полиномами Лежандра

Рисунок 4.7 – Аппроксимация ФР полиномами Эрмита со сведением к нулю

Рисунок 4.8 – Аппроксимация ФР полиномами Лежандра со сведением к нулю

Погрешности аппроксимации различными системами полиномов можно посмотреть в таблице 4.2.

Таблица 4.2 – Погрешности односторонней аппроксимации ФР

Система полиномов

Количество

Максимальная разность

Квадратическое отклонение

Среднеквадратическое отклонение

Лежандра

20

0,00143055

0,00000016

0,00039963

Эрмита

25

0,00354596

0,00000279

0,00166883

Лежандра (св. к нулю)

48

0,00018965

0,0000000037

0,00006081

Эрмита   (св. к нулю)

201

0,00308922

0,00000024

0,00048813

 

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

 

4.2 Двусторонняя аппроксимация

При решении задач аппроксимации в ряде случаев (при наличии явно выраженного пика) становится возможным применение двусторонней аппроксимации. В ряде случаев это дает выигрыш в величине погрешности даже при уменьшении суммарного количества полиномов. Например, при аппроксимации плотности вероятности распределения Лапласа (рисунок 4.9).

Рисунок 4.9 – Односторонняя аппроксимация ПВ полиномами Лежандра

На рисунке 4.9 изображены результаты односторонней аппроксимации плотности вероятности. Теперь посмотрим, что произойдет, если в данном примере осуществить двустороннюю аппроксимацию, разбив интервал посередине на два (рисунок 4.10). Очевидно, судя по графикам, что погрешность аппроксимации должна в таком случае упасть на порядок, причем количество полиномов на каждую ветвь уменьшается в среднем вдвое.

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

Рисунок 4.10 – Двусторонняя аппроксимация ПВ полиномами Лежандра

Рисунок 4.11 – Двусторонняя аппроксимация со сведением максимумов

В таком случае (рисунок 4.11) применяется операция сведения максимумов, которая заключается в пересчете коэффициентов таким образом, чтобы поднять или опустить ветвь до требуемого значения. В качестве альтернативы, можно применять в данном случае для обеих ветвей приемом сведения концов аппроксимируемой функции к нулю (рисунок 4.12).

Рисунок 4.12 – Двусторонняя аппроксимация ПВ со сведением концов к нулю

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

Очевидно, что двусторонняя аппроксимация в данном случае целесообразнее односторонней. Аппроксимация со сведением максимумов обеспечивает совпадение значений двух ветвей в точке пика, но не обеспечивает минимума квадратической погрешности. Аппроксимация со сведением к нулю обеспечивает в какой-то степени оба этих требования, но в данном случае наблюдается рост числа полиномов в аппроксимативной модели.

Таблица 4.3 – Погрешности двусторонней аппроксимации ПВ

Система полиномов

Количество

Максимальная разность

Квадратическое отклонение

Среднеквадратическое отклонение

Лежандра (одностор.)

54

0,01720506

0,00026948

0,01641584

Лежандра (двустор.)

23/33

0,003401

0,00001887

0,00434396

Лежандра (св. макс.)

18/14

0,00266214

0,00004248

0,00651805

Лежандра (св. к нулю)

50/51

0,00308922

0,00000024

0,00048813

 

 

ЗАКЛЮЧЕНИЕ

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

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

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

 

СПИСОК СОКРАЩЕНИЙ И ОБОЗНАЧЕНИЙ

 – случайный процесс;

 – вектор информативных параметров случайного процесса;

 – вектор информативных параметров объекта исследований.

 – параметры аппроксимирующего выражения;

N – объем выборки;

SADT (Structed Analysis and Design Techniques) – методология Росса структурного анализа и разработки;

 – функция произвольного вида;

 – аппроксимативный ряд, представляющий функцию произвольного вида;

 – базисный полином;

 – весовая функция;

 – полином Лежандра;

 – полином Эрмита;

 – коэффициент явного представления полинома;

ФР – функция распределения;

ПВ – плотность вероятности;

 – сплайн-модель плотности вероятности;

 – сплайн-модель функции распределения;

M – количество коридоров;

 – коэффициенты линейного переноса;

 – коэффициент разложения ортогонального ряда;

 – коэффициент разложения ортогонального ряда;

 – коэффициент разложения ортогонального ряда;

n – старший порядок полиномов в ряде разложения;

 – коэффициенты сведения аппроксимируемой функции к нулю;

 – сведенная к нулю функция;

 – коэффициент разложения ортогонального ряда при аппроксимации сведенной к нулю функции;

 – коэффициент представления аппроксимируемой функции в виде степенного ряда;

 – коэффициент производной функциональной характеристики;

 – единичная функция;

 – пиковая точка двусторонней аппроксимации;

 – линейный сплайн;

 – квадратный сплайн;

 – кубический сплайн;

 – погрешность максимальная разность;

 – квадратическая погрешность аппроксимации;

δ – среднеквадратическая погрешность аппроксимации;

 – оператор математического ожидания;

 – начальный момент k-го порядка;

 – центральный момент k-го порядка;

 – математическое ожидание;

 – среднеквадратическое отклонение;

 – коэффициент асимметрии;

– коэффициент эксцесса.

 

 

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

  1. Автоматизированные системы научных исследований /Прохоров С.А., Фурсов В.А., Кривошеев А.О., и др.: НПЦ «Авиатор», Самара, 1995. – 137 с.
  2. Прохоров С.А. Аппроксимативный анализ случайных процессов. – 2-е изд., перераб. и доп./СНЦ РАН, 2001. – 380с., ил.
  3. Г. Крамер, М. Лидбеттер. Стационарные случайные процессы. Издательство «Мир». М., 1969. – 37 с.
  4. Вентцель А.Д. Курс теории случайных процессов. Главная редакция физико-математической литературы изд-ва «Наука», 1975. – 14 с.
  5. Вентцель Е.С. Теория вероятностей: Учебник для вузов. – 7-е изд. стер. – М.: Высшая школа, 2001. – 576 с.
  6. Маклаков С.В. Моделирование бизнес-процессов с BPwin0. – М.: ДИАЛОГ-МИФИ, 2002. – 224с.
  7. Фаронов В.В., Шумаков П.В. Delphi Руководство разработчика данных – М.: Нолидж, 1999. – 560с.
  8. Епанешников А., Епанешников В. Delphi Среда разработки: Учебное пособие. – М.: ДИАЛОГ-МИФИ, 1999. – 304с.
  9. Тейксейра С., Пачеко К. Delphi Руководство разработчика.: Пер. с англ. – К.; М.; СПб.: Издательский дом «Вильямс», 1999. – 921 с.: ил.
  10. Купер Дж., Макгиллем К. Вероятностные методы анализа сигналов и систем: Пер. с англ. – М.: Мир, 1989. – с. 54-63
  11. http://www.alglib.chat.ru/opser/indexhtml#toppage
  12. Марон И.А. Дифференциальное и интегральное исчисление в примерах и задачах (функции одной переменной). Издательство «Наука», Главная редакция физико-математической литературы. Москва, 1973. – 400 с. с илл.
  13. Анго А. Математика для электро- и радиоинженеров. – М., 1965., 780 с., ил.
  14. Численные методы: Курс лекций/ А.Н. Коварцев. Самар. гос. аэрокосм. ун-т, 2000, 177 с.
  15. Завьялов Ю.С., Квасов Б.И., Мирошниченко В.Л. Методы сплайн-функций. – М.: Наука, 1980. – 352 с.
  16. Хемминг Р.В. Численные методы. – М.: Наука, 1972. – 398 с.
  17. Лукач Е. Характеристические функции. Пер. с англ./Под ред. В.М. Золотарева. – М.: Наука, Главная редакция физико-математической литературы, 1979, 229 библ., 424 с.
  18. ГОСТ 19.701-90 ЕСПД. Схемы алгоритмов, программ данных и систем. – М.: Издательство стандартов, 1990. – 26с.
  19. ГОСТ 2.105-95 ЕСКД. Общие требования к текстовым документам. – М.: Издательство стандартов, 1996. – 36с.

 

 

 

ПРИЛОЖЕНИЕ А.
ПРОЕКТ СИСТЕМЫ

 

Рисунок А.1 – Диаграмма верхнего уровня

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

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

Рисунок А.2 – Диаграмма с блоком аппроксимации/интерполяции

Интересующий нас блок расположен вторым. Это блок «Аппроксимировать / интерполировать функцию», на вход которого подается функция (сплайн-модель) и запрос на ее аппроксимацию или интерполяцию. Этот блок расположен среди прочих, данные для его работы поступают из блока построения функции на базе входных данных (здесь нужно отметить, что блок «Построить функцию» работает на данных извне системы, тогда как входные и выходные данные второго блока являются внутренними). Являясь одним из звеньев в цепочке алгоритма, выходные данные второй блок передает дальше.

Рассмотрим его внутреннюю структуру (рисунок А.3). В зависимости от запроса активируется один из двух блоков, идущих первыми в цепочке. На вход активируемого блока подается функция (сплайн-модель), которая должна быть представлена в виде аналитической модели. Затем полученный ряд вместе с запросом на обработку результатов поступает на расчет различных характеристик для вывода пользователю в виде графической информации.

Рисунок А.3 – Дочерняя диаграмма для блока «Аппроксимировать / интерполировать функцию»

 

На рисунке каждый блок представляет собой подсистему, на которые был разбит проект в главе 3.1. Теперь же разберем структуру каждого блока-подсистемы по методологии Росса.

Подсистема аппроксимации

На рисунке А.4 изображена “вилка”, аналогичная той, что была представлена нашему вниманию ранее. В зависимости от команд пользователя, осуществляется либо односторонняя аппроксимация, либо двусторонняя. Это достигается соответственно активизацией первого или второго блока на диаграмме А21 соответственно. После построения аналитической модели по ней третьим блоком на экране строится график, а рассчитанный ряд поступает в подсистему обработки результатов.

Рассмотрим последовательность выполнения действий дочерними блоками на диаграмме А211 (рисунок А.5), которая представляет собой одностороннюю аппроксимацию.

Рисунок А.4 – Подсистема аппроксимации

Рисунок А.5 – Односторонняя аппроксимация

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

Рисунок А.6 – Диаграмма двусторонней аппроксимации

Задача двусторонней аппроксимации (рисунок А.6) разбивается на две подзадачи, каждая из которых идентична вышеописанной на диаграмме А211. Отдельно аппроксимируют левую ветвь, потом правую. Рассматривать детально, углубляясь в диаграммы более низкого уровня, первые два блока не имеет смысла, поскольку, как уже было сказано, эти задачи в отдельности представляют собой простую аппроксимацию. Но на сокращенном интервале. Две полученных модели объединяются в одну и поступают на выход.

Подсистема интерполяции

Работа этой подсистемы, о чем упоминалось в главе 3.1, аналогична работе подсистемы аппроксимации. Дочерняя для второго блока диаграммы А2 (рисунок А.3) диаграмма А22 (рисунок А.7) по смыслу блоков и их расположению напоминает диаграмму А21 (рисунок А.4).

Рисунок А.7 – Диаграмма подсистемы интерполяции

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

Рассмотрим последовательность определения параметров интерполирующей модели. Ступенчатая диаграмма А221 односторонней интерполяции (рисунок А.8) раскрывает алгоритм действий после поступления запроса. После выбора пользователем вида интерполирующего сплайна и задания количества точек со значением доопределяемого параметра, все введенные данные поступают в последний блок определения коэффициентов сплайна.

Рисунок А.8 – Односторонняя интерполяция

Рисунок А.9 – Двусторонняя интерполяция

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

Диаграмма А222 двусторонней интерполяции (рисунок А.9) показывает разбиение на две подзадачи по определению функциональных сплайнов для двух ветвей интерполируемой функции, которые затем объединяются в одну модель и поступают на выход своей диаграммы и вход в подсистему обработки результатов.

Подсистема обработки результатов

Последняя рассматриваемая подсистема является дочерней для третьего блока на диаграмме А2 (рисунок А.3). На вход подсистемы обработки (рисунок А.10) поступает запрос на вывод результатов и аналитическая модель в виде аппроксимирующего или интерполирующего ряда.

Рисунок А.10 – Подсистема обработки результатов

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

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

 

 

 

ПРИЛОЖЕНИЕ Б.
КОПИИ ЛИСТОВ ГРАФИЧЕСКОЙ ДОКУМЕНТАЦИИ

 

Структурная схема подсистемы аппроксимации

Диаграмма А2

Диаграмма А21

 

 

 

Структурная схема подсистемы аппроксимации

Диаграмма А211

Диаграмма А212

 

 

 

Односторонняя аппроксимация. Экранные формы

Аппроксимация полиномами Лежандра

Аппроксимация полиномами Лагерра

Односторонняя аппроксимация. Экранные формы

Аппроксимация полиномами Чебышева

Аппроксимация полиномами Эрмита

Двусторонняя аппроксимация. Экранные формы

Аппроксимация Лагерр / Чебышев

Аппроксимация Лежандр / Лагерр

Интерполяция. Экранные формы

Односторонняя интерполяция кубическим сплайном

Двусторонняя интерполяция квадратными сплайнами

 

Постановка задачи:

«Автоматизированная учебно-исследовательская система аппроксимативного анализа
законов распределения случайных процессов»

Общая схема системы

 

Функции, реализуемые системой:

  • Генерация псевдослучайной последовательности методом обратной функции.
  • Построение гистограммы.
  • Построение по гистограмме линейной сплайн-модели либо усредненной модели по нескольким гистограммам с различным количеством коридоров.
  • Нахождение параметров аппроксимирующего ряда для систем ортогональных полиномов Чебышева, Лагерра, Лежандра и Эрмита.
  • Нахождение параметров интерполирующего ряда для квадратного и кубического сплайнов.
  • Вычисление погрешностей аппроксимации/интерполяции функциональных характеристик.
  • Нахождение по полученным моделям числовых характеристик и построение фазового портрета.
  • Ввод/вывод информации из файлов и работа с базой данных.

 

 

ПРИЛОЖЕНИЕ В.
ЛИСТИНГ ПРОЦЕДУР

 

procedure TMainForm.Approximate; //Процедура аппроксимации

var

  i, j: Integer;

  X, Y, OldX, OldY, Z, Dh, Hi, Lambda, SrKv, SrKvZ: Extended;

  Integral: TIntegralFunction;

//Интегральная переменная, которая возвращает значение интеграла

//произведения аппроксимируемой функции на полином N-й степени

begin

  Dh := (MaxX - MinX) / 100;

  FAlpha := (MaxX - MinX) / 2;

  FBetta := (MaxX + MinX) / 2; //Коэффициенты линейного переноса

 

****************ЧАСТЬ ЛИСТИНГА УДАЛЕНО ОТ ПРОСМОТРА**************

 

  lblLeftHi.Caption := Format('Макс. разность = %.8f', [Lambda]);

  lblLeftLambda.Caption := Format('Кв. откл. = %.8f', [SrKv / SrKvZ]);

  lblLeftSrKv.Caption := Format('Ср. кв. = %.8f', [Sqrt(SrKv / SrKvZ)]);

//Рассчитываются и выводятся значения погрешностей аппроксимации

end;

 

 

ЧЕРТЕЖЕЙ В КОМПЛЕКТЕ

Скачать: diplom.rar

Категория: Дипломные работы / Дипломные работы по компьютерам

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.