Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 03.02.2011
Сообщений: 3
1

Решение системы диффуров

03.02.2011, 00:50. Показов 818. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток форумчане! Я не сильно опытный пользователь VB6, задача выполнения дипломного проекта именно в нем создала необходимость изучить его практически с нуля. В ходе выполнения диплома возникла необходимость написать прогу, решающую дифур неким методом Рунге-Кутта в VB и я написал, чему несказанно рад)) Но теперь возникла необходимость решить систему из 2х дифуров с 3мя неизвестными(желательно этим же методом), с чем как оказалось не так просто справиться! Может кто-то из людей, хоро сведующих в математике и в VB одновременно поможет мне в моем начинании? Буду крайне признателен!

вот текст моей проги, решающей дифур:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
Dim x() As Single 
Dim y() As Single 
Dim g() As Single 
Dim T() As Single 
Private n, i As Integer 
Private xk, x0, kx, ky As Single 
Private k, k1, k2, k3, k4 As Single 
Private h, max, min, y0 As Single 
 
Private shel As Single ' øèðèíà ùåëè êàìåðû 
Private Hsum As Single 'íàïðÿæåííîñòü ïîëÿ ñóììàðíàÿ 
Private aa, bb, hh As Single 'äëèíà øèðèíà âûñîòà íàêëàäêè 
Private dd As Single 'äèàìåòð äóãè 
Private Vk As Single 'ñêîðîñòü äâèæåíèÿ êîíòàêòîâ 
Private alpha, beta, epselo, gamma As Single 'êîýôôèöèåíòû, çàâèñÿùèå îò ìàòåðèàëà êîíò.íàêëàäêè 
Private tau As Single 'ïîñòîÿííàÿ âðåìåíè öåïè = L/R 
 
 
 
 
Private Function f(a, b As Single) As Single 
ta = 0.0005 '((alpha * (1 ^ epselo)) / ((Hsum ^ beta) * (Vk ^ gamma))) 
 
ld1 = ta * Vk 
ld3 = 3.14 * (Vk * a + hh) * 0.5 
ld2 = 3.14 * Vk * a * 0.5 
 
Vd = 0.0141 * (((Abs(b) * (Hsum ^ 2)) / ((1 + 0.1075 * (Hsum ^ 0.3)) ^ 2)) ^ (1 / 3)) 
Ed1 = (92 / Sqr(Abs(b)) + 0.312 * Sqr(Abs(b)) / (shel ^ 0.66666) + 0.15 * ((Vd ^ 2 * Abs(b) / (shel ^ 2)) ^ (1 / 3))) 
Ed2 = 9.2 * (Vd + 10) / Sqr(Abs(b)) 
If Option1.Value = True Then Ed = Ed2 
If Option2.Value = True Then Ed = Ed1 
ld = ld1 
'If Vd > 0 Then ld = 333 
Vda = Vd * a 
 
If a = ta Then ld12 = a 
If a > ta Then ld = ld2 
Text21.Text = ta 
Ud = 25 + Ed * ld 
 
MSFlexGrid1.TextMatrix(i + 2, 2) = Str(Ud) 
MSFlexGrid1.TextMatrix(i + 2, 4) = Str(ld) 
 
f = (2242 - Ud) * 400 / (2242 * tau) - b / tau 
 
 
End Function 
 
 
Private Sub Rynge_Kytt() 
ReDim g(n) 
Dim epe As Integer 
g(0) = y0 
For i = 0 To n 
x(i) = x0 + h * i 
Next i 
For i = 0 To n - 1 
k1 = h * f(x(i), g(i)) 
k2 = h * f(x(i) + h / 2, g(i) + k1 / 2) 
k3 = h * f(x(i) + h / 2, g(i) + k2 / 2) 
k4 = h * f(x(i) + h, g(i) + k3) 
k = (k1 + 2 * k2 + 2 * k3 + k4) / 6 
g(i + 1) = g(i) + k 
MSFlexGrid1.TextMatrix(i + 2, 1) = Str(g(i + 1)) 
MSFlexGrid1.TextMatrix(1, 1) = Str(g(0)) 
 
ep = Val(MSFlexGrid1.TextMatrix(i + 2, 2)) 
pe = Val(MSFlexGrid1.TextMatrix(i + 2, 1)) 
MSFlexGrid1.TextMatrix(i + 2, 3) = Str(Abs(ep * pe)) 
 
Next i 
End Sub
 
Private Sub Command1_Click() 
x0 = Val(Text1.Text) 
xk = Val(Text2.Text) 
h = Val(Text3.Text) 
y0 = Val(Text4.Text) 
n = (xk - x0) / h 
 
MSFlexGrid1.Rows = n + 2 
MSFlexGrid1.TextMatrix(0, 0) = "x" 
 
MSFlexGrid1.TextMatrix(0, 1) = "Ðóíãå-Êóòò" 
MSFlexGrid1.TextMatrix(0, 2) = "Ud" 
MSFlexGrid1.TextMatrix(0, 3) = "Wd" 
Label6.Caption = Str(x0) 
Label5.Caption = Str(xk) 
 
 
Rynge_Kytt 
 
 
max = y0 
min = y0 
For i = 0 To n 
If y(i) > max Then 
max = y(i) 
End If 
If y(i) < min Then 
min = y(i) 
End If 
If g(i) > max Then 
max = g(i) 
End If 
If g(i) < min Then 
min = g(i) 
End If 
If T(i) > max Then 
max = T(i) 
End If 
If T(i) < min Then 
min = T(i) 
End If 
ttt = g(i) 
If g(i) < 0 Then g(i) = 0 
 
Next i 
Label4.Caption = Str(max) 
Label7.Caption = Str(min) 
kx = (6600 - 960) / (xk - x0) 
ky = (5160 - 240) / (max - min) 
Picture1.Cls 
For i = 1 To n - 1 
 
 
X1 = 960 + Round(kx * (x(i - 1) - x0)) 
X2 = 960 + Round(kx * (x(i) - x0)) 
Y1 = 5160 - Round(ky * (g(i - 1) - min)) 
Y2 = 5160 - Round(ky * (g(i) - min)) 
Picture1.Line (X1, Y1)-(X2, Y2), RGB(400, 100, 500) 
Picture1.Print g(i) 
Picture1.Line (0, 0)-(0, y0 + 0.1 * y0) 
Picture1.PSet (0, 0) 
Picture1.Line (0, 0)-(xk, 0) 
Picture1.Print 1 
 
Next i 
End Sub
а вот 2 дифура, которые надо решитьв системе:


Давление в камере:
________
dP/dt = (Rг/V)∙{(10,2∙C∙W(t))/Cp) – 6469,53∙S∙P∙Ψ∙√2/(Rг∙T)∙[(ξ+1)∙T - ξ∙ T0]}

Температура газа в камере:
________
dT/dt = (Rг∙T)/(P∙V)∙ {(10,2∙C∙W(t))/Cv) – 6469,53∙S∙P∙Ψ∙√2/(Rг∙T)∙(T - T0)}

температура и давление по времени, в каждом уравнении присутствуют и то и другое, остальное-константы.


Заранее благодарен!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.02.2011, 00:50
Ответы с готовыми решениями:

Решение системы диффуров
\rho (\frac{\partial{\upsilon }_{r} }{\partial t} +{\upsilon }_{r}\frac{\partial{\upsilon }_{r}...

Решение системы диффуров методом Рунге-Кутта
#include &lt;stdio.h&gt; #include &lt;stdafx.h&gt; #include &lt;math.h&gt; #include &lt;iostream&gt; using namespace...

Интегрирование системы диффуров
Здравствуйте. Нужно решить систему в векторном виде,систему из 4 диф уравнений методом Рунге-Кутта...

Определение типа и решение диффуров
Помогите с решением диффуров или подскажите идею решения: y^{2}lny = y'^{2}+xyy' ...

5
6644 / 1511 / 169
Регистрация: 09.01.2010
Сообщений: 4,298
03.02.2011, 11:27 2
на счет начальных условий что нибудь есть
0
0 / 0 / 0
Регистрация: 03.02.2011
Сообщений: 3
03.02.2011, 11:31  [ТС] 3
Да, совсем забыл, прошу прощения.


P0 – начальное давление в камере; 1 атм;
T0 – начальная температура в камере; температура окружающей среды (40 ºC)
0
6644 / 1511 / 169
Регистрация: 09.01.2010
Сообщений: 4,298
03.02.2011, 11:38 4
еще бы по выбору шага и порядок метода
0
0 / 0 / 0
Регистрация: 03.02.2011
Сообщений: 3
03.02.2011, 11:46  [ТС] 5
Насчет выбора шага, он будет вводиться из textbox`a, а в присланном мной ранее коде присутствуют величины:

Visual Basic
1
2
3
4
5
Private Sub Command1_Click() 
x0 = Val(Text1.Text) 
xk = Val(Text2.Text) 
h = Val(Text3.Text) 
y0 = Val(Text4.Text)
х0-начало отсчета
хк-конец отсчета
y0-начальное условие
h-шаг

Порядок метода 4-й, просто все привыкли называть его Рунге-Кутта без всего).
0
6644 / 1511 / 169
Регистрация: 09.01.2010
Сообщений: 4,298
03.02.2011, 11:54 6
ну вот теперь все понятно
0
03.02.2011, 11:54
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.02.2011, 11:54
Помогаю со студенческими работами здесь

Интегрирование системы диффуров с управлением на интервалах
Есть система из 8 линейных дифференциальных уравнений с постоянными коэффициентами и...

Метод конечных разностей для системы диффуров в частных производных
Доброго времени суток, уважаемые форумчане. У меня возникла проблема при решении одной задачи....

Решение неоднородной системы, если известны собственные вектора и значения однородной системы
Можно ли решить неоднородной системы если известны собсвенные вектора и значения однородной системы?

Исследовать совместность и найти общее решение и одно частное решение системы уравнений.
Исследовать совместность и найти общее решение и одно частное решение системы уравнений. (3...

Найти фундаментальную систему решений однородной системы и выразить через нее общее решение этой системы
Найти фундаментальную систему решений однородной системы и выразить через нее общее решение этой...

Решение не было найдено. Решение системы уравнений
Подскажите пожалуйста, в чем ошибка. Вроде бы все перепроверила, задано все верно. Заметила, что у...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru