Автор работы: Пользователь скрыл имя, 23 Марта 2011 в 18:01, курсовая работа
В данной курсовой работе одна и та же задача была реализована с помощью 3 программ: Microsoft Excel, MaathCad, Visual Basic – различных по назначению,однако пригодных для рассчета изменения температуры реагирующей массы при разложении N2O5. Вычисление интеграла рассчитывается по методу Симпсона.
Введение. 5
Глава1. Постановка задачи. 6
1.1Метод. 6
1.2 Блок-схема подсчета интеграла по методу Симпсона: 7
Глава 2.Реализация задачи. 8
2.1. Реализация в MathCad 8
2.2. Реализация в MS Excel 8
2.3. Реализация в Visual Basic. 10
Выводы. 10
Список литературы: 13
Кафедра Математического моделирования Физико-математическое отделение
и оптимизации химико-технологических
процессов
Учебная дисциплина ИНФОРМАТИКА
Курсовая работа
Тема: Создание
программных продуктов для
Студент :
Левина Марина
Руководитель :
Андреева Валентина Петровна
Оценка за курсовую
работу
Факультет: физико-математическое отделение
Кафедра: Кафедра
математического моделирования
и оптимизации химико-
Учебная дисциплина: Информатика
Курс: 1
Задание на курсовую работу №1
Тема: Создание
программных продуктов для
Реакция разложения пятиокиси азота происходит по уравнению:
N2O5 → N2O4 + ½ O2 ,
Время τ ,за которое
температура реагирующей массы
повышается от TH до TK приближенно
можно найти по формуле:
Определить время
τ, за которое температура
Значение параметров принять: А=12,455 ˑ 103 ; E=31,473 ; b=413K; TH=293K.
В состав работы включить
Содержание
Введение. 5
Глава1. Постановка задачи. 6
1.1Метод. 6
1.2 Блок-схема подсчета интеграла по методу Симпсона: 7
Глава 2.Реализация задачи. 8
2.1. Реализация в MathCad 8
2.2. Реализация в MS Excel 8
2.3. Реализация в Visual Basic. 10
Выводы. 10
Список
литературы: 13
С развитием компьютерных технологий и совершенствованием программных продуктов расширяются возможности в расчетах в любых сферах приложения. Новые программные продукты позволяют быстро и эффективно ставить и решать задачу, а современная мощная вычислительная техника сводит время решения к минимуму.
Преимущества
использования современных
Однако в работе с современным программными продуктами есть и свои сложности. Существует достаточно много компаний,разрабатывающих программное обеспечение для любой сферы:от промышненности до торговли и развлекательной сферы. И выбрать наиболее подходящие для работы,с понятным интерфейсом и необходимыми функциями,бывает довольно трудно.
В данной курсовой
работе одна и та же задача была реализована
с помощью 3 программ: Microsoft Excel, MaathCad,
Visual Basic – различных по назначению,однако
пригодных для рассчета изменения температуры
реагирующей массы при разложении N2O5.
Вычисление интеграла рассчитывается
по методу Симпсона.
В данной работе для подсчета интеграла использована формула Симпсона (или формула парабол):
где:
Поскольку, величина
определенного интеграла
Разобьем отрезок интегрирования [a,b] на n равных частей. Длина каждого: h=(b-a)/n. В точках разбиения xi=a+ih (i=0,1,2,…,n). Проведем ординаты y0,y1,…,yn до пересечения y=f(x).
Полученные таким
образом элементарные части криволинейной
трапеции можно представить различными
геометрическими фигурами(
Зададим в среде MathCad интеграл, в качестве пределов интегрирования задаим интервал температур Tn=320, Tk=360. Выведем на экран график зависимости времени от температуры.
рис.1
(См. рис.2)Зададим колонку температур A, с шагом 5. Пусть C – колонка значений подинтегральной функции от соответствуюих температур. Колонки D и E- нечетные и четное числа,в пределах необходимого количества шагов(в данном случае 16).Последнее было установлено опытным путем при подборе числа шагов для достижения заданной степени точности в Visual Basic. В столбцах G и I считаем значение температур с нечетным и четным шагом,например: G3=320+D5*0,3125; I3=320+E3*0,3125.
шаг(h)=5(интервал)/16(
В столбцах H и J считаем подинтегральную функцию от расположенной левее температуры,умножая на соответствующий коэффициент, например:
H1=4*(EXP(12455/G1-31,473)/(
Под сооответствующими
столбцами считаем суммы,а в
ячейке K1 считаем значение интеграла:
h/3*(f(a)+4*S2h+1+ 2*S2h
+f(b)). Начиная со второго промежутка,к
значению интеграла за последние 5 градусов
прибавляем предыдущее значение интеграла.
Например: K11=(0,3125/3)*(C2+H19+J19+C3)
рис.2
рис.3
Форма имеет следующий вид(рис.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 использует метод Рунге-Кутта, а по данному заданию подразумевается использование метод Симпсона,некоторое различие в подсчете вполне объяснимо,однако сделать вывод о наибольшей точности преставляется проблематичным.