Курсовая Создание программных продуктов для исследования реакции разложения пятиокиси азота N2O5
Работа добавлена на сайт bukvasha.net: 2015-10-25Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
от 25%
договор
Факультет
Кафедра Математического моделирования Физико-математическое отделение
и оптимизации химико-технологических
процессов Курс 1
Группа 295
Учебная дисциплина ИНФОРМАТИКА
Курсовая работа
Тема: Создание программных продуктов для исследования реакции разложения пятиокиси азота (N2O5)
Студент : Левина Марина
Руководитель : Андреева Валентина Петровна
Оценка за курсовую работу Подпись руководителя
28.05.2010
Факультет: физико-математическое отделение
Кафедра: Кафедра математического моделирования и оптимизации химико-технологических процессов
Учебная дисциплина: Информатика
Курс: 1
Задание на курсовую работу №1
Тема: Создание программных продуктов для исследоваиня реакции разложения пятиокиси азота (N2O5).
Реакция разложения пятиокиси азота происходит по уравнению:
N2O5 → N2O4 + ½ O2 ,
Время τ ,за которое температура реагирующей массы повышается от TH до TK приближенно можно найти по формуле:
Определить время τ, за которое температура реагирующей массы повышается от TH =320K до TK=380K с шагом h=5.
Значение параметров принять: А=12,455 ˑ 103 ; E=31,473 ; b=413K; TH=293K.
1. Разработать программынй продукт для определения времени τ.
· для одной температуры.
· для заданного интервала температур.
2. Для вычисления интеграла использовать метод Симпсона с заданной точностью ε. Вычисление интеграла оформить в виде процедуры Sub…End Sub. Вычисление подинтегральной функции оформать в виде функции. Результаты вычислений сохранить в файле для дальнейшего использования табличным процесором Ехсеl.
3. Используя Excel, по полученным результатам построить графическую зависимость τ от ТK.
4. Испльзуя пакет Mathcad, определить время τ для заданного интервала температур. Построить графическую зависимость τ от TK.
5. Провести сравнение и анализ полученных результатов.
В состав работы включить
a. Описание метода Симпсона.
b. Алгоритм процедуры для вычисления интеграла по методу Симпсона.
c. Программные продукты в среде VB, включая описание интерфейса.
d. Программные продукты в среде Mathcad и среде Excel.
e. Исходные данные и результаты вычислений, в том числе и полученные графики.
f. Выводы.
Содержание
Введение. 3
Глава1. Постановка задачи. 3
1.1Метод. 3
1.2 Блок-схема подсчета интеграла по методу Симпсона: 3
Глава 2.Реализация задачи. 3
2.1. Реализация в MathCad. 3
2.2. Реализация в MS Excel 3
2.3. Реализация в Visual Basic. 3
Выводы. 3
Список литературы: 3
Введение.
С развитием компьютерных технологий и совершенствованием программных продуктов расширяются возможности в расчетах в любых сферах приложения. Новые программные продукты позволяют быстро и эффективно ставить и решать задачу, а современная мощная вычислительная техника сводит время решения к минимуму.
Преимущества использования современных компьютеров очевидны: они позволяют увеличивать производительность труда,уменьшая затраты человеческих сил. Отнимающие время расчеты сводятся с помошью программ к наименьшим, влияние «человеческого фактора» также уменьшается.
Однако в работе с современным программными продуктами есть и свои сложности. Существует достаточно много компаний,разрабатывающих программное обеспечение для любой сферы:от промышненности до торговли и развлекательной сферы. И выбрать наиболее подходящие для работы,с понятным интерфейсом и необходимыми функциями,бывает довольно трудно.
В данной курсовой работе одна и та же задача была реализована с помощью 3 программ: Microsoft Excel, MaathCad, Visual Basic – различных по назначению,однако пригодных для рассчета изменения температуры реагирующей массы при разложении N2O5. Вычисление интеграла рассчитывается по методу Симпсона.
Глава1. Постановка задачи.
1.1Метод.
В данной работе для подсчета интеграла использована формула Симпсона (или формула парабол):
где:
Поскольку, величина определенного интеграла представляет собой площадь криволинейной трапеции, ограниченной кривой y=f(x), осью абсцисс и ординатами, восстановленными из концов интервала интегрирования.
Разобьем отрезок интегрирования [a,b] на n равных частей. Длина каждого: h=(b-a)/n. В точках разбиения xi=a+ih (i=0,1,2,…,n). Проведем ординаты y0,y1,…,yn до пересечения y=f(x).
Полученные таким образом элементарные части криволинейной трапеции можно представить различными геометрическими фигурами(прямоугольниками и т.п.) с целью вычисления площади данной трапеции. В зависимоcти от этого представления существуют различные формулы для приближенного вычисления величины определенного интеграла. Существуют 3 наиболее известные формулы: прямоугольников, трапеций и Симпсона(парабол). Последняя дает наибольшую точность вычисления при одинаковом числе участков разбиения. Точность вычисления повышается путем увеличения числа n. При вычислении определенного интеграла по формуле Симпсона часло участков обязательно должно быть четным (n=2m).
1.2 Блок-схема подсчета интеграла по методу Симпсона:
Глава 2.Реализация задачи.
2.1. Реализация в MathCad
Зададим в среде MathCad интеграл, в качестве пределов интегрирования задаим интервал температур Tn=320, Tk=360. Выведем на экран график зависимости времени от температуры.
рис.1
2.2. Реализация в MS Excel
(См. рис.2)Зададим колонку температур A, с шагом 5. Пусть C – колонка значений подинтегральной функции от соответствуюих температур. Колонки D и E- нечетные и четное числа,в пределах необходимого количества шагов(в данном случае 16).Последнее было установлено опытным путем при подборе числа шагов для достижения заданной степени точности в Visual Basic. В столбцах G и I считаем значение температур с нечетным и четным шагом,например: G3=320+D5*0,3125; I3=320+E3*0,3125.
шаг(h)=5(интервал)/16(количество шагов)=0,3125(величина одного отрезка внутри интервала)
В столбцах H и J считаем подинтегральную функцию от расположенной левее температуры,умножая на соответствующий коэффициент, например:
H1=4*(EXP(12455/G1-31,473)/(413-G1)); J1=2*EXP(12455/$I1-31,473)/(413-$I1).
Под сооответствующими столбцами считаем суммы,а в ячейке K1 считаем значение интеграла: h/3*(f(a)+4*S2h+1+ 2*S2h +f(b)). Начиная со второго промежутка,к значению интеграла за последние 5 градусов прибавляем предыдущее значение интеграла. Например: K11=(0,3125/3)*(C2+H19+J19+C3);K12=K11+K1. Полученные таким образом значения и построенный по ним график приведены на рис.3
рис.2
рис.3
2.3. Реализация в Visual Basic.
Форма имеет следующий вид(рис.4)
рис.4
Предусмотрен расчет для одной t и интервала температур с заданным шагом.
Код программы:
Dim h As Single, A As Single, b As Single, E As Single, Tn As Double, S1 As Single, S2 As Single, Tk As Double, n As Integer
Function f(Temp As Double) As Double
A = 12.455 * 10 ^ 3
b = 413
E = 31.473
f = Exp((A / Temp - E)) / (b - Temp)
End Function
Function Integr(Tn As Double, Tk As Double, n As Integer) As Double
Dim shag As Single
shag = (Tk - Tn) / n
Dim T1 As Double, T2 As Double, S1 As Double, S2 As Double
For T1 = Tn + shag To Tk - shag Step 2 * shag
S1 = S1 + 4 * f(T1)
Next T1
For T2 = Tn + 2 * shag To Tk - 2 * shag Step 2 * shag
S2 = S2 + 2 * f(T2)
Next T2
Integr = shag / 3 * (f(Tn) + S1 + S2 + f(Tk))
End Function
Private Sub Temp1_Click()
TkText.Enabled = False
TkLabel.Enabled = False
stepText.Enabled = False
StepLabel.Enabled = False
TkText.BackColor = vbGrayText
stepText.BackColor = vbGrayText
End Sub
Private Sub TempInterval_Click()
TkText.Enabled = True
TkLabel.Enabled = True
stepText.Enabled = True
StepLabel.Enabled = True
TkText.BackColor = vbWhite
stepText.BackColor = vbWhite
End Sub
Private Sub solve_click()
Tn = CDbl(TnText.Text)
If Temp1 = False Then
Tk = CDbl(TkText.Text)
h = CDbl(stepText.Text)Dim T As Double, n As Integer
Dim sum1, sum2 As Double
For T = Tn + h To Tk Step h
n = 2
sum1 = Integr(Tn, T, 1)
sum2 = Integr(Tn, T, n)
check: If Abs(sum1 - sum2) > 0.00001 Then
sum1 = sum2
n = n * 2
sum2 = Integr(Tn, T, n)
GoTo check
Else
s = Exp((12455 / Tn - 31.473)) / (413 - Tn)
Text1.Text = Text1.Text + "T=" + CStr(Tn) + "; S=" + CStr(s) + vbCrLf End If
Next T
End If
End Sub
Выводы.
В ходе данной работы была разработана программа подсчета времени в зависимости от температуры. Для вычисления интеграла был использован метод Симпсона как наиболее точный из известных. В средах MathCad и Excel для визуализации результата были построены графики. Результаты вычислений в Exсel и Visual Basic различаются в малой степени, т.к. подсчет суммы задан одинаково, а погрешность округления различна. Большая разница видна в MathCad, вероятно, это связано с тем, что подсчет происходит с меньшим шагом либо за счет другого метода.Поскольку MathCad использует метод Рунге-Кутта, а по данному заданию подразумевается использование метод Симпсона,некоторое различие в подсчете вполне объяснимо,однако сделать вывод о наибольшей точности преставляется проблематичным.
С другой стороны, задание функции и построение графика в MathCad требует меньше времени; интерфейс понятен и прост в освоении. Создание программы в Visual Basic трудоемко,но при последующий расчетах по этой формуле требуется лишь ввод границ интервала и шага,что очень удобно для пользователя с базовыми навыками работы с ПК.
Excel также позволяет выполнить задачу, однако с наибольшими временными затратами.
численные результаты работы:
В Excel:
320 | 18.47236 | 18,47236 | |
325 | 71.12452 | 71,12451961 | 71,1245492651446 |
330 | 112.83197 | 112,8319682 | 112,8320152724 |
335 | 137.81372 | 137,8137233 | 137,813781272248 |
340 | 153.09266 | 153,0926598 | 153,092723829698 |
345 | 162.63224 | 162,6322438 | 162,632312021314 |
350 | 168.71229 | 168,7122884 | 168,712359450492 |
355 | 172.66854 | 172,6685451 | 172,668617292284 |
360 | 175.29777 | 175,2977736 | 175,297846944034 |
365 | 177.08362 | 177,083619 | 177,083693247269 |
370 | 178.32478 | 178,3247784 | 178,324853211617 |
375 | 179.20897 | 179,2089752 | 179,209050492171 |
380 | 179.8564 | 179,8563991 | 179,856474808485 |
Список литературы:
1.Методическое пособие «Программные продукты в среде Microsoft Visual Basic»
2.http://www.waste.ru/modules/section/item.php?itemid=63 – статья о современном программном обеспечении в области химии и экологии.
3.Wikipedia.org – статьи о методе Симпсона, методе Рунге-Кутта.