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

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

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 07.03.2011
Размер файла 275,5 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Курсовая работа по теме:

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

Оглавление

  • Введение
  • Теоретическая часть
  • Метод наименьших квадратов
  • Блок схема
  • Практическая часть
  • Выводы
  • Список использованной литературы

Введение

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

Результатом курсовой работы является разработка программного продукта для определения a0 и a1; построение графических зависимостей экспериментальных и расчётных значений от x.

Для выполнения курсовой работы понадобились сведения:

таблица 1 "Экспериментальная выработка";

вид расчётной зависимости y=exp (a0+a1*x).

На первом этапе разрабатывается программный продукт для определения a0 и a1; сортируются экспериментальные данные по возрастанию аргумента.

На втором этапе вычисляем значения a0 и a1 с использованием метода наименьших квадратов. Вычисление a0 и a1 оформляется в виде процедуры, а вычисление yравнения в виде функции; вычисляется относительная погрешность.

На третьем этапе производится вычисление значений a0 и a1; строим графические зависимости экспериментальных и расчётных значений от x.

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

Теоретическая часть

В программе использовано 4 массива типа real, размер которых задается пользователем, но не более 100 элементов. Они хранят табличные данные, в том числе и вычисляемые. Значения вычисляемых a1 и a0 хранятся в переменных типа real. Также для работы программы используется вспомогательные переменные типа char и byte. В начале программы происходит выбор источника входных данных: файл или консоль экрана. После идет заполнение массивов со входными данными. Отдельные процедуры вычисляют значения a0 и a1, затем с использованием цикла for идет заполнение массивов с расчетными значениями функции и погрешностями. Все вычисления оформлены в виде процедур и функций, расчет происходит по заданным формулам Yрасч (x) и Yрасч. Когда результат получен, программа предлагает пользователю также выбор вывода информации - в заданный файл, или на экран монитора. Выбор реализован с использованием оператора case и вспомогательной переменной типа char.

Метод наименьших квадратов

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

Запишем выражение критерия аппроксимации при =1 (i = 1, 2, n) для полиномиального :

Искомые переменные aj можно найти из необходимого условия минимума R по этим переменным, т.е. dR / dap =0 (для р = 0, 1, 2,…, k). Продифференцируем по ар (р - текущий индекс):

После очевидных преобразований (сокращение на два, раскрытие скобок, изменение порядка суммирования) получим

Перепишем последние неравенства:

Получилась система n+1 уравнений с таким же количеством неизвестных aj причем линейная относительно этих переменных. Эта система называется системой нормальных уравнений. Из ее решения находятся параметры аj аппроксимирующей функции, обеспечивающие minR, т.е. наилучшее возможное квадратичное приближение. Зная коэффициенты, можно (если нужно) вычислить и величину R (например, для сравнения различных аппроксимирующих функций). Следует помнить, что при изменении даже одного значения исходных данных (или пары значений хi, уi или одного из них) все коэффициенты изменят в общем случае свои значения, так как они полностью определяются исходными данными. Поэтому при повторении аппроксимации с несколько изменившимися данными (например, вследствие погрешностей измерения, помех, влияния неучтенных факторов и т.п.) получится другая аппроксимирующая функция, отличающаяся коэффициентами. Следует обратить внимание на то, что коэффициенты aj полинома находятся из решения системы уравнений, т.е. они связаны между собой. Это приводит к тому, что если какой-то коэффициент вследствие его малости захочется отбросить, придется пересчитывать заново оставшиеся. Можно рассчитать количественные оценки тесноты связи коэффициентов. Существует специальная теория планирования экспериментов, которая позволяет обосновать и рассчитать значения хi используемые для аппроксимации, чтобы получить заданные свойства коэффициентов (несвязанность, минимальная дисперсия коэффициентов и т.д.) или аппроксимирующей функции (равная точность описания реальной зависимости в различных направлениях, минимальная дисперсия предсказания значения функции и т.д.).

Блок схема

Размещено на http://www.allbest.ru/

метод наименьший квадрат программа

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Практическая часть

program kurs;

uses crt;

type Tmas=array [1.100] of real;

var

x,y,yr,dy: tmas;

n, i: byte;

ch: char;

a1,a0: real;

procedure infile (var x,y: tmas; var n: byte);

var path: string;

i,j: byte;

f: text;

begin

writeln ('vvedite put'' faila');

readln (path);

assign (f,path);

reset (f);

readln (f,n);

for i: =1 to n do

read (f,x [i]);

for i: =1 to n do

read (f,y [i]);

close (f);

end;

procedure outfile (a0,a1: real; x,y,yr,dy: tmas; n: byte);

var path: string;

i,j: byte;

f: text;

begin

writeln ('vvedite imya faila');

readln (path);

assign (f,path);

rewrite (f);

writeln (f,'a0=',a0: 8: 4,' a1=',a1: 8: 4);

write (f,'x ');

for i: =1 to n do

write (f,x [i]: 8: 4);

writeln (f);

write (f,'y ');

for i: =1 to n do

write (f,y [i]: 8: 4);

writeln (f);

write (f,'yr ');

for i: =1 to n do

write (f,yr [i]: 8: 4);

writeln (f);

write (f,'dy ');

for i: =1 to n do

write (f,dy [i]: 8: 4);

close (f);

end;

procedure incrt (var x,y: tmas; var n: byte);

var i,j: byte;

begin

writeln ('vvedite n');

readln (n);

writeln ('vvodite massiv x');

for i: =1 to n do

read (x [i]);

writeln ('vvodite massiv y');

for i: =1 to n do

read (y [i]);

end;

procedure outcrt (a0,a1: real; x,y,yr,dy: tmas; n: byte);

var

i,j: byte;

begin

writeln ('a0=',a0: 8: 4,' a1=',a1: 8: 4);

write ('x ');

for i: =1 to n do

write (x [i]: 8: 4);

writeln;

write ('y ');

for i: =1 to n do

write (y [i]: 8: 4);

writeln;

write ('yr ');

for i: =1 to n do

write (yr [i]: 8: 4);

writeln;

write ('dy ');

for i: =1 to n do

write (dy [i]: 8: 4);

end;

procedure geta1 (var a1: real; x,y: tmas; n: byte);

function sum1: real;

var i: byte;

sum: real;

begin

sum: =0;

for i: =1 to n do

sum: =sum+x [i] *ln (y [i]);

sum1: =sum;

end;

function sum2: real;

var i: byte;

sum: real;

begin

sum: =0;

for i: =1 to n do

sum: =sum+x [i];

sum2: =sum;

end;

function sum3: real;

var i: byte;

sum: real;

begin

sum: =0;

for i: =1 to n do

sum: =sum+x [i] *x [i];

sum3: =sum;

end;

function sum4: real;

var i: byte;

sum: real;

begin

sum: =0;

for i: =1 to n do

sum: =sum+ln (y [i]);

sum4: =sum;

end;

begin

a1: = (n*sum1 - sum2*sum4) / (n*sum3-sqr (sum2))

end;

procedure geta0 (var a0: real; x,y: tmas; n: byte; a1: real);

function sum1: real;

var i: byte;

sum: real;

begin

sum: =0;

for i: =1 to n do

sum: =sum+x [i];

sum1: =sum;

end;

function sum2: real;

var i: byte;

sum: real;

begin

sum: =0;

for i: =1 to n do

sum: =sum+ln (y [i]);

sum2: =sum;

end;

begin

a0: = (sum2-a1*sum1) /n;

end;

function getyr (x,a0,a1: real): real;

begin

getyr: =exp (a0+a1*x);

end;

function getdy (y,yr: real): real;

begin

getdy: =abs (yr-y) /abs (y);

end;

BEGIN

clrscr;

writeln ('proizvesti vvod iz faila& (y,n) ');

repeat

ch: =readkey;

until (ch='y') or (ch='n') or (ch='Y') or (ch='N') or (ch='q');

case ch of

'y','Y': infile (x,y,n);

'n','N': incrt (x,y,n);

'q': halt

end;

geta1 (a1,x,y,n);

geta0 (a0,x,y,n,a1);

for i: = 1 to n do

yr [i]: =getyr (x [i],a0,a1);

for i: = 1 to n do

dy [i]: =getdy (y [i],yr [i]);

writeln ('proizvesti vivod v fail& (y,n) ');

repeat

ch: =readkey;

until (ch='y') or (ch='n') or (ch='Y') or (ch='N') or (ch='q');

case ch of

'y','Y': outfile (a0,a1,x,y,yr,dy,n);

'n','N': begin outcrt (a0,a1,x,y,yr,dy,n); readkey; end;

'q': halt

end;

END.

Выводы

В результате выполненной работы получено следующее:

1. Идентифицированы параметры расчётной зависимости a0 и a1;

2. Разработан программный продукт для определения a0 и a1, для вычисления значений x,y, yp. Результаты выведены в виде таблицы.

3. Для вычисления a0 и a1 использован метод наименьших квадратов.

4. Вычисление a0 и a1 оформлено в виде процедуры. Вычисление yp оформлено в виде функции.

5. По полученным результатам построены графические зависимости.

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

7. Вычислены a0 и a1. Построены графические зависимости экспериментальных и расчётных значений от x.

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

Список использованной литературы

1. Т.А. Павловская "Паскаль. Программирование на языке высокого уровня"

2. "Информатика. Базовый курс" под редакцией С.В. Симоновича

3. Сайт: www.intuit.ru

Размещено на Allbest.ru


Подобные документы

  • Метод наименьших квадратов. Возможные варианты расположения экспериментальных точек. Аппроксимация экспериментальных данных в программах Microsoft Excel, MathCAD и MatLAB. Вычисление средних значений и их сумм. Коэффициенты корреляции и детерминации.

    курсовая работа [890,9 K], добавлен 30.10.2012

  • Свойства объектов и проверка расчетной зависимости на основании экспериментальной выборки. Построение графической зависимости экспериментальных и расчетных значений от x для их сравнения. Выполнение работы в среде Visual Basic, Excel и MathCAD.

    курсовая работа [261,9 K], добавлен 20.05.2011

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

    курсовая работа [63,8 K], добавлен 30.10.2013

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

    курсовая работа [1,1 M], добавлен 07.07.2013

  • Метод Гаусса и одно из его приложений в экономике (простейшая задача о рационе). Модель Леонтьева межотраслевого баланса. Алгебраический метод наименьших квадратов. Анализ данных эксперимента. Метод наименьших квадратов в Excel и аппроксимация данных.

    курсовая работа [598,7 K], добавлен 11.07.2015

  • Разработка структуры базы данных в приложении Access. Создание запросов. Создание отчета для эффективного представления данных в печатном формате. Панель элементов, используемых при создании формы. Обработка данных с помощью языка запросов в SQL.

    курсовая работа [1,7 M], добавлен 09.05.2012

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

    курсовая работа [749,3 K], добавлен 08.06.2019

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

    курсовая работа [549,8 K], добавлен 11.12.2012

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

    курсовая работа [2,3 M], добавлен 14.04.2014

  • Создание программы для автоматизации продаж программных продуктов, ведение базы данных по клиентам, формирование отчетов по реализованным товарам и вырученным средствам. Алгоритмизация задачи. Аномалии и защитное программирование. Тестирование и отладка.

    курсовая работа [2,9 M], добавлен 17.07.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.