Excel for HVAC
Данный раздел создан по просьбам участников Форума для сбора на сайте коллекции таблиц Excel на русском языке для расчётов по разным специальностям.
При присоединении файла, пожалуйста, указывайте следующую информацию:
Автор (Информация об авторе.)
Размер файла (максимальный размер присоединяемого файла 15 Мб)
Описание
Вся информация принимается и распространяется бесплатно.
Выполняет исключительно информационную функцию.
Администрация не несет ответственности за содержание представленной документации.
При обнаружении ошибок или неточностей просим вас прислать свои замечания на e-mail: ibforum@abok.ru.
|
|
ошибка при итерационных вычислениях в Excel |
|
|
|
19.4.2016, 9:55
|
Группа: Участники форума
Сообщений: 1493
Регистрация: 23.6.2008
Из: г. Магнитогорск
Пользователь №: 19983
|
Сделал для себя небольшой теплотехнический расчет футеровки. Хотел чтобы коэффициент теплоотдачи ап (от наружной поверхности к окружающему воздуху) рассчитывался методом итерации. Но при изменении материала слоя или изменении толщины слоя появляется какая-то ошибка в вычислениях. Ошибка происходит не всегда, могу несколько раз поменять толщины слоев, материалы и всё работает. Можно конечно задавать коэффициент ап вручную и методом подбора за несколько проходов получить результат, но хотелось бы автоматизировать это процесс.
_____________1.jpg ( 283,4 килобайт )
Кол-во скачиваний: 42Самостоятельно не могу разобраться с этим вопросом, не хватает знания Excel.
Futerovka.xlsx ( 619,24 килобайт )
Кол-во скачиваний: 20
|
|
|
|
|
19.4.2016, 11:04
|
Группа: Участники форума
Сообщений: 614
Регистрация: 28.6.2006
Пользователь №: 3267
|
У вас там замкнутый круг какой-то? Ак, Ал, зависят от Тн(G17), а в свою очередь Тн(G17) зависит от R0(С23), в свою очередь R0(С23) зависит от Q22(который должен считаться) но он зависит от Р21, который равен Альфа(С26), которая равна Ак+Ал. Круг замкнулся.
|
|
|
|
|
19.4.2016, 12:49
|
Группа: Участники форума
Сообщений: 1493
Регистрация: 23.6.2008
Из: г. Магнитогорск
Пользователь №: 19983
|
Цитата(borm @ 19.4.2016, 13:04) У вас там замкнутый круг какой-то? Ак, Ал, зависят от Тн(G17), а в свою очередь Тн(G17) зависит от R0(С23), в свою очередь R0(С23) зависит от Q22(который должен считаться) но он зависит от Р21, который равен Альфа(С26), которая равна Ак+Ал. Круг замкнулся. Да понятно, что замкнутый круг. Если я вручную альфа в ячейке Р21 указываю, то за несколько проходов(подстановок) подбираю его равным альфа в ячейке С26. А если ставлю Р21=С26, то по началу вроде бы всё считается, но в какой-то момент при изменении толщины или материала происходит сбой. По этапам вычислений непонятно, что происходит.
Сообщение отредактировал shadow - 19.4.2016, 12:51
|
|
|
|
|
19.4.2016, 13:31
|
Группа: Участники форума
Сообщений: 1493
Регистрация: 23.6.2008
Из: г. Магнитогорск
Пользователь №: 19983
|
По какой-то причине в результате итерационных вычислений ячейке Р21 не присваивается конечно значение альфа из ячейки С26
|
|
|
|
|
19.4.2016, 13:51
|
Группа: Участники форума
Сообщений: 614
Регистрация: 28.6.2006
Пользователь №: 3267
|
При обновлении получается вот что:
__________.png ( 50,45 килобайт )
Кол-во скачиваний: 30
|
|
|
|
|
19.4.2016, 14:56
|
Группа: Участники форума
Сообщений: 3520
Регистрация: 5.3.2009
Из: Газ-Ачака
Пользователь №: 30120
|
а зачем вручную итерировать? я обычно для этого вбиваю число приблизитетльное, потом столбец расчетов , следующий столбец ссылается на предыдущий, копирую второй столбец раз 20 , а конечную цифру уже вставляю расчет для оформления , столбцы для итерации выношу за область печати/скрываю/выношу на другой лист.
Сообщение отредактировал Composter - 19.4.2016, 14:57
|
|
|
|
|
19.4.2016, 15:41
|
сам себе Sapiens
Группа: Участники форума
Сообщений: 11289
Регистрация: 21.5.2005
Из: г. Владимир
Пользователь №: 797
|
Цитата(Composter @ 19.4.2016, 14:56) я обычно для этого вбиваю число приблизитетльное, потом столбец расчетов , следующий столбец ссылается на предыдущий, А я чтобы уйти от "ошибки" вставляю что-нибудь подобное: =ЕСЛИ(D15>1;1;B30) =ТИП(B30)
|
|
|
|
|
19.4.2016, 19:01
|
Группа: Участники форума
Сообщений: 4344
Регистрация: 10.3.2010
Из: Зеленоград
Пользователь №: 48108
|
Функцию "подбор параметра" использовал?
|
|
|
|
|
19.4.2016, 19:54
|
Группа: Участники форума
Сообщений: 1493
Регистрация: 23.6.2008
Из: г. Магнитогорск
Пользователь №: 19983
|
Цитата(v-david @ 19.4.2016, 22:01) Функцию "подбор параметра" использовал? Если вопрос ко мне, то нет. Я вообще профан :-)
|
|
|
|
|
20.4.2016, 1:25
|
Группа: Участники форума
Сообщений: 4344
Регистрация: 10.3.2010
Из: Зеленоград
Пользователь №: 48108
|
итерации реализованы в эксель вот здесь
|
|
|
|
|
20.4.2016, 6:34
|
сам себе Sapiens
Группа: Участники форума
Сообщений: 11289
Регистрация: 21.5.2005
Из: г. Владимир
Пользователь №: 797
|
Цитата(v-david @ 20.4.2016, 1:25) итерации реализованы в эксель вот здесь Кажется, это называется "подбор".
|
|
|
|
|
20.4.2016, 6:50
|
сам себе Sapiens
Группа: Участники форума
Сообщений: 11289
Регистрация: 21.5.2005
Из: г. Владимир
Пользователь №: 797
|
(полуручная операция)
|
|
|
|
|
20.4.2016, 7:06
|
Группа: Участники форума
Сообщений: 1493
Регистрация: 23.6.2008
Из: г. Магнитогорск
Пользователь №: 19983
|
Цитата(v-david @ 20.4.2016, 4:25) итерации реализованы в эксель вот здесь Понятно, но не то что я хочу добиться
|
|
|
|
|
20.4.2016, 9:06
|
Группа: Участники форума
Сообщений: 1493
Регистрация: 23.6.2008
Из: г. Магнитогорск
Пользователь №: 19983
|
Цитата(tiptop @ 19.4.2016, 18:41) А я чтобы уйти от "ошибки" вставляю что-нибудь подобное: =ЕСЛИ(D15>1;1;B30) =ТИП(B30) Экхе... не понял.
|
|
|
|
|
20.4.2016, 12:01
|
Группа: Участники форума
Сообщений: 1455
Регистрация: 22.10.2009
Из: Харьков
Пользователь №: 39945
|
в 2003 экселе в меню сервис-параметры -вычисления можно установить (изменить) число иттераций и погрешность. Я уже выкладывал маленький макрос с использованием функции "Подбор параметра"
Сообщение отредактировал Valiko - 20.4.2016, 12:02
|
|
|
|
|
20.4.2016, 13:45
|
Группа: Участники форума
Сообщений: 1493
Регистрация: 23.6.2008
Из: г. Магнитогорск
Пользователь №: 19983
|
Цитата(Valiko @ 20.4.2016, 15:01) в 2003 экселе в меню сервис-параметры -вычисления можно установить (изменить) число иттераций и погрешность. Я уже выкладывал маленький макрос с использованием функции "Подбор параметра" Я пробовал менять и количество итераций и точность
|
|
|
|
|
20.4.2016, 15:06
|
Группа: Участники форума
Сообщений: 4373
Регистрация: 4.12.2006
Из: Klaipeda
Пользователь №: 5034
|
Вроде все работает
|
|
|
|
|
20.4.2016, 20:58
|
Группа: Участники форума
Сообщений: 1493
Регистрация: 23.6.2008
Из: г. Магнитогорск
Пользователь №: 19983
|
Цитата(Ernestas @ 20.4.2016, 18:06) Вроде все работает Что это?
_____________1.jpg ( 14,79 килобайт )
Кол-во скачиваний: 31
|
|
|
|
|
20.4.2016, 21:38
|
Группа: Участники форума
Сообщений: 4373
Регистрация: 4.12.2006
Из: Klaipeda
Пользователь №: 5034
|
Цитата(shadow @ 20.4.2016, 20:58) Что это?
_____________1.jpg ( 14,79 килобайт )
Кол-во скачиваний: 31Сумневаетесь? Файлик то ваш. Я с ним ничего не делал, почти. ) Насколько я понял, экселька во время итераций пробует подставить ноль в знаменатель. После этого выдает на горА ошибку. Лечил так: стер "закольцовку", написал в ячейку(P21) значение больше нуля (0,5), экселька всё посчитала, потом в эту же ячейку вбиваем формулу (=C26) и все работает.
|
|
|
|
|
21.4.2016, 6:29
|
Группа: Участники форума
Сообщений: 1493
Регистрация: 23.6.2008
Из: г. Магнитогорск
Пользователь №: 19983
|
Цитата(Ernestas @ 21.4.2016, 0:38) Сумневаетесь?
Файлик то ваш. Я с ним ничего не делал, почти. ) Насколько я понял, экселька во время итераций пробует подставить ноль в знаменатель. После этого выдает на горА ошибку. Лечил так: стер "закольцовку", написал в ячейку(P21) значение больше нуля (0,5), экселька всё посчитала, потом в эту же ячейку вбиваем формулу (=C26) и все работает. Ну я в принципе так и делал
|
|
|
|
|
21.4.2016, 7:39
|
Группа: Участники форума
Сообщений: 4373
Регистрация: 4.12.2006
Из: Klaipeda
Пользователь №: 5034
|
Цитата(shadow @ 21.4.2016, 6:29) Ну я в принципе так и делал Проблемка. Тогда предлагаю так А макрос напишите сами. Ибо не даёт загрузить на форум такие файлы. ) Sub Restartik() ' ' Restartik Макрос ' ' Сочетание клавиш: Ctrl+r ' Range("P21").Select ActiveCell.FormulaR1C1 = "1" Range("P21").Select ActiveCell.FormulaR1C1 = "=R[5]C[-13]" Range("P22").Select End Sub
Прикрепленные файлы
0012.JPG ( 145,8 килобайт )
Кол-во скачиваний: 21
|
|
|
|
|
22.4.2016, 9:22
|
Группа: Участники форума
Сообщений: 1493
Регистрация: 23.6.2008
Из: г. Магнитогорск
Пользователь №: 19983
|
Цитата(Ernestas @ 21.4.2016, 9:39) Проблемка. Тогда предлагаю так
А макрос напишите сами. Ибо не даёт загрузить на форум такие файлы. )
Sub Restartik() ' ' Restartik Макрос ' ' Сочетание клавиш: Ctrl+r ' Range("P21").Select ActiveCell.FormulaR1C1 = "1" Range("P21").Select ActiveCell.FormulaR1C1 = "=R[5]C[-13]" Range("P22").Select End Sub Спасибо. С этим всё получилось.
|
|
|
|
|
5.5.2016, 8:53
|
Группа: Участники форума
Сообщений: 1493
Регистрация: 23.6.2008
Из: г. Магнитогорск
Пользователь №: 19983
|
Если меняю значение температуры в печи на к конкретном листе расчета для цил. обечайки, свода, и т.д., то всё работает нормально, но если пытаюсь задать эту же температуру на листе "Данные" (ячйка связана с каждым листом) происходит сбой.
|
|
|
|
|
5.5.2016, 12:38
|
Группа: Участники форума
Сообщений: 4344
Регистрация: 10.3.2010
Из: Зеленоград
Пользователь №: 48108
|
старт лучше сделать не по Ctrl+r, а по событию изменения содержимого ячейки...Почитайте, например здесь
|
|
|
|
|
5.5.2016, 19:58
|
Группа: Участники форума
Сообщений: 1493
Регистрация: 23.6.2008
Из: г. Магнитогорск
Пользователь №: 19983
|
Цитата(v-david @ 5.5.2016, 15:38) старт лучше сделать не по Ctrl+r, а по событию изменения содержимого ячейки...Почитайте, например здесьКруто! Спасибо, не придется тыкать кнопки :-)! Дело в том, что макрос не помогает, но мне вроде удалось победить это проблему
|
|
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
Реклама
ООО «Арктика групп» ИНН: 7713634274
ООО "Русич" ИНН 9721068883 / ЕРИД 2VtzqxaTTsx
Реклама: ООО «АйДи-Электро» | ИНН 6670013662 | ERID: 2VtzqxXWZLZ
ООО «УНИСПЛИТ» ИНН: 6453155081 erid:2VtzqvoGYgn
-
Последние сообщения Форума
|