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

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

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

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

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

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

МИНИСТЕРСТВО СЕЛЬСКОГО ХОЗЯЙСТВА РОССИЙСКОЙ ФЕДЕРАЦИИ

Федеральное государственное образовательное учреждение высшего профессионального образования

российский государственный аграрный университет -

МСха имени К.А. Тимирязева

(ФБГОУ ВПО ргау - МСХА имени К.А. Тимирязева)

Учетно-финансовый факультет

Кафедра прикладной информатики

КУРСОВОЙ ПРОЕКТ

по дисциплине «Информатика и программирование»

НА ТЕМУ: Выравнивание рядом динамики с оценкой погрешности. Метод наименьших квадратов логарифмический тренд

Выполнил: Плешков А.Д.

факультет экономики и финансов

107 группы

МОСКВА - 2015

Оглавление

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

1. Индивидуальное задание на выполнение курсовой работы

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

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

2.2 Сущность метода наименьших квадратов

2.3 МНК в регрессионном анализе

2.4 Пример метода для линейной аппроксимации вида ax+b

2.5 Пример метода для логарифмической аппроксимации вида a* ln(x)+b

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

3.1 Описание программы в целом

3.2 Входные и выходные данные

3.3 Реализация метода

3.4 Контроль и анализ результатов

Выводы

Список литературы

Приложения

1. Индивидуальное задание на выполнение курсовой работы

Выравнивание рядом динамики с оценкой погрешности. Метод наименьших квадратов. Логарифмический тренд

Нахождение коэффициентов логарифмической модели методом наименьших квадратов

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

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

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

Применение численных методов основано на двух принципах:

Замена сложной модели более простой

Представление решения сложной задачи в виде последовательности более простых задач.

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

Численные методы всегда приближенны и имеют помимо преимуществ и ряд недостатков. К таким недостаткам можно отнести, например:

погрешность модели

погрешность вычислений (у каждой ЭВМ числа представлены в дискретном виде и, конечно же, бесконечной точности обеспечить не могут)

погрешность входных данных

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

Ряд простых примеров таких моделей и их численного решения приведем ниже.

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

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

Одним из таких методов является метод наименьших квадратов.

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

Рис.1. Пример кривой, проведённой через точки, имеющие нормально распределённое отклонение от истинного значения.)

2.2 Сущность метода наименьших квадратов

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

.

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

2.3 МНК в регрессионном анализе

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

.

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

,

где -- так называемые случайные ошибки модели.

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

,

где -- англ. Residual Sum of Squares определяется как:

.

В общем случае решение этой задачи может осуществляться численными методами оптимизации (минимизации). В этом случае говорят о нелинейном МНК (NLS или NLLS -- англ. Non-Linear Least Squares). Во многих случаях можно получить аналитическое решение. Для решения задачи минимизации необходимо найти стационарные точки функции , продифференцировав её по неизвестным параметрам , приравняв производные к нулю и решив полученную систему уравнений:

.

2.4 Пример метода для линейной аппроксимации вида ax+b

Пусть задан некий набор данных х и у:

x

0,68

1,13

1,58

2,03

2,48

2,93

3,33

3,83

4,29

y

0,52

0,65

0,75

0,95

1,12

1,36

1,69

2,16

2,82

Будем искать функциональную зависимость в виде , где a - коэффициент регрессии. В этом случае сумма квадратов отклонений

Для определения неизвестных параметров a и b нужно решить систему:

После преобразований система примет вид

Имеем таблицу и значения сумм:

x

0,68

1,13

1,58

2,03

2,48

2,93

3,33

3,83

4,29

y

0,52

0,65

0,75

0,95

1,12

1,36

1,69

2,16

2,82

x^2

0,4624

1,2769

2,4964

4,1209

6,1504

8,5849

11,0889

14,6689

18,4041

xi·yi

0,3536

0,7345

1,185

1,9285

2,7776

3,9848

5,6277

8,2728

12,0978

суммы

x

22,28

y

12,02

x^2

67,2538

xy

36,9623

Подставим в систему:

Откуда коэффициенты:

Подсчитаем коэффициент детерминации по формулам:

Где

у линейная

0,26608

0,53411

0,80214

1,07017

1,33820

1,60623

1,84448

2,14230

2,41628

(y-y лин)^2

0,06448

0,01343

0,00272

0,01444

0,04761

0,06063

0,02387

0,00031

0,16299

(y-y cр)^2

0,66513

0,46999

0,34288

0,14865

0,04646

0,00060

0,12563

0,67971

2,20358

сум у-у лин

0,39048

сум у-у ср

4,68262

R^2=

0,91661

Рис 2. Графическая интерпретация результатов расчета)

2.5 Пример метода для логарифмической аппроксимации вида a* ln(x)+b

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

Пусть задан некий набор данных х и у:

x

1

2

3

4

5

6

7

y

0,1

0,4

0,5

0,6

0,7

0,74

0,8

Будем искать функциональную зависимость в виде , где a - коэффициент регрессии. В этом случае сумма квадратов отклонений

Для определения неизвестных параметров a и b нужно решить систему:

После преобразований система примет вид

Имеем таблицу и значения сумм:

x

y

lnx

ln^2(x)

y*ln(x)

1

0,1

0

0

0

2

0,4

0,693147

0,480453

0,277259

3

0,5

1,098612

1,206949

0,549306

4

0,6

1,386294

1,921812

0,831777

5

0,7

1,609438

2,59029

1,126607

6

0,74

1,791759

3,210402

1,325902

7

0,8

1,94591

3,786566

1,556728

3,84

8,525161

13,19647

5,667578

СУММЫ

Подставим в систему:

Откуда коэффициенты:

Подсчитаем коэффициент детерминации по формулам:

Где

x

1

2

3

4

5

6

7

y среднее

y

0,1

0,4

0,5

0,6

0,7

0,74

0,8

0,548571

y model

0,1197

0,3638

0,5066

0,6079

0,6865

0,7507

0,8050

(y-y mod)^2

0,0004

0,0013

0,0000

0,0001

0,0002

0,0001

0,0000

(y-y cp)^2

0,2012

0,0221

0,0024

0,0026

0,0229

0,0366

0,0632

Summ y-y mod

0,0021

Summ y-y cp

0,3511

R^2

0,9939

Рис 3. Графическая интерпретация результатов расчета)

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

3.1 Описание программы в целом

Программа реализована на алгоритмическом языке Паскаль, в интегрированной среде разработки Borland Delphi 7.

При запуске программа пытается считать входные данные в бинарном виде (формат real) в файле input.bin при невозможности найти или считать этот файл производится попытка считать данные из текстового файла Input.txt. Точность вычислений ограничена точностью представления данных в формате real с плавающей точкой и составляет (для разных систем по разному) около 10-15. Далее производится требуемый расчет коэффициентов линейной регрессии и расчет значений функции в 10 (параметр density) значениях х на интервале от минимального до максимального значения х, в начальных данных. То есть если данные заданы:

х у

1 3

2 3

3 5

5 7

7 7

9 8

то расчет производится на интервале от 1 до 9, разбив интервал на 10 отрезков, более подробно о входных и выходных данных ниже.

По окончании расчет программа сохраняет данные, как в текстовом, так и в бинарном виде.

Также расчет коэффициентов и значений функции дублируется на экран.

3.2 Входные и выходные данные

а) Формат входных данных в файле input.bin:

файл содержит пары координат точек (х,у) в формате real, примерный вид файла в16тиричном формате:

Рис. 4 вид файла input.bin

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

б) Формат входных данных в файле input.txt:

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

Рис.5 вид файла input.txt

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

в) По окончании вычислений программа выдает результаты на экран и тоже самое дублирует в файлы output.txt,output. bin,

Приблизительный вид выходного файла output.txt показан на рисунке:

Рис.6. Внешний вид выходного файла output.txt

Файл output. bin содержит пару коэффициентов ab, а затем следуют рассчитанные точки - пары координат ху.

Рис.7. Внешний вид выходного файла output.bin

Красным обведено значение коэффициента а, синим - b в формате real. Остальное координаты х,у.

В случае когда файлы недоступны об этом пользователь уведомляется:

Рис 8. Недоступен один файл данных

Рис 9. Недоступны оба файла данных

3.3 Реализация метода

Основной метод расчета (как и методы, вводы вывода) реализован в отдельной функции.

function log_min_sq(x,y:arraytype;n:integer;var a,b:real):integer;

- Функция принимает в качестве параметров наборы координат икс и игрек, их количество - n, возвращает коэффициенты a,b и в случае успешного расчета значение 0. В случае если метод неприменим, то значение минус один.

Основной метод - рассчитывает необходимые суммы (иксов игреков и логарифмов) и решает систему как показано выше в предыдущем разделе, относительно а и b.

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

'Min square method is not applicable'.

Ниже опишем вспомогательные функции и значения переменных:

const maxn = 1000; - ограничение на количество считанных из файла координат.

const dencity =10; - «плотность» - количество расчетных точек в выходных данных.

procedure parse(str:string;var s1,s2:string); - процедура разбиения строки на две подстроки , разделенные пробелом(пробелами).

function load_bin_data(filename:string; var x,y:arraytype; var n:integer):integer; - загрузка данных из бинарного файла

function load_txt_data(filename:string; var x,y:arraytype; var n:integer):integer; - загрузка данных из текстового файла

procedure found_minmax(x:arraytype;n:integer; var xmin,xmax:real); - нахождение минимума и максимума в массиве х.

procedure print(var f:text;a,b:real;x:arraytype;n:integer); - вывод как в текстовый файл так на экран или принтер (зависит от параметра f - с чем связан файл вывода - туда и осуществляется).

procedure print_bin(var f:realfile;a,b:real;x:arraytype;n:integer); - вывод в бинарный файл

procedure print_results(a,b:real;x:arraytype;n:integer); - вывод всеми способами

3.4 Контроль и анализ результатов

Для контроля результатов вычислений, на одних и тех же данных был проведен аналогичный расчет значений в математических пакетах МатКад (MathCad) и Ексель(Excel):

а) результаты вычислений для :

б)Те же результаты в Маткад:

в) тот же расчет в Ексель:

x

y

lnx

ln^2(x)

y*ln(x)

1

0,1

0

0

0

2

0,4

0,6931

0,4805

0,2773

D=

19,6969

3

0,5

1,0986

1,2069

0,5493

D1=

6,9364

4

0,6

1,3863

1,9218

0,8318

D2=

2,3574

5

0,7

1,6094

2,5903

1,1266

a=

0,352158

6

0,74

1,7918

3,2104

1,3259

b=

0,119685

7

0,8

1,9459

3,7866

1,5567

3,84

8,52516

13,1964

5,66757

СУММЫ

n=

7

x

1

2

3

4

5

6

7

y среднее

y

0,1

0,4

0,5

0,6

0,7

0,74

0,8

0,548571

y model

0,1197

0,3638

0,5066

0,6079

0,6865

0,7507

0,8050

(y-y mod)^2

0,0004

0,0013

0,0000

0,0001

0,0002

0,0001

0,0000

(y-y cp)^2

0,2012

0,0221

0,0024

0,0026

0,0229

0,0366

0,0632

Summ y-y mod

0,0021

Summ y-y cp

0,3511

R^2

0,9939

К записке прилагаются тексты программ (2 шт.) и лист расчета MathCAD и лист расчета Excel.

Выводы

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

Контроль точности и правильности вычислений показал правильность разработанных алгоритмов.

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

Список литературы

1. Ракитин Т.А., Первушин В.А. “Практическое руководство по численным методам с приложением программ на языке Pascal“

2. Демидович и Марон “Основы вычислительной математики“

3. Копченова и Марон “Вычислительная математика в примерах и задачах”

4. Вольвачев А.Н., Крисевич В.С. Программирование на языке Паскаль для ПЭВМ ЕС. Минск.: 1989 г

5. Фаронов. Язык программирования Turbo Pascal. М.1992 г

6. Скляров В.А. Знакомьтесь: Паскаль. М. 1988 г

7. Научная библиотека http://edu.sernam.ru/book_p_math1.php?id=148

Математика > Дифференциальное и интегральное исчисления для втузов, т.1

8. Учебник по Delphi 7 для начинающих

http://soft.mydiv.net/win/download-chebnik-po-delphi-7-dlya-nachinayuschih.html

Приложение А

Скриншоты тестовых прогонов программы и состав курсовой (пофайлово).

kurs-pas-dinam-rows-artem-680264-020715.docx - текст записки

min_sq.dpr - основной файл проекта Дельфи

key_to_bin.dpr - вспомогательная утилита (запись чисел в файл типа real)

input.* - входные файлы

output.* - выходные данные

CRT32.pas - модуль CRT для Дельфи

*.mcd - расчеты в МатКаде.

*.xlsx - расчеты в Екселе.

Остальные вспомогательные файлы типа *.dof *.cfg - созданы системой Дельфи.

Приложение Б

Полный листинг программы.

program min_sq;

{$APPTYPE CONSOLE}

uses

SysUtils,Windows,Crt32;

const maxn = 1000;

const dencity =10; eps = 1e-12; ahead = 0.2;

type arraytype = array[1..maxn]of real;

realfile = file of real;

procedure parse(str:string;var s1,s2:string);

var j,i,i1,len:integer;

begin

s1:=''; s2:='';

len:=length(str);

if (len<3) then exit;

i:=2;

while (i<=len) and (str[i]<>' ') do

inc(i);

for j:=1 to i-1 do

if str[j]<>' ' then

s1:=s1+str[j];

i1:=i+1;

while (i1<=len) and (str[i1]<>' ') do

inc(i1);

for j:=i+1 to i1-1 do

if str[j]<>' ' then

s2:=s2+str[j];

end;

{{{{{{{{{{{{{{{{{{{{{{{{{{}

function load_bin_data(filename:string; var x,y:arraytype; var n:integer):integer;

var f:file of real;

i,code1,code2:integer;

xtmp,ytmp:real;

begin

{$I-}

assign(f,filename);

reset(f);

{$I+}

if (IOresult<>0) then begin

load_bin_data:=-1;

n:=0;

exit;

end;

i:=0;

while (not eof(f)) do begin

{$I-}

read(f,xtmp);

{$I+}

code1:=IOresult;

{$I-}

read(f,ytmp);

{$I+}

code2:=IOresult;

if (code1=0) and (code2=0)and (not((xtmp=0)and(ytmp=0))) then begin

inc(i);

x[i]:=xtmp;

y[i]:=ytmp;

end;

end;

close(f);

n:=i;

if (n=0) then

load_bin_data:=-2

else

load_bin_data:=0;

end;

{{{{{{{{{{{{{{{{{}

function load_txt_data(filename:string; var x,y:arraytype; var n:integer):integer;

var f:text;

i,code1,code2:integer;

xtmp,ytmp:real;

str,s1,s2:string;

begin

{$I-}

assign(f,filename);

reset(f);

{$I+}

if (IOresult<>0) then begin

load_txt_data:=-1;

n:=0;

exit;

end;

i:=0;

while (not eof(f)) do begin

readln(f,str);

parse(str,s1,s2);

val(s1,xtmp,code1);

val(s2,ytmp,code2);

if (code1=0) and (code2=0) and (not((xtmp=0)and(ytmp=0)))then begin

inc(i);

x[i]:=xtmp;

y[i]:=ytmp;

end;

end;

close(f);

n:=i;

if (n=0) then

load_txt_data:=-2

else

load_txt_data:=0;

end;

function log_min_sq(x,y:arraytype;n:integer;var a,b:real):integer;

var sx,sy,sx2,sxy,d,da,db:real;

i:integer;

begin

sx:=0; sy:=0;sxy:=0;sx2:=0;

for i:=1 to n do begin

if (x[i]<=0) then begin

log_min_sq:=-1;

exit;

end;

sx:=sx+ln(x[i]);

sy:=sy+y[i];

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

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

end;

d:=sx*sx-n*sx2;

if (d=0) then begin

log_min_sq:=-1;

exit;

end;

da:=sy*sx-n*sxy;

db:=sx*sxy-sy*sx2;

a:=da/d;

b:=db/d;

log_min_sq:=0;

end;

procedure found_minmax(x:arraytype;n:integer; var xmin,xmax:real);

var i:integer;

begin

xmin:=x[1];

xmax:=x[1];

for i:=2 to n do begin

if (x[i]>xmax) then xmax:=x[i];

if (x[i]<xmin) then xmin:=x[i];

end;

end;

{{{{{{{{{{{{{{{{{{{{{{{{{{}

procedure print(var f:text;a,b:real;x:arraytype;n:integer);

var xc,xmin,xmax,dx:real;

begin

{ writeln(f);}

textcolor(yellow);

write(f,'Min square method, Found y(x)=a*ln(x)+b, ');

textcolor(lightred);

writeln(f,' a = ',a:9:6,' , b = ',b:9:6);

textcolor(yellow);

Writeln(f,'It can be aproximeted function on the some X between Xmin and Xmax:');

textcolor(lightgreen);

found_minmax(x,n,xmin,xmax);

xc:=xmin;

dx:=abs(xmax-xmin)/dencity;

while (xc<=xmax+ahead*(xmax-xmin)+eps) do begin

writeln(f,' x = ',xc:6:3,' y = ',a*ln(xc)+b:6:3);

xc:=xc+dx;

end;

end;

{{{{{{{{{{{{{{{{{{{{{{{{{{}

procedure print_bin(var f:realfile;a,b:real;x:arraytype;n:integer);

var xc,xmin,xmax,dx,yc:real;

begin

write(f,a,b);

found_minmax(x,n,xmin,xmax);

xc:=xmin;

dx:=abs(xmax-xmin)/dencity;

while (xc<=xmax+eps) do begin

yc:=a*xc+b;

write(f,xc,yc);

xc:=xc+dx;

end;

end;

{{{{{{{{{{{{{{{{{{{{{{{{{{}

procedure print_results(a,b:real;x:arraytype;n:integer);

var ftxt,printer:text; fbin:realfile;

txtfname,binfname:string; key:char;

begin

print(output,a,b,x,n);

{$I-}

txtfname:='output.txt'; binfname:='output.bin';

assign(ftxt,txtfname); rewrite(ftxt);

{$I-}

if IOresult<>0 then begin

textcolor(lightred);

write('Write data into ', txtfname, ' fail.');

end;

print(ftxt,a,b,x,n);

close(ftxt);

textcolor(yellow);

write('Write data into ', txtfname, ' done.');

{{{{{{{{{{{}

{$I-}

assign(fbin,binfname); rewrite(fbin);

{$I-}

if IOresult<>0 then begin

textcolor(lightred);

write('Write data into ', binfname, ' fail.');

end;

print_bin(fbin,a,b,x,n);

close(fbin);

textcolor(yellow);

write('Write data into ', binfname, ' done.');

textcolor(lightcyan);

writeln;

write('Press any key to exit');

repeat until keypressed;

{key:=readkey;

if (key='p')or(key='P') then begin

{$I-}{

assign(printer,'prn');

rewrite(printer);

{$I+} {

print(printer,a,b,x,n);

close(printer);

end; }

end;

var result,n,i:integer;

x,y:arraytype;

a,b:real;

fname:string;

begin

textcolor(white);

fname := 'input.bin';

result := load_bin_data(fname,x,y,n);

if (result<>0) then begin

textcolor(lightred);

write('File ',fname,' not found or read error!');

fname := 'input.txt';

textcolor(yellow);

writeln(' Trying load file ',fname,' ~ ');

result := load_txt_data(fname,x,y,n);

if (result<>0) then begin

textcolor(lightred);

writeln('File ',fname,' not found or read error!');

repeat until keypressed;

exit;

end;

end;

textcolor(yellow);

writeln('Data load succesfull! Initial array :');

textcolor(lightblue);

for i:=1 to n do

writeln(' x = ',x[i]:6:3,' y = ',y[i]:6:3);

result := log_min_sq(x,y,n,a,b);

if (result<>0) then begin

writeln('Min square method is not applicable');

readln;

exit;

end;

print_results(a,b,x,n);

end.

Приложение С

Текст утилиты для записи бинарных файлов в формате real.

program key_to_bin;

{$APPTYPE CONSOLE}

uses

SysUtils;

var x,y:real;

f:file of real;

begin

x:=-1;

assign(f,'input.bin');

rewrite(f);

while (x<>0) do begin

write('x = ');readln(x);

write('y = ');readln(y);

write(f,x);

write(f,y);

end;

close(f);

end.

Пример работы утилиты:

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

...

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

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

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

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

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

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

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

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

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

  • Определение параметров линейной зависимости из графика. Метод парных точек. Метод наименьших квадратов. Блок-схема программного комплекса в Microsoft Visual Studio и Microsoft Excel. Инструкция пользователя, скриншоты. Общий вид программного кода.

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

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

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

  • Разработка алгоритма аппроксимации данных методом наименьших квадратов. Средства реализации, среда программирования Delphi. Физическая модель. Алгоритм решения. Графическое представление результатов. Коэффициенты полинома (обратный ход метода Гаусса).

    курсовая работа [473,6 K], добавлен 09.02.2015

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

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

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

    курсовая работа [340,4 K], добавлен 17.12.2014

  • Построение эмпирических формул методом наименьших квадратов. Линеаризация экспоненциальной зависимости. Элементы теории корреляции. Расчет аппроксимаций в табличном процессоре Excel. Описание программы на языке Turbo Pascal; анализ результатов ее работы.

    курсовая работа [390,2 K], добавлен 02.01.2015

  • Аппроксимация эмпирических данных линейной и квадратичной зависимостью. Теория корреляции: расчет коэффициентов детерминированности. Построение алгоритма и вычисление приближённых функций методом наименьших квадратов в среде программирования Turbo Pascal.

    курсовая работа [766,6 K], добавлен 26.12.2011

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

    лабораторная работа [32,4 K], добавлен 29.03.2015

  • Аппроксимация функции зависимости крутящего момента косозубого шестеренного пневмодвигателя К3М от числа оборотов вала в безразмерных величинах с помощью Microsoft Excel и PTC MathCad. Суть метода наименьших квадратов. Оценка точности аппроксимации.

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

  • Традиционные языки высокоуровневого программирования. Обзор методов интегрирования. Оценка апостериорной погрешности. Численное решение систем линейных уравнений. Аппроксимация функций методом наименьших квадратов. Решение дифференциальных уравнений.

    методичка [6,4 M], добавлен 23.09.2010

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

    методичка [611,8 K], добавлен 10.10.2010

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

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

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

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

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

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

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

    контрольная работа [1,0 M], добавлен 13.01.2013

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

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

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