Федеральноеагентство по образованию
Федеральноегосударственное образовательное учреждение
Высшегопрофессионального образования
«СИБИРСКИЙФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ»
Институткосмических и информационных технологий
Кафедрасистемы искусственного интеллекта
КУРСОВАЯРАБОТА
Тема: ОПРЕДЕЛЕНИЕМОЛЬНОЙ ТЕПЛОЕМКОСТИ МЕТОДОМ ИНТЕРПОЛЯЦИИ
Красноярск,2009
Содержание
1. Цели и задачикурсовой работы
2. Теоретическиеосновы курсовой работы
3. Массив исходныхданных
4. Математическиемодели, применяемые для расчетов
5. Результатырасчетов, представляющиеся в виде таблиц и графиков
6. Текст программы
Вывод
Список литературы
1. Цели и задачи курсовойработы
Цель курсовой работы: закрепление навыков работы с языкомвысокого уровня Си, умение писать на этом языке программы решения техническихзадач (определение мольной теплоемкости кислорода, c помощью метода интерполяции).
Задача: определениеприблизительных значений теплоемкости при температурах от 0 0 С до1500 0С с шагом Dt=10 0 C, методами интерполяции, позволяющими узнать приблизительныезначения функции в промежуточных точках.
2. Теоретические основыкурсовой работы
Результаты экспериментов зачастую представляют собой таблицуследующего вида:X
/>
/> …
/>
/>
/>
/> …
/>
где Х — это может быть, например, время, а f(X)скорость или, как в нашем примере Х – это температура, а f(X) этотеплоемкость.
Из этой таблицы, например, известны значения функции f(X) вточках х0 и х1, но мы ничего не знаем о еезначении, например, в точке />,однако, существуют методы, позволяющие узнать приблизительные значения функциив промежуточных точках. К таким методам относятся методы интерполяции.
Определение 1: Интерполяцией называется отысканиеприближенной функции F(X), такой что F(xi)=f(xi), где i=0,1…n, a f(xi)известные значения функции F(X) на отрезке[x0, xn]. Точки, в которыхF(xi)=f(xi) называютсяузлами интерполяции.
Определение 2: Если найденная интерполяционная функция F(X) для отрезка [x0, xn] имеет область определения вне этогоотрезка, тогда она будет называться экстраполяцией функции f(x).
Одним из методов интерполяции является метод Интерполяциистепенным многочленом
Будем искать интерполяционную функцию F(X) ввиде многочлена степени n:
/>(*)
Многочлен Pn(x) имеет n+1 коэффициент, следовательно, n+1 условие, наложенное на многочлен однозначно определит егокоэффициенты, которые могут быть получены их условия:
/>
или
/>
Разрешив эту систему относительно ai (i=0,1…,n), получим аналитическое выражение дляполинома (*).
3. Массив исходных данных
Опытным путем найдены данные истинной мольной теплоемкостикислорода m ср при постоянном давлении P=const, при температуре t=0 0 C, t=500 0 C, и t=1000 0C, представленные таблицей 1.
Таблица 1.№ варианта
/>
/>
/> 1 29.2741 33.5488 35.9144 2 29.2801 33.5501 35.9201 3 29.2729 33.5493 35.9167 4 29.30 33.5479 35.9251 5 29.2752 33.5485 35.9109 6 29.2748 33.5397 35.8999 7 29.2752 33.5501 35.9123 8 29.2744 33.5486 35.9128 9 29.2699 33.5484 35.9251 10 29.2742 33.5481 35.9109 11 29.2753 33.5399 35.9201 12 29.2748 33.5501 35.9167 13 29.2801 33.5493 35.9144 14 29.2729 33.5479 35.9201 15 29.2744 33.5485 35.9123 16 29.2699 33.5493 35.9128 17 29.2742 33.5479 35.9251 18 29.2753 33.5485 35.9109 19 29.2748 33.5397 35.9128 20 29.2752 33.5501 35.9251 21 29.2744 33.5486 35.9201 22 29.2741 33.5484 35.9167 23 29.2801 33.5481 35.9144 24 29.2753 33.5486 35.9201
мольный теплоемкость интерполяция программа
В нашем случае рассматриваются данные варианта №5.
№ варианта
/>
/>
/> 5 29.2752 33.5485 35.9109
4. Математические модели, применяемые для расчетов
Интерполяционный многочлен m ср=f(t0), будет иметь следующий вид:
/>,
на основе него составляется система линейных уравнений,разрешив которую относительно коэффициентов a, b, d, получим интерполяционную функцию. Составимдля этих данных интерполяционные уравнения:
1. />/>
2. /> />
3. /> />
4. /> />
/> />
/>
/> />
5./>
/>/>
y=29,2752+0,0104575*t-0,0000038218*t2
5. Результаты расчетовt°,C
m ср t°,C
m ср 0 29.2752 400 32.8467 10 29.3794 410 32.9203 20 29.4828 420 32.9932 30 29.5855 430 33.0653 40 29.6874 440 33.1366 50 29.7885 450 33.2072 60 29.8889 460 33.2770 70 29.9885 470 33.3460 80 30.0873 480 33.4143 90 30.1854 490 33.4818 100 30.2827 500 33.5485 110 30.3793 510 33.6145 120 30.4551 520 33.6797 130 30.5701 530 33.7441 140 30.6643 540 33.8078 150 30.7578 550 33.8707 160 30.8506 560 33.9329 170 30.9425 570 33.9943 180 31.0337 580 34.0549 190 31.1242 590 33.1148 200 31.2138 600 34.1739 210 31.3027 610 34.2322 220 31.3909 620 34.2897 230 31.4783 630 34.3466 240 31.5649 640 34.4026 250 31.6507 650 34.4579 260 31.7358 660 34.5124 270 31.8201 670 34.5661 280 31.9037 680 34.6191 290 31.9865 690 34.6713 300 32.0685 700 34.7228 310 32.1497 710 34.7735 320 32.2302 720 34.8234 330 32.3100 730 34.8725 340 32.3890 740 34.9209 t°,C
m ср t°,C
m ср 750 34.9686 1150 36.2470 760 35.0154 1160 36.2633 770 35.0615 1170 36.2788 780 35.1069 1180 36.2936 790 35.1514 1190 36.3076 800 35.1952 1200 36.3208 810 35.2383 1210 36.3333 820 35.2806 1220 36.3450 830 35.3221 1230 36.3559 840 35.3628 1240 36.3661 850 35.4028 1250 36.3755 860 35.4420 1260 36.3842 870 35.4805 1270 36.3920 880 35.5185 1280 36.3992 890 35.5551 1290 36.4055 900 35.5913 1300 36.4111 910 35.6267 1310 36.4159 920 35.6613 1320 36.4200 930 35.6952 1330 36.4233 940 35.7283 1340 36.4258 950 35.7607 1350 36.4276 960 35.7922 1360 36.4286 970 35.8230 1370 36.4288 980 35.8531 1380 36.4283 990 35.8824 1390 36.4270 1000 35.9109 1400 36.4250 1010 35.9387 1410 36.4222 1020 35.9656 1420 36.4186 1030 35.9919 1430 36.4142 1040 36.0173 1440 36.4091 1050 36.0420 1450 36.4032 1060 36.0660 1460 36.3966 1070 36.0891 1470 36.3892 1080 36.1116 1480 36.3810 1090 36.1332 1490 36.3721 1100 36.1541 1500 36.3624 1110 36.1742 1120 36.1935 1130 36.2121 1140 36.2299
График:
/>
6. Текст программы
#include
#include
#include
float andrey (float c1, float c2,float m);
void main()
{clrscr();
float p1,p2,b,d;
int t1=500,i;
floatk1=29.2752,k2=33.5485,k3=35.9109;
p1=(k2-k1)/t1;
p2=(k3-k1)/(2*t1);
d=-(p1-p2)/t1;
b=p1-t1*d;
printf ("\n b=%f",b);
printf ("\n d=%f",d);
andrey (b,d,k1);}
float andrey (float c1,float c2,floatm)
{clrscr();
float t[1000];
float y[1000];
int h=10,i;
for (t[0]=0,i=0;i
{t[i]=t[0]+i*h;
y[i]=m+c1*t[i]+c2*t[i]*t[i];
printf ("\n t[%i]=%7.2fy[%i]=%7.2f",i,t[i],i,y[i]);}
getch();}
Вывод
Данные истинной мольной теплоемкости кислорода m ср, найденные опытным путем припостоянном давлении P=const, при температуре t=0 0 C, t=500 0 C, и t=1000 0C, совпали с m ср, найденные мной с помощью языка Си. Значит, методинтерполяции сработал.
Список литературы:
1. Паппас Крис Мюрей. Программированиена языке С++:-К.: Издательская группа BHV, 2000. — 320с.
2. Крячков А.В., Сухинина И.В., ТомшинВ.К. Программирование на С и С++. Практикум: Учеб. пособие для вузов/ КрячковА.В., Сухинина И.В., Томшин В.К.: Под ред. Томшина – 2-е изд. испр. – М.:Горячая линия – Телеком. 2000 – 344 с.: ил.
3. Подбельский В.В., Фомин С.С.Программирование на языке Си: Учеб. пособие – 2-е доп. изд. – М.: Финансы истатистика, 2000 – 600 с.: ил.
4. Гутер Р.С., Овчинский Б.В. Элементычисленного анализа и математической обработки результатов опыта. – 2-е изд.,перераб. – М.: Наука, 1970, 432 с.
5. Волков Е.А. Численные методы. – 2-еизд. испр. – М.: Наука, 1987, 248 с.
6. Мудров А.Е. Численные методы для ПЭВМна языках Бейсик, Фортран и Паскаль – Томск: «РАСКО», 1991, — 272 с.:ил.
7. Плис А.И., Сливина Н.А. Лабораторныйпрактикум по высшей математике.: Учеб. пособ. для втузов… – 2-е изд.,перераб. и доп. – М.: Высш. шк., 1994. – 416 с.