Решение задачи для шести видов энергоресурсов средствами Excel

Виды энергоресурсов и значения параметров Ni(o) Ki Bi
Дерево     0,1 0,017
Уголь     0,2 0,009
Нефть     0,5 0,009
Газ     0,6 0,0009
Ядерное топливо   0,1 0,04
Термоядерное топливо   0,1 0,291 7
Таблица значений параметров (Aij)*
  Дерево Уголь Нефть Газ ЯТ ТЯT
Дерево 0,01 0,002 0,002 0,001 0,001
Уголь -0,01 0,012 0,004 0,01 0,001
Нефть -0,002 -0,012 0,01 0,001 0,001
Газ -0,002 -0,004 -0,01 0,005 0,001
ЯТ -0,001 -0,01 -0,001 -0,005 0,001
ТЯТ -0,001 -0,01 -0,001 -0,001 -0,001
                   

Численное решение системы логистических уравнений

Шаг решения 0,01

Ось времени Дерево Уголь Нефть Газ ЯТ ТЯТ
0,01 99,94 200,08 300,62 3521,11 80,72 12,16
0,02 99,87 200,17 301,24 3542,35 81,44 12,32
0,03 99,80 200,25 301,85 3563,72 82,18 12,48
0,04 99,74 200,33 302,46 3585,21 82,93 12,65
0,05 99,67 200,41 303,07 3606,84 83,68 12,82
0,06 99,60 200,48 303,67 3628,59 84,45 12,99
0,07 99,53 200,55 304,26 3650,48 85,23 13,17
0,08 99,46 200,63 304,85 3672,50 86,02 13,35
0,09 99,39 200,70 305,44 3694,65 86,82 13,53
0,1 99,32 200,76 306,02 3716,94 87,63 13,72
0,11 99,25 200,83 306,60 3739,36 88,45 13,91
0,12 99,17 200,89 307,17 3761,92 89,29 14,10

 

0,13 99,10 200,96 307,73 3784,61 90,13 14,30
0,14 99,03 201,02 308,29 3807,44 90,99 14,50
0,15 98,95 201,08 308,85 3830,40 91,86 14,71
0,16 98,88 201,13 309,39 3853,51 92,75 14,92
0,17 98,80 201,19 309,94 3876,75 93,65 15,13
0,18 98,72 201,24 310,48 3900,14 94,55 15,35
0,19 98,64 201,29 311,01 3923,66 95,48 15,57
0,2 98,56 201,34 311,54 3947,33 96,41 15,80

Указание к решению задачи возможностями технологии Excel

 

Занесите рабочие формулы в ячейки электронной таблицы

[В22] =Е5 [С22] =Е6 [D22] =Е7

[Е22] =Е8 [F22] =Е9 [G22] =Е10

 

[B23]'=B22+(B22*($F$5+$G$5*MУMHOЖ>K(B22:G22;$B$13:$B$18)))*$B$20 [C23]'=C22+(C22*($F$6+$G$6*MУMHOЖ>K(B22:G22;$C$13:$С$18) ))*$В$20

[D23]'=D22+(D22*($F$7+$G$5*MУMHOЖ>K(B22:G22;$D$13:$D$18)))*$B$20 [E23]'=E22+(E22*($F$8+$G$8*MУMHOЖ>K(B22:G22;$E$13:$E$18)))*$B$20 [F23]'=F22+(F22*($F$9+$G$9*MУMHOЖ>K(B22:G22;$F$13:$F$18)))*$B$20 [G23]'=О22+(О22*($Р$10+$О$10*МУМНОЖ(В22:О22;$С$13:$С$18)))*$В$20

Решение задачи средствами VBA для произвольной численности рассматриваемых видов энергоресурсов

Option Explicit

Sub Energy1(N As Integer, IDR() As Single, h As Single, T As Single)

'Процедура численного решения системы N нелинейных уравнений с шагом h

'на временном интервале Т. Исходные данные располагаются в массиве 'IDR(1:N,1:N+6). Первые три столбца-значения параметров Ni(o),Ki,Bi.

'следующие N столбцов значения параметров Aij. Три последних под результат.

Dim i As Integer: Dim j As Integer: Dim s As Single: Dim v As Single: s = 0

'Создание копии начальных величин запасов видов энергоресурсов.

For i = 1 То N: IDR(i, N + 5) = IDR(i, 1): Next i

Do While s < T' Начало ждущего цикла

For i = 1 To N: v = 0: For j = 1 To N:

v = v + IDR(i, 3 + j) * IDR(j, N + 5): Next j: v = v * IDR(i,3)

IDR(i, N + 6) = IDR(i, N + 5) * (1 + (IDR(i, 2) + v) * h): Next i

'Запоминание решения в расчетных точках временного интервала с шагом h

For i = 1 То N: IDR(i, N + 5) = IDR(i, N + 6): Next i

s = s + h: Loop 'окончание ждущего цикла

End Sub 'Energy1

Function Control(N As Integer, iDR() As Single) As Single

' Контроль точности вычисления на М-цикле решения

Dim i As Integer: Dim s As Single: Dim v As Single: s = 0: For i = 1 To N

v = Abs(IDR(i, N + 4) - IDR(i, N + 6)): IDR(i, N + 5) = IDR(i, N + 4)

If v > s Then

s = v: End If: Control = s: IDR(i, N + 4) = IDR(i, N + 6): Next i

End Function 'Control

Sub Energy3(N As Integer, M As Integer, Nt As Integer, Nr As Integer, _

Nc As Integer, N1 As Integer, N2 As Integer, g As Integer, IDR() As Single)

Процедура обмена данными между массивами модуля и диапазоном ЭТ. Dim i As Integer: Dim j As Integer For i = 0 To N -1: For j = 0 To M -1: If g > 0 Then

Worksheets(Nt).Cells(Nr + i, Nc + j).Value = IDR(i + N1, j + N2)

Else

IDR(i + N1, j + N2) = Worksheets(Nt).Cells(Nr + i, Nc + j).Value

End If: Next j: Next i

End Sub 'Energy3

Sub Energy()

'Модуль для решения задачи "Динамика мирового рынка энергоресурсов"

Dim SM(0 То 9) As String * 60: Dim x As String: Dim NH As Integer

Dim i As Integer: Dim j As Integer: NH = 0

SM(0) = "Мировой рынок энергоресурсов"

SM(1) = " Укажите номер электронной таблицы для данных"

SM(2) = " Укажите номер строки электронной таблицы для данных"

SM(3) = " Укажите номер столбца электронной таблицы для данных"

SM(4) =" Укажите количество рассматриваемых видов энергоресурсов"

SM(5) = " Задайте первоначальный шаг численного решения задачи"

SM(6) = " Укажите желаемую точность решения задачи"

SM(7) = " Укажите временной интервал для анализа"

SM(8) = " Укажите номер строки массива"

SM(9) = " Укажите номер столбца массива"

Dim Nt As Integer: x = lnputBox(SM(1), SM(0), 1): Nt = Clnt(x)

Dim Nr As Integer: x = lnputBox(SM(2), SM(0), 5): Nr = Clnt(x)

Dim Nc As Integer: x = lnputBox(SM(3), SM(0), 5): Nc = Clnt(x)

Dim N As Integer: x = lnputBox(SM(4), SM(0), 6): N = Clnt(x)

Dim h As Single: x = lnputBox(SM(5), SM(0), 0.01): h = CSng(x)

Dim E As Single: x = lnputBox(SM(6), SM(0), 0.1): E = CSng(x)

Dim T As Single: x = lnputBox(SM(7), SM(0), 0.2): T = CSng(x)

ReDim IDR(1 To N, 1 To N + 6) As Single: Dim v As Single: v = 2 * E

For i = 1 To N: For j = 1 To N + 6: IDR(i, j) = 0: Next j: Next i

'Ввод исходных данных из электронной таблицы в массив

Call Energy3(N, N +6, Nt, Nr, Nc, 1, 1, -1, IDR)

Do While v > E

Call Energyl (N, IDR, h, T) 'Вызов процедуры решения системы уравнений

v = Control(N, IDR): NH = NH + 1

x = "Сделан NH=" + CStr(NH) + " расчет. Точность v=" + CStr(v)

x = x + "Шаг h=" + CStr(h) + "Продолжить решение?"

i = MsgBox(x, 1, SM(0)): h = h / 2

If i > 1 Then

Exit Do: End If: Loop' Выход из ждущего цикла

'Вывод исходных данных в электронную таблицу из массива IDR

Call Energy3(N, N + 6, Nt, Nr, Nc, 1, 1, 1, IDR)

End Sub 'Energy

Контрольные вопросы

1. Выполните решение задачи с использованием технологии Excel с

включенным макрорекордером. Сравните полученный макрос с предложенным выше программным продуктом.

2. Осуществите графическую иллюстрацию задачи, покажите зависимость

решения от значений параметров Aij, Ki, Bi/.

 

4. МОДЕЛИРОВАНИЕ И ОБРАБОТКА СИГНАЛОВ[13,16]








Дата добавления: 2016-02-04; просмотров: 597;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.027 сек.