Статистическая обработка результатов наблюдения. Метод наименьших квадратов

9.Статистическая обработка результатов наблюдения. Метод наименьших квадратов.

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

Если необх-мо исп-ть эти данные для вычисления на ЭВМ, то сразу появляются след. проблемы:

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

2.Может оказаться желательным знать значения у, соответствующие промежуточным значениям х

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

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

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

Наиболее простое логичное условие состоит в том, чтобы сумма отклонений точек от кривой была наименьшей. Если обозначить через у’ значение у, полученное из функциональной зависимости, то это условие можно записать так:

Требуется, чтобы была наименьшей. Здесь N – количество точек исходной информации. Однако, данный критерий не вполне корректен (либо почему, либо вообще не упоминать).

Данный недостаток можно исправить следующим образом: у суммы поставить модуль: и требовать, чтобы эта сумма принимала наименьшее значение. Однако, в этом случае для нахождения min мы не сможем воспользоваться производной. Можно наложить другое условие – попросить, чтобы max отклонение должно стать наименьшим. Это приближение Чебышёва. Однако, в этом случае придётся воспользоваться длинной и сложной итерационной процедурой. Поэтому в данном случае воспользуемся критерием наименьших квадратов (кнк), т. е. будем искать такую функциональную зависимость, при которой будет наименьшей. Такой критерий во многих практических случаях приводит к системе линейных уравнений, которую легко решить.Рассмотрим этот критерий.

Сформулируем нашу задачу в след. виде: дан набор базисных функций φ0, φ1, ... , φn

Пример: φ0=1, φ1=х, ... , φn=хn

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

х1, х2, ... , хN

у1, у2, ... , уN, где N>>n .

Для каждой из этих точек строим отклонение:, где (yk-было получено в рез-те эксперимента)

Вычислим сумму квадратов этих отклонений

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

противоречие, значит определитель системы (*) неравен 0.

Т.к. в качестве базисных функций , то коэффициенты системы следующие:

;

Алгоритм

1.ввод данных: N- количество данных; точки (х0,у0)...(xN,yN); степень приближающего многочлена

2.находим коэффициенты системы по формулам

3.решение полученной системы методом Гаусса

4.вывод на экран приближающего многочлена

5.вводим промежуточную точку

6.вычисляем значение приближающего многочлена в этой точке

или

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

, где (1) , ,

- неизвестно в данной системе

Докажем, что наша система имеет решение. Для этого рассмотрим соответствующую нашей однородную систему:

(*)

Из алгебры известно, что если её определитель равен 0, то она имеет ненулевое решение и оно единственно. Если определитель не=0, то она имеет нулевое решение, оно единственно.

∆ Докажем от противного.

Пусть система (*) имеет ненулевое реш-е, т.е. её определитель =0 и среди чисел имеются числа отличные от 0. Умножим 1-е ур-е системы (*) на а0 , второе на а1 и т.д. Сложим их. В результате получим

В качестве сlm подставим (1) и меняем местами : или

В качестве базисных функций будем рассматривать

Получим

Очевидно, что .

Тогда => каждый многочлен =0, а значит верны рав-ва: Р(х1)=0, Р(х2)=0,..., Р(хN)=0, т.е. х1, х2,..., хN- корни многочлена Р(х).

Многочлен имеет степень n. Известно, число корней многочлена не превосходит его степени, т.е. n>=N. Однако, N>>n. Получили

\

10. Общие и событийные процедуры в ООП. Примеры исп-ния.

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

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

Определение общей процедуры. Каждой общей процедуре дается уникальное название — имя процедуры и устанавливается список входных и выходных параметров процедуры.

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

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

Синтаксис общей процедуры:

Sub Имя Процедуры (Список Параметров)

программный код

End Sub

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

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

Call Имя процедуры(Список параметров)

В случае вызова процедуры по имени список пар-ров приводится без скобок:

Имя процедуры(Список параметров)

Размещение общей процедуры в проекте. Общая процедура может входить в состав программного модуля одной из форм проекта (в файл с расширением frm). Общая процедура может быть также размещена в стандартном программном модуле (файле с расширением bas).

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

Private Sub Имя Процедуры

программный код

End Sub

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

Public Sub Имя Процедуры

программный код

End Sub

Область видимости переменной. Переменные также могут быть локальными

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

Свойство ListIndex содержит номер выбранного элемента списка.

Свойство Text. Значением данного свойства является строка списка, находящаяся в фокусе. Таким образом, в случае простого списка строка, на которой щелкнул пользователь, автоматически помещается в свойство Text. Если никакой элемент в списке еще не выбран, значение свойства Text равно пустой строке («»).

Свойство Sorted используется для сортировки элементов списка. Для сортировки элементов списка нужно присвоить свойству Sorted значение True. В результате не будет иметь значение, в каком порядке элементы добавлялись в список. Для пользователя он всегда будет отсортирован в алфавитном порядке. При добавлении нового элемента в отсортированный список, его индекс будет выбираться так, чтобы не нарушать алфавитный порядок списка.

Внешний вид списка определяется значением свойства Style. Если установить значение свойства Style равным 0 – Standard, то на экране отобразиться обычный список. Если установить значение 1 – CheckBox, то на экране отобразиться список, состоящий из флажков.

Значение свойства Columns определяет количество колонок в списке. По умолчанию оно равно 0, в результате чего на экране будет отображаться обычный список. Если установить значение этого свойства в 1, на экране будет отображен список, состоящий из одной колонки, но с горизонтальной полосой прокрутки.

и глобальными (открытыми). Лок.переменная доступна только внутри процедуры или программного модуля и к ней невозможно обращение из другой процедуры или модуля. Лок.переменная опр-ся с помощью ключевого слова Dim.

Если переменная определена перед процедурой//////, то она может быть вызвана только в этой процедуре; если она определена перед программным модулем в области (Gene-ral)(Declaration) программного кода, то она может быть вызвана только в этом модуле.

К глоб.переменным может быть произведено обращение из всех программных модулей проекта. Глоб.переменная определяется с помощью ключевого слова Global в области (General)(Declaration) программного кода.

В свойстве NewIndex элемента управления ListBox находится индекс последнего добавленного в список элемента.

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

За выбор одного из вариантов отвечает свойство Style.

0 - Dropdawn Combo – поле с раскрывающимся списком. Данный тип элемента управления редставляет собой обычное текстовое поле, объединенное с раскрывающимся списком. Пользователь может либо выбрать готовый элемент из списка, либо ввести новый элемент в текстовое поле.

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

2 – Dropdown List – Раскрывающийся список. Как следует из его названия, первоначально список должен находиться в свернутом (закрытом) состоянии. Чтобы сделать выбор, пользователь должен открыть список, щелкнув на направленной вниз стрелке. Основным отличием данного элемента управления от двух предыдущих является то, что пользователь не может ввести новый элемент в поле. Он может выбрать лишь то, что представлено в списке.

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

Private Sub Command1_Click()

Randomize Timer

Combo1.ListIndex = Int(Rnd * Combo1.ListCount)

Combo2.ListIndex = Int(Rnd * Combo2.ListCount)

Combo3.ListIndex = Int(Rnd * Combo3.ListCount)

Form1.BackColor = Int(Rnd * 1000000)

Combo1.BackColor = Int(Rnd * 1000000)

Combo2.BackColor = Int(Rnd * 1000000)

Combo3.BackColor = Int(Rnd * 1000000)

Combo1.ForeColor = Int(Rnd * 1000000)

Combo2.ForeColor = Int(Rnd * 1000000)

Combo3.ForeColor = Int(Rnd * 1000000)

End Sub

Private Sub Form_Load()

Combo1.ListIndex = 0

Combo2.ListIndex = 0

Combo3.ListIndex = 0

End Sub

Если значение свойства MultiLine равно True, текст будет автоматически переноситься по словам на несколько строк. Чтобы перейти на новую строку при вводе текста, пользователь должен нажать клавишу <Enter>.

Cвойство ScrollBar определяет, будут ли в текстовом поле отображаться полосы прокрутки, и если да, то каков их тип. Оно может принимать одно из четырех значений: 0-None,1-Horizontal,2-Vertical и 3-Both. Полосы прокрутки используются в случае, если размер текстового поля не позволяет отобразить весь находящийся в свойстве Text текст. Значение свойства Scrollbar учитывается только в том случае, если свойство MultiLine равно True.

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

← Предыдущая
Страница 1
Следующая →

Файл

шпора 9,10.docx

шпора 9,10.docx
Размер: 93.2 Кб

.

Пожаловаться на материал

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

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

Искать ещё по теме...

Похожие материалы:

Эксплуатация машинно-тракторного парка

В курсе лекций по дисциплине «Эксплуатация машинно-тракторного парка» раскрыто три темы: «Проектирование состава МТП. Основные показатели машиноиспользования», «Транспорт в агропромышленном комплексе», «Технологии производства основных видов продукции растениеводства и их техническое обеспечение».

Құрлықтар мен мұхиттардың физикалық географиясы

Географиялық қабық. Жердің географиялық қабығының. Құрлықтар мен мұхиттар. Еуропа территориясының қалыптасу. Өзендер жүйесінің. Арктикалық шөл, тундра. Шетелдік Азияның климат. Каспий, Арал және Балқаш.

Кандидатский экзамен "История и философия науки"

Общие проблемы философии науки. Философия русского космизма. Учение о ноосфере. Философия науки. Неопозитивизм. Концепция Карла Поппера.

Биология

Генетика. Фундаментальные свойства и уровни организации жизни. Клеточная теория. Функциональная классификация генов. Химический состав и строение структуры хромосомы. Обмен веществ в клетке. ДНК. Генетическая информация в клетках. Онтогенез. Гены у человека. Медико-генетическое консультирование.

Разъяснение судебного или несудебного акта, подлежащего исполнению

Разъяснение исполнит документа направлено на создание условий для своевременного и надлежащего исполнения юрисдик акта, если неясность положений исполнит документа препятствует или делает затруднительным его исполнение

Сохранить?

Пропустить...

Введите код

Ok