Создание программных продуктов для обработки экспериментальных данных. Идентификация параметров
Обработка экспериментальных данных с помощью программных продуктов. Редактирование и оформление электронных табличных расчётов. Метод наименьших квадратов: применение в качестве критерия близости суммы квадратов отклонений заданных и расчетных значений.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 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