- •Сан на не. Он рвение одов во причем (нтации in, где е, что в сфере х реше- менные веские стемы, плани- ических
- •1. Основы алгоритмического
- •1.3.1. Построение концептуальной модели
- •1.3.2. Разработка алгоритма модели
- •Разработка программы
- •Проведение машинных экспериментов с моделью системы
- •1.6.1. Моделирование простого события
- •Метод обратной функции
- •Моделирование случайных величин с показательным распределением
- •1.8.4. Моделирование случайных величин с нормальным распределением
- •1.8.5. Моделирование случайных величин с усеченным нормальным распределением
- •1.8.6. Моделирование случайных величин с произвольным распределением
- •1.9.1. Повременное моделирование с постоянным шагом
- •1.9.2. Повременное моделирование с переменным шагом
- •1.9.3. Последовательная проводка заявок
- •1.9.4. Поэтапная последовательная проводка заявок
- •Поток заявок первого приоритета
- •Гн1.1 Гк1.1 Гк1.2 Гн1.3 Гк1.3 Гкон
- •2. Классификация математических моделей экономических систем
- •3. «Паутинообразная» модель фирмы
- •4.4. Пример решения задачи моделирования
- •5.5. Пример решения задачи моделирования
- •6.4. Пример решения задачи моделирования
- •7.4. Пример решения задачи моделирования
- •1.1. Таблица свойств
- •1.2. Процедуры обработки прерываний
- •2.1. Таблица свойств формы 2
- •1.1. Таблица свойств
- •1.1. Таблица свойств
- •1.1. Таблица свойств
- •1.2. Процедуры обработки прерываний
Объект
Свойства
Установки
Форма
Name
frmForm
1
Caption
Паутинообразная
модель
Метка 1
Name
lbllnputOat
Caption
Измените исходные
данные
и нажмите кнопку
<Расчет>
Командная кнопка
1
Name
cmdRashet
Caption
Расчет
Командная кнопка
2
Name
CmdGrafic
Caption
График
Enabled
False
Командная кнопка
3
Name
CmdExit
Caption
Выход1.1. Таблица свойств
1.2. Процедуры обработки прерываний
Private Sub cmdExit_Click()
End End Sub
Private Sub cmdGrafic_Click() Line(600,3500)-(6600,3500) Line(600,3500)-(600,1500) My=1000
XI = 600 : Y1 = 3500 - P(l) ♦ My Dx = 100
S = 0: For j = 1 To Tk: S = S + PO): Next Pep = S / Tk
' горизонтальная ось ' вертикальная ось ' масштаб по оси Y
' шаг по времени
177
CurrentX = 500: CurTentY = 1500: Print "P" CurrentX = 6500: CurrentY = 3500: Print "T CurrentX = 650: CurrentY = 3300 - Pep * My Print "Pep"
Xk = 600 + Tk * Dx: Yep = 3500 - Pep ♦ My Line (XI, Yep)-(Xk, Yep) For j = 1 To Tk - 1
X2 = XI + Dx: Y2 = 3500 - P(j) * My Line (XI, YI)-(X2, Y2) XI = X2: Yl = Y2 Next
cmdGrafic.Enabled = False- cmdRashet.Enabled = True End Sub
Private Sub cmdRashet_Click()
A = Val(Textl): В = VaI(Text2): С = Val(Text3) E = Val(Text4): Ro = Val(Text5): Su = Val(Text6) Cv = Val(Text7): Sw = Val(Text8) Mu = 0: Mv = 0: Mw = 0 Call Model 1
cmdRashet.Enabled = False: cmdGrafic.Enabled = True Cls End Sub
Private Sub Form_Load()
frmForm 1 .Show: Cls End Sub
2. Модуль общего назначения Modell
Public Const Tk = 60
Public P(Tk) As Single
Public T As Integer, i As Integer, j As Integer
Public А, В, С, E, Ro, Su, Sv, Sw, Mu, Mv, Mw, Et
Public Sub Model 1()
P(l) = (A - С) / (В + E) 'цена на первом временном отрезке
Р(2) = (А - С)/ В- Е / В * Р( 1) ' цена на втором временном отрезке For Т = 3 То Tk ' цикл временных участков
' генерирование трех возможных значений случайной величины ' с нормальным распределением :
For j = I То 3 'цикл временных участков
Et = 0
For i = 1 То 12
Et = Et + Rnd Next
If j = I Then Ut = Mu + (Et - 6) * Su If j = 2 Then Vt = Mv + (Et - 6) ♦ Sv If j = 3 Then Wt = Mw + (Et - 6) * Sw Next
DP = P(T — 1)- P(T- 2)
P(T) = (A-C-E*(P(T-1 )-Ro*DP) + Ut + Wt - Vt) / В If P(T) < 0 Then P(T) = 0 P(T- 2) = P(T - 1): P(T - 1) = P(T) Next End Sub
Приложение 2
Программа
модели бензоколонки
на языке Visual Basic 5.0
1. Стартовая форма frmForntl
Макет стартовой формы приведен на рис. 4.2, с. 75.
12*
179
Объект |
Свойства |
Установки |
Форма I |
Name |
frmForm 1 |
|
Caption |
Модель СМО с 1, 2 или 3 каналами |
Командная кнопка 1 |
Name |
Command 1 |
|
Caption |
Расчет |
Командная кнопка 2 |
Name |
Command2 |
|
Caption |
Расчет |
Командная кнопка 3 |
Name |
Command3 |
|
Caption |
Выход |
1.2. Процедуры обработки прерываний
Private Sub Commandl_Click()
Nkan = Val(txtNk): TZcp = Val(txtTzs): TObcp = Val(txtTobs) TWmax = Val(txtTwm): Nr = Val(txtNp) Call Model2 End Sub
Private Sub Command2_Click()
frmForm l.txtResult = "" End Sub
Private Sub Command3_Click()
End End Sub
2. Форма frmForm2
Ниже приведен макет формы 2.