Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Нахождение суммы накоплением внутри оператора
 
Спасибо, за подсказку Inexsu. Проверяю...
Цитата
Inexsu написал:
Нравятся мне, вот такие "дополнительных 15 условий","на новые участки"
К сожалению, результат расчета этого участка повлияет на методику которую нужно применить на последующих трех. Участки будут меняться в зависимости от время-сечения и к-ства прохождения газа.   Запнулся на самом элементарном, спасибо буду тестить Ваше предложение.
Нахождение суммы накоплением внутри оператора
 
Спасибо, но это не совсем улучшение подойдет. Я думал тоже писать через For, но вложенность дополнительных 15 условий расчета не дало возможности нормально реализовать процесс т.к. For, нужно правильно становить и обеспечить переход на новые участки расчета.
Код
For ФК1 = 111 To 140
Немножко Вас поправлю Inexsu, ФК1 = 112

К примеру при угле равном ФК2=112

FBI_FI = 0.02349 - 0.02493 * Cos((1 - 112) * 3.14159265358979 / 32)

FBI_FI = 0

FBI_FI = 0.02349 - 0.02493 * Cos((2 - 112) * 3.14159265358979 / 32)

FBI_FI = 1

Сумма = 0 + 1

Изменено: Darkness1987 - 22.10.2017 11:10:23
Нахождение суммы накоплением внутри оператора
 
Добрый день! :) Уже давно пользуюсь вашим форумом в качестве источника информации для реализации небольших проектов VBA APP. Все предыдущие вещи, удавалось писать в связке VBA + лист на котором выводились в заранее известных областях результаты вычислений. Опыт у меня крайне не большой, но столкнулся с проблемой и надеюсь на Вашу помощь. Прошерстил все форумы, решение в принципе есть, но путем создания массива. Помогите в решении достаточно простой проблемы нахождения суммы внутри макроса. Есть уравнение, внутри которого меняется угол поворота коленчатого вала от 120 до 140 это реализовано внутри условия IF заканчивающегося переприсвоением и возвратом к началу условия. Необходимо что бы результат решения уравнения при 120 и при 121 градусах суммировался, потом 122 и 123 градусах и т.п..
Код
Private Sub Darkness1987()
Application.GoTo (ActiveWorkbook.Sheets("Лист10").Range("A4:AB1500"))
Selection.ClearContents
Selection.Cells(1).Select 

ФК1 = 111
DФK = 1

2
ФК2 = ФК1 + DФK
FBI_FI = 0.02349 - 0.02493 * Cos((ФК2 - 112) * 3.14159265358979 / 32)

'здесь необходимо реализовать что бы результат  FBI_FI при 0 градусов добавилось к значению результата FBI_FI при 1 градусе

ФК1 = ФК2
If ФК2 <= 140 Then
GoTo 2
End If
End Sub
Изменено: Darkness1987 - 22.10.2017 00:21:57
Итерация с двумя неизвестными
 
Цитата
Chonard написал: В Вашем случае TB определяется через N21. Это зависимые переменные, т.е. фактически неизвестное - одно?
Неизвестных две, вот в чём соль) Я к концу завтрашнего дня, выложу макрос для наглядности, касательно этого уравнения. По идее и метод Зейделя может подойти.

ikki, почти так, да не совсем так :) Образно и грубо говоря дело не в достаточном количестве итераций по n2, а в случае получения температуры в т. В через n2 страдает точность расчёта.
Итерация с двумя неизвестными
 
Добрый день) Возникла сложность в правильном (более уточнённом) решении одного из уравнений термодинамики, для комплекса которых я написал макрос в VBA EXCEL:

Скрытый текст

Собственно заданы значения N21 и TB для начала счёта так сказать. Остальные значения переменных мне известны. Итерация в данном случае проходит по TB и в результате мы получаем температуру в точке В и фактически не итерированное значение политропы расширения n2. Проверка адекватности модели, показывает что значение n2 находится в допустимых приделах. Хотелось бы иметь возможность провести итерацию одновременно по N21 и TB.
Буду очень благодарен за помощь :)
Страницы: 1
Наверх