Курсовая работа (т): Кореляційний аналіз

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

2.7 Зворотна інтерполяція

1)Нам відомо залежна змінна Ср=0,980 , а незалежну змінну Т=х треба знайти. Цю задачу можемо розв¢язати методом зворотної інтерполяцї. Припустимо, що y - незалежна змінна, а х вважати функцією. Тоді можемо скористатися формулою Лагранжа, а саме прикладною програмою LAGRANG.EXE. Тоді X=Cp, Y=T. Будемо використовувати многочлен n=1, тоді кількість крапок повинна бути 2.

Обираємо дві точки між якими лежить заданий х:=0,973 X1=0,988=500 Y1=550

Введемо їх у програму, також введемо заданий х=Ср=0,980 та отримаємо такий результат T¢=Y¢=523,3334, де Т=523,3334К.

Перейдемо до моногочлена n=2, тоді потрібна кількість крапок буде дорівнювати 3. Обираємо три точки між якими лежить заданий х:=0,973 X1=0,988 X2=1,004=500 Y1=550 Y2=600

Введемо їх у програму, також введемо заданий х=Ср=0,980 та отримаємо такий результат T¢¢=Y¢¢=523,7098, де Т=523,7098К.

Так як похибка h<5%, то при Ср=0,980 кДж/(кг×К) Т=523,3334, тобто многочлен n=1 підходить для описання експериментальних даних на деяком відрізкі. Якщо порівнювати результати отримані при використанні многочлена n=1 і многочлена n=2, то грунтуючись на минулому досвіді (дивись виводи попереднього прикладу) можна сказати, що многочлен n=1 краще нам підходить для знаходження залежної змінної ніж многочлен n=2.

) Аналогічно розраховуємо для 108×m=3500, а T=x=? Припустимо, що y - незалежна змінна, а х вважати функцією. Тоді можемо скористатися формулою Лагранжа, а саме прикладною програмою LAGRANG.EXE. Тоді 108×m=X; T=Y. Будемо використовувати многочлен n=1, тоді кількість крапок повинна бути 2.

Обираємо дві точки між якими лежить заданий х:=3414 X1=3603=600 Y1=650

Введемо їх у програму, також введемо заданий х=108×m=3500 та отримаємо такий результат T¢=Y¢=622,75163, де Т=622,7513К.

Перейдемо до моногочлена n=2, тоді потрібна кількість крапок буде дорівнювати 3. Обираємо три точки між якими лежить заданий х:=3414 X1=3603 X2=3217=600 Y1=650 Y2=550

Введемо їх у програму, також введемо заданий х=108×m=3500 та отримаємо такий результат T¢¢=Y¢¢=622,5048, де Т=622,5048К.

Так ак похибка h<5%, то Т=622,7513К, тобто многочлен n=1 підходить для описання експериментальних даних на деяком відрізкі. Якщо порівнювати результати отримані при використанні многочлена n=1 і многочлена n=2, то грунтуючись на минулому досвіді (дивись виводи попереднього прикладу) можна сказати, що многочлен n=1 краще нам підходить для знаходження залежної змінної ніж многочлен n=2.

Висновок

При виконанні першої частини курсової роботи з заданих експериментальних даних, був проведений кореляційний аналіз і встановлена наявність лінійного зв¢язку між експериментальними даними(1). Коефіцієнт кореляції rxy=-0.97 є значимим і гіпотеза про наявність лінійного зв¢язку х та у прийнята з рівнем довірчості 0,99. Досліджена наявність лінійного зв¢язку між випадковими фізичними величинами (експериментальні дані 2). Коефіцієнт кореляції r=0.8745 значущій, тому що Н=2,31, також провели додаткові розрахунки де враховували незалежну зміну та випадкові велечини, ці додаткові розрахунки підтверджують кореляційний звязок між двома випадковими фізичними властивостями в¢язкістю і теплоємністю, отже існує сильна лінійна залежність. Виконаний лінійно регресивний аналіз і визначені коефіцієнти регресії з оцінкою значимості коефіцієнтів і довірчих інтервалів. Визначені адекватності отриманих моделей. Були отримані дві адекватні і дві неадекватні. Підібрали емпіричну формулу за допомогою методу вирівнювання (3437.ХТ03125.ГЧ001) видно, що застосування залежності (1) доводить можливість опису експериментальних даних. Визначено параметри емпіричної формули за допомогою методу обраних точок і оцінена точність формули дорівнює 0,0678. За допомогою методу середніх отримана оцінка точності формули, сума квадратів відхилень дорівнює 0,05611. Сума квадратів відхилень знайдених за допомогою методу найменших квадратів дорівнює 0,05525. Порівнюючи результати, отримані при застосуванні трьох методів: обраних точок, середніх і найменших квадратів, найбільш точним, є метод найменших квадратів, тому що квадрат відхилень мінімальний.

При виконанні другої частини курсової роботи з експериментальними даними (2), використовуючи метод параболічної інтерполяції, визначимо необхідний ступінь полінома, його коефіцієнти і значеня параметрів у зазначених невузлових точках. Ступінь поліному дорівнює одиниці.

Аналогічні розрахунки виконали за допомогою методу Лагранжа.

Виявили, що результат в методі параболічної інтерполяції з використанням поліному першого ступеню і результати в методі Лагранжу з використанням многочлена n=1 практично однакові, (дивись Табл. 2.12), а в методі Лагранжу з використанням многочлена n=7 є вже деякі відхилення від метода параболічної інтерполяції. За заданим значенням функції визначила відповідне значення аргументу, використовуючи метод зворотної інтерполяції.

квадрат лагранж коефіцієнт кореляція

Література


1. Вычислительная математика в химии и химической технологии / С.В.Брановицкая, Р.Б.Медведев, Ю.Я.Фиалков. - Киев: Вища школа. Головне изд-во, 1986. - 216 с.

2. Вычислительная техника в инженерных и экономических расчетах / А.В.Крушевский, А.В.Беликов, В.Д.Тищенко - Киев: Вища школа. Головне изд-во, 1985. - 290 с.

3. Математическая обработка результатов эксперимента / Л.З.Румшинский М.: Наука, 1971. - 192 с.

4. Романенко В.Н., Орлов А.Г., Никитина Г.В. Книга для начинающего исследователя-химика. - Л.: Химия, 1987. - 280 с.

Додатки

Опис роботи прикладних програм.

1)      Програма MNK.EXE (блок-схема представлена в 3437.ХТ03125.ГЧ005) являє собою програму, призначену для обчислення суми експериментальних X та Y, а також коефіцієнтів рівняння регресії a і b. У ході програми потрібно ввести n-кількість експериментальних крапок, потім умовно уводяться відповідно значення X і Y. У результаті програма обчислює суми: , , , ,  і коефіцієнти регресії a та b.

)        Програма GZ1.EXE служит для рішення системи лінійних рівнянь. У ході роботи програми потрібно задати кількість рівнянь у системі, значення перемінних n і вільний член цих рівнянь. Корень рівняння зберігаються у виді текстового файлу.

)        Програма LAGRANG.EXE (блок-схема представлена в 3436.ХТ03125.ГЧ006) призначена для обчислення величини В(Х) у невузлових точках. У ході програми потрібно попарно ввести n-кількість вузлових точок, потім попарно ввести значення X і Y у вузлових точок і X для якого необхідно обчислити величину Y. У результаті ЕОМ видає значення величини Y=B(X) у невузловій точці.

)        Програма власної розробки (використовується блок-схема МНК див. 3437.ХТ03125.ГЧ005, лише в блоці відповідаючому за розрахунок коефіцієнтів регресії а і b додається ще одна формула для розрахунку коефіцієнта кореляції ) для розрахунку сум експериментальних Х і Y, їх квадратів, множень, коефіцієнтів рівняння регресії а і b, а також коефіцієнта кореляції. В ході програми необхідно ввести n-експериментальних кропок, пізніше вводят відповідні значення Х і Y . В результаті програми обчислюються суми: , , , , , коефіцієнти а і b і коефіцієнт кореляції rxy для незалежної і залежної зміної.

#include<stdio.h>

#include<conio.h>

#include<math.h>main(void)

{x[100], y[100], Sx=0, Sy=0, Sx2=0, Sy2=0, Sxy=0, a, b, r; int n, i=0;();(“\n введіть кількість єкспериментальних крапок\n n=”); scanf(“%i”, &n);(“Попарно введіть значення х та у”);(i=0;i<n;i=i+1)

{ printf(“\n x[%i”, i); printf (“]=”); scanf(“%f”, &x[i]);(“\t y[i”, i); printf (“]=”); scanf(“%f”, &y[i]);=Sx+x[i]; Sy=Sy+y[i];=Sx2+pow(x[i],2); Sy2=Sy2+pow(y[i],2);=Sxy+x[i]*y[i]; }=(n* Sxy - Sx *Sy)/(n*Sx2-pow(Sx,2));=(Sy-b*Sx)/n;=(n* Sxy - Sx *Sy)/ pow((n*Sx2-pow(Sx,2))* (n*Sy2-pow(Sy,2)),0.5);(“\n Sx=%f, Sy=%f, Sx2=%f, Sy2=%f, Sxy=%f, a=%f, b=%f, r=%f”,, Sy, Sx2, Sy2, Sxy, a, b, r);();

}

5) Програма власної розробки, при запуску якої вводимо коефіцієнти регресії перетвореного рівняння до лінійного виду a та b,кількість експериментальних точок n, перетворені значення х та у

Призначена для розрахунку розрахункових - fx[i] по рівнянню лінійного виду, іх квадратів відхилень p[i] та сума квадратів відхилень z, також вона розраховує дисперсію адекватності Sad2, дисперсії Sb2,Sa2, та суми х, у, х2.

#include <stdio.h>

#include <math.h>

#include <conio.h>

f (float x,float a,float b)

{(a+b*x);

}main(void)

{a,b,y[15],x[15],p[15],fx[15],z=0,Sad2,Sx=0,Sy=0,Sx2=0,Sb2,Sa2; int i,n;();("Введіть коефіцієнти регресії a та b");("\n a="); scanf ("%f", &a);(" b="); scanf ("%f", &b);("\n Введіть кількість експериментальних точок \n n="); scanf ("%i", &n);("Введіть попарно преобразовані значення х та у ");

(i=0; i<n; i++)

{("\n x[%i", i); printf("]="); scanf("%f", &x[i]);("\t y[%i", i); printf("]="); scanf("%f", &y[i]);[i]=f(x[i],a,b); p[i]=pow(y[i]-fx[i],2); z=z+p[i]; Sx=Sx+x[i]; Sy=Sy+y[i];=Sx2+pow(x[i],2);

}=z/(n-2); Sb2=n*Sad2/(n*Sx2-pow(Sx,2)); Sa2=Sb2*Sx2/n;("розрахункові значення f(x) і квадрат відхилення \n");(i=0;i<n;i++)

{printf ("\n fx[%i]=%f,\t p[%i]=%f", i,fx[i],i,p[i]);}("\n квадрат суми відхилень z=%f,\n Sad=%f,\n Sx=%f,\n Sy=%f,\n Sx2=%f,\n Sb2=%f,\n Sa2=%f", z,Sad2,Sx,Sy,Sx2,Sb2,Sa2);();

}

Источник: https://www.bibliofond.ru/detail.aspx?id=732090