- •8.1.1 Блок-схема………………………………………………………….…..24
- •1 Введение
- •2 Постановка задачи
- •3 Вывод системы дифференциальных уравнений.
- •4 Задание на курсовую работу
- •5.3 Методы численного интегрирования
- •5.3.1 Метод левых прямоугольников
- •5.3.2 Метод правых прямоугольников
- •5.3.3 Метод центральных прямоугольников
- •5.3.4 Метод трапеций
- •5.3.5 Метод Симпсона
- •6 Численная реализация решения системы дифференциальных уравнений
- •6.3.1 Блок-схема
- •6.3.2 Код программы
- •7.1 Реализация в пакете Excel
- •7.2 Реализация в программе MathCad. Метод наименьших квадратов
- •8 Численное интегрирование
- •8.1.1 Блок-схема
- •8.1.2 Код программы
- •8.2 Реализация в программе MathCad
- •9 Выводы
- •10 Список литературы
6.3.1 Блок-схема
Рисунок 6 - Блок-схема. Метод Эйлера 1-я модификация.
6.3.2 Код программы
#include <iostream.h>
#include <math.h>
int main(){
double R1=30,R2=25,R3=50,R4=1.88,R5=15,R6=60;
double oC=20E-6,oL=5.57E-3;
double a=(R4+(R1*R2)/(R1+R2)+(R5+R6)*R3/(R3+R5+R6));
double b=(R5+R6)/(R3+R5+R6);
double d=R2/(R1+R2);
double g=1/(R3+R5+R6);
double f=10,fi=7*3.14/5;
double w=2*3.14*f;
double t,T0=0,T1=0.01,T2=0.02;
double n=200,h=(T2-T0)/n ;
double E0=15;
double oI=0,oU=0,oI1,oU1,oI2,oU2,E;
for(t=0;t<=T2;t+=h)
{
if (t<T1) d=R2/(R1+R2);
else d=0;
E=E0+E0*sin(w*t+fi);
oI1=oI+h/2*(1/oL*(-oI*a-oU*b+E*d));
oU1=oU+h/2*(1/oC*(oI*b-oU*g));
oI2=oI+h*((1/oL*(-oI*a-oU*b+E*d))+(1/oL*(-oI1*a-oU1*b+E*d)));
oU2=oU+h*((1/oC*(oI*b-oU*g))+(1/oC*(oI1*b-oU1*g)));
oI=oI2;
oU=oU2;
cout<<"t="<<t<<"I="<<oI2<<"U="<<oU2<<endl;
}
cin>>b;
return 0;
}
Таблица 3.Результат работы в программе С++
Анализ результатов.
Численное решение системы дифференциальных уравнений в программах MathCad и C++ было реализовано с помощью метода Эйлера 1-й модификации. Численные результаты двух программ совпадают. Получены графики зависимости силы тока и напряжения от времени согласно системе уравнений и файл данных, содержащий дискретные зависимости силы тока и напряжения от времени на интервале .
7 Решение задачи аппроксимации зависимости I(t)
7.1 Реализация в пакете Excel
Таблица 4. Результаты работы программы Excel
i |
t |
I |
1 |
0 |
0 |
2 |
0,0001 |
0,003578 |
3 |
0,0002 |
0,005205 |
5 |
0,0004 |
0,005896 |
7 |
0,0006 |
0,005411 |
9 |
0,0008 |
0,004682 |
11 |
0,001 |
0,003959 |
13 |
0,0012 |
0,003306 |
15 |
0,0014 |
0,002729 |
17 |
0,0016 |
0,002223 |
19 |
0,0018 |
0,001783 |
21 |
0,002 |
0,001398 |
23 |
0,0022 |
0,001064 |
25 |
0,0024 |
0,0007745 |
27 |
0,0026 |
0,0005245 |
29 |
0,0028 |
0,0003102 |
31 |
0,003 |
0,000128 |
33 |
0,0032 |
-0,0002483 |
35 |
0,0034 |
-0,0001508 |
37 |
0,0036 |
-0,0002521 |
39 |
0,0038 |
-0,0003303 |
41 |
0,004 |
-0,000387 |
43 |
0,0042 |
-0,0004233 |
45 |
0,0044 |
-0,0004404 |
47 |
0,0046 |
-0,0004392 |
49 |
0,0048 |
-0,0004204 |
51 |
0,005 |
-0,0003847 |
Рисунок 7 - график зависимости I(t) и аппроксимирующая функция на первом участке
Рисунок 8 - график зависимости I(t) и аппроксимирующая функция на втором участке
Рисунок 9 - график зависимости I(t) и аппроксимирующая функция на третьем участке
Рисунок 10 - график зависимости I(t) и аппроксимирующая функция на трех участках
Анализ результатов
Решение задачи аппроксимации было проверено в MathCAD и в Microsoft Excel 2003. Точки для аппроксимации брались из пункта (MathCAD) . В среде MathCAD был реализован метод наименьших квадратов, при этом участок был разбит на три промежутка для получения более точной аппроксимирующей функции. В Excel аппроксимация проведена с помощью линий тренда.