Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Интегрирование в Excel
Диалог специалистов АВОК > ФАЙЛОТЕКА СПЕЦИАЛИСТА > Программы, расчеты > Excel for HVAC
oztech
В развитие вопроса, стоящего несколько в стороне от топика Применение Excel при расчетах, прошу дать рекомендации по численному расчету определенных интегралов в Excel.
Меня интересует расчет теплоемкости. Вот пара конкретных задач.

Задача 1. Определить теплоемкость кислорода в интервале 25 - 120 градусов (по Цельсию), а она является интегралом зависимости Cp(t)dt. Аналитическая зависимость дана в виде полинома из справочника.

Задача 2. Определить теплоемкость водяного пара в интервале 100 - 200 градусов. Данные зависимости теплоемкости от температуры приведены в таблице (Варгафтик Н. Б. Справочник по теплофизическим свойствам газов и жидкостей. М.: ГИФМЛ, 1963. с. 50), левая колонка - температура, правая - теплоемкость.
100 0,492
110 0,486
120 0,481
130 0,477
140 0,474
150 0,472
160 0,471
170 0,47
180 0,47
190 0,471
200 0,472
Composter
а при чем тут интегралы????? тут простая интерполяция .файл по 2 задачи выкладываю, по 1 аналогично , только нужно добавить условия "если".
v-david
здесь лучшая в мире (имхо) прога: http://www.alentum.com/agrapher/
oztech
Цитата(Composter @ 19.1.2015, 13:57) *
а при чем тут интегралы????? тут простая интерполяция .файл по 2 задачи выкладываю, по 1 аналогично , только нужно добавить условия "если".

Что значит, при чем? Такая задача - проинтегрировать функцию, заданную таблицей. А найти интерполяцией какое-то значение внутри таблицы - это другая задача.
У меня Excel 2003, поэтому, если он правильно обработал Ваш файл, то объясните, пожалуйста, что за алгоритм реализует сложная функция в ячейке D5? Что за число 153,689 в ячейке B5, как оно получено?
oztech
Цитата(v-david @ 19.1.2015, 14:55) *
здесь лучшая в мире (имхо) прога: http://www.alentum.com/agrapher/

Спасибо, выглядит заманчиво. Попытаюсь освоить, хотя сходу не все понятно.
Composter
называйте как хотите, но 2 задача - это решается простой интерполяцией https://ru.wikipedia.org/wiki/%D0%98%D0%BD%...%86%D0%B8%D1%8F
там рассматривается пример 1 ,вот он как раз таки полностью описывает мое решение задачи №2 .
странные вопросы. в ячейке B5 случайное число температуры в пределах 100-200 ,в ячейке d5 забита формула, если щелкнуть мышкой то в строке формул вы все увидите.
Задача 1 оказалась намного проще, это же обычное уранение с 1 неизвестной
Composter
не совсем понятно что вы хотите.я выдал вам реализацию вашей задачи в excel , вы говорите что это не то.
если вас интересует как ограничить вычисление(например от 100 до 700) то реализуется оно в excel вот в такой формуле =ЕСЛИ(И(B6>=100;B6<=700);0;1) где B6 это ячейка в которой проверяется значение.
есть еще другой метод решения задачи №2 . Нужно построить график по данной таблице. далее вводя значение по оси X можно получить значение по оси Y и наоборот
Правильно заданный вопрос это уже залог необходимого ответа! телепатов тут нет.
oztech
Цитата(Composter @ 19.1.2015, 16:16) *
называйте как хотите, но 2 задача - это решается простой интерполяцией https://ru.wikipedia.org/wiki/%D0%98%D0%BD%...%86%D0%B8%D1%8F
там рассматривается пример 1 ,вот он как раз таки полностью описывает мое решение задачи №2 .
странные вопросы. в ячейке B5 случайное число температуры в пределах 100-200 ,в ячейке d5 забита формула, если щелкнуть мышкой то в строке формул вы все увидите.
Задача 1 оказалась намного проще, это же обычное уранение с 1 неизвестной

Я, конечно, не очень хорошо объясняю, но зачем Вы решаете свои, а не мои задачи?
Вас не смущает, что у "собственного интеграла" от одной и той же функции на одном и том же интервале получается бесчисленное множество значений? Так, какая все же средняя теплоемкость перегретого водяного пара от 100 до 200 градусов? Вы хотите сказать, что можно взять случайное число внутри интервала и по ближайшим табличным значениям провести линейную интерполяцию, как в примере из Вики? Я взял 127,956 вместо вашей температуры 153,689 и получил по вашей же формуле 0,4778176 вместо 0,4716311. Вы хотите сказать, что это все равно?
Цитата(Composter @ 19.1.2015, 16:16) *
Задача 1 оказалась намного проще, это же обычное уранение с 1 неизвестной

Ну, да, уравнение с одной неизвестной, только его не решить надо, а проинтегрировать.
Ernestas
Цитата(oztech @ 19.1.2015, 12:09) *
Задача 1. Определить теплоемкость кислорода в интервале 25 - 120 градусов (по Цельсию), а она является интегралом зависимости Cp(t)dt. Аналитическая зависимость дана в виде полинома из справочника.

Здесь то какая проблема? Осталось "забить" полином из справочника в Эксель

Цитата(oztech @ 19.1.2015, 12:09) *
Задача 2. Определить теплоемкость водяного пара в интервале 100 - 200 градусов. Данные зависимости теплоемкости от температуры приведены в таблице (Варгафтик Н. Б. Справочник по теплофизическим свойствам газов и жидкостей. М.: ГИФМЛ, 1963. с. 50), левая колонка - температура, правая - теплоемкость.
100 0,492
110 0,486
120 0,481
130 0,477
140 0,474
150 0,472
160 0,471
170 0,47
180 0,47
190 0,471
200 0,472

Можно так, например.
Нажмите для просмотра прикрепленного файла результат поделить на 1000

Цитата(oztech @ 19.1.2015, 19:09) *
Я, конечно, не очень хорошо объясняю, но зачем Вы решаете свои, а не мои задачи?
Вас не смущает, что у "собственного интеграла" от одной и той же функции на одном и том же интервале получается бесчисленное множество значений? Так, какая все же средняя теплоемкость перегретого водяного пара от 100 до 200 градусов? Вы хотите сказать, что можно взять случайное число внутри интервала и по ближайшим табличным значениям провести линейную интерполяцию, как в примере из Вики? Я взял 127,956 вместо вашей температуры 153,689 и получил по вашей же формуле 0,4778176 вместо 0,4716311. Вы хотите сказать, что это все равно?

У вас какая-то навязчивая идея всё "интегрировать"
Там все просто. Есть три числовых интервала значений тем-ры со своими коэффициентами.
Забить в эксель функцию если и дело в шляпе.
Composter
Цитата(oztech @ 19.1.2015, 19:09) *
Вас не смущает, что у "собственного интеграла" от одной и той же функции на одном и том же интервале получается бесчисленное множество значений?

т.е. вы хотите сказать что при подставлении одного и того же значения температуры мы каждый раз будем получать разное значение теплоемкости?
не совсем понимаю что там нужно дифференциировать в 1 задаче?там четко видно уравнение с одной переменной, которое разбивается на 3 уравнения. я это реализовал в 6 сообщении.
на счет 2 задачи.если не линейная зависимость то строите график.добавляете линию тренда.выбираете нужную вам, в данном случае полиномиальная со степенью 6.ставите галочку показать на диаграмме и если нужно галочку на аппроксимации.В итоге на диаграмме появляется уравнение, которое максимально близко описывает данную кривую и степень ее аппроксимации. Изначально уравнение отображается в экпоненциальном виде, если щелкнуть на уравнении и в свойствах выбрать формат подписи линии тренда то можно выбрать числовой и установить нужное количество данных после запятой (в моем файле стоит 20, думаю такой точности вам хватит).Остается вбить эту формулу в excel то будете получать темплоемкость с аппроксимацией, которую вывел excel
v-david
Composter, не пользуйтесь экселёвыми трендами. Врут безбожно, я проверял. Лучше по ссылке скачайте, не пожалеете.
Composter
спасибо за совет , я ими последний раз пользовался в институте.
oztech
Цитата(Ernestas @ 19.1.2015, 21:45) *
Здесь то какая проблема? Осталось "забить" полином из справочника в Эксель

Ой ли? Что-то становится одиноко, как на Чукотке. А Вы на минуточку не забыли, что у функции есть производная, и первообразная (правда, не всегда, но это сейчас не так важно), и все три - самостоятельные, хоть и связанные между собой, функции, имеющие свой физический смысл? Ну, забью я коэффициенты полинома в лист, добавлю по ячейке на функцию и верхнюю и нижнюю температуру. Ну, и где средняя теплоемкость-то будет? В каком месте бедный Эксель по таким исходным данным сможет ее выдать? Подставить ту или иную температуру в формулу - запросто, но это будет теплоемкость при данной температуре, а тепловому-то балансу нужна средняя по интервалу.
Цитата(Ernestas @ 19.1.2015, 21:45) *
У вас какая-то навязчивая идея всё "интегрировать"

Ну, извините, это не я придумал основы термодинамики, а кто-то более умный. Надо же, определил среднюю теплоемкость, как интеграл - а я теперь мучайся!
Цитата(Ernestas @ 19.1.2015, 21:45) *
Там все просто. Есть три числовых интервала значений тем-ры со своими коэффициентами.
Забить в эксель функцию если и дело в шляпе.

На колу мочало - начинай сначала. Что одну функцию, что 3 - все равно интегрировать-то нужно.
oztech
Цитата(Composter @ 19.1.2015, 22:50) *
т.е. вы хотите сказать что при подставлении одного и того же значения температуры мы каждый раз будем получать разное значение теплоемкости?

Уважаемый, так в том-то и проблема, что задан интервал температур, а какую из бесчисленного множества температур внутри этого интервала выбрать, чтобы подставить в полином, заранее не известно. Вы, вот, привели выше пример решения чего-то, где эта температура выбрана случайно, но так среднюю теплоемкость по интервалу не определяют. Теория этого понятия не велит.
Цитата(Composter @ 19.1.2015, 22:50) *
не совсем понимаю что там нужно дифференциировать в 1 задаче?там четко видно уравнение с одной переменной, которое разбивается на 3 уравнения. я это реализовал в 6 сообщении.

Вот именно каждое из этих уравнений, которые Вы четко видите, и нужно, только не дифференцировать, а интегрировать (есть небольшая разница). Численно, потому что аналитическое решение имеют не все интегралы, и не хочется, имея под рукой Excel, заморачиваться с довольно сложной и подзабытой математикой.
Цитата(Composter @ 19.1.2015, 22:50) *
на счет 2 задачи...

Извините, это даже комментировать не могу, но однозначно - никаких графиков!
Composter
если хотите совета по excel то распишите как бы вы это реализовали алгоритм решения на бумаге, либо можете дальше причитать что это все не то и никто вас не понимает.

excel даже не математическая программа,а табличный редактор.Для серьезных вычислений нужен как минимум mathcad либо более специализированные программы.
oztech
Цитата(Composter @ 20.1.2015, 13:16) *
можете дальше причитать что это все не то и никто вас не понимает.

Ну, почему же никто? v-david очень даже в тему ответил, спасибо ему за пост
Ernestas
Цитата(oztech @ 20.1.2015, 10:55) *
Ну, и где средняя теплоемкость-то будет?

Еще одна навязчивая идея? Или действительно она вам нужна?
А почему бы её не найти по средней температуре?
Ernestas
Цитата(oztech @ 19.1.2015, 12:09) *
Задача 1. Определить теплоемкость кислорода в интервале 25 - 120 градусов (по Цельсию), а она является интегралом зависимости Cp(t)dt. Аналитическая зависимость дана в виде полинома из справочника.

Ну давайте еще раз. )
Нажмите для просмотра прикрепленного файла
Вы это понимаете как разные тем-ры t1; t2; t3; t4?
По моему тут одна тем-ра в различной степени. Или я не прав?
Dede
Автор, вы бы сформулировали точнее, что вы хотите. Как понять "теплоемкость" в интервале? Для каждой температуры будет своя теплоемкость
По вашей ссылке дано уравнение полинома, даны коэффициенты, даны интервалы температур, в которых данные полиномы применимы. Что вы хотите еще? Заплутали вы в дебрях термодинамики
Татьяна Удальцова
Цитата(Ernestas @ 22.1.2015, 10:14) *
Ну давайте еще раз. )
Вы это понимаете как разные тем-ры t1; t2; t3; t4?
По моему тут одна тем-ра в различной степени. Или я не прав?

Да конечно прав. Это одна и та же температура.

Обычное дело в инженерно-расчетной практике - есть какая-то таблица (иногда график), а надо иметь аналитическую формулу - для удобства вычислений хоть в Excel, хоть в своей программе.

Получить такую формулу можно или из каких-то "литературных произведений" (мы их специально коллекционировали) или вывести самостоятельно. Этот процесс называется аппроксимацией.

Можно и в Excel сделать (не очень-то хорошо), а можно и в специальных программах. Есть платные, есть бесплатные. Мы давно пользуемся бесплатной программой Approximator. Не нашлось еще таблицы или графической функции, которую не удалось бы аппроксимировать с высокой точностью. Но тут некоторый навык надо иметь - какой вид функции рациональней применять.

Обычно универсальным считается полином, где аргумент используется в различных степенях и с разными коэффициентами.

Но автору ветки зачем-то непременно "интегрирование" надо. Ну, бывает, понравится красивое слово... Типа "интегрированная температура по больнице"...
oztech
Цитата(Ernestas @ 22.1.2015, 8:55) *
Еще одна навязчивая идея? Или действительно она вам нужна?
А почему бы её не найти по средней температуре?

Действительно, до сих пор я так и делаю - уж, лучше что-то, чем совсем ничего. Только это, судя по учебникам, более-менее справедливо для теплоемкости газов, близких к идеальным. А мне же часто нужны теплоемкости растворов и твердых веществ. В литературе есть примеры расчетов тепловых балансов, в которых участвуют эти величины, только они обычно задаются, не известно откуда взятые.

А примеры я взял, чтобы научиться интегрировать - из того, что было под рукой и удобно вставить в пост, это не есть какая-то конкретная проблема. Просто взята некая таблица и некая формула, их вообще можно было выдумать из головы. Умея численно интегрировать, я сам решу свою задачу. Заодно, кстати, можно будет проверить, насколько справедливо допущение для газов, что дает расчет по средней температуре, а что - через интеграл.

Уважаемые! Ответы невпопад всех запутали. Спасибо, конечно, но я умею аппроксимировать табличные данные и находить интерполяцией значения, которых нет в таблице. Вы посмотрите, с чего все началось? Я же попросил научить методам численного интегрирования в Excel, а вы мне иголки под ногти забиваете, пытаясь узнать, зачем это нужно.

Цитата(Dede @ 22.1.2015, 11:02) *
Автор, вы бы сформулировали точнее, что вы хотите. Как понять "теплоемкость" в интервале? Для каждой температуры будет своя теплоемкость
По вашей ссылке дано уравнение полинома, даны коэффициенты, даны интервалы температур, в которых данные полиномы применимы. Что вы хотите еще? Заплутали вы в дебрях термодинамики

Специально для Вас цитирую учебник.
"Уравнения, приведенные в табл. 1, дают значения истинной теплоемкости при любой температуре t. При расчетах нагревания и охлаждения газа важно знать среднюю теплоемкость его в заданном интервале температур. Зная среднюю теплоемкость, можно просто вычислить количество тепла, потребное для нагревания газа, путем умножения числа молей газа на среднюю теплоемкость и на число градусов нагрева. Это гораздо проще, чем непосредственно прямое интегрирование формул теплоемкости для каждого отдельного случая. Для газов, подобных воздуху, где температурный коэффициент почти постоянен (а для других газов в узких пределах температур), можно просто брать в качестве средней теплоемкости газа его теплоемкость при средней температуре." (с. 125 сл.)
Больше не хочу набивать еще несколько страниц про жидкости и твердые тела, поверьте, там именно то, что я уже писал - средняя теплоемкость в интервале не равна теплоемкости при средней температуре.
Я цитировал книжку Хоугена и Ватсона "Физико-химические расчеты в технике, изданную в 1941 году. Она одна из моих любимых, потому что очень понятно объясняет многие вещи, но тогда, ведь, явно не было ПК. И поэтому мне кажется, что утверждение "Это гораздо проще, чем непосредственно прямое интегрирование формул теплоемкости для каждого отдельного случая", уже пора пересмотреть.
Ernestas
Цитата(oztech @ 22.1.2015, 10:41) *
Я же попросил научить методам численного интегрирования в Excel...

Вот вам гранитный камушек. Грызите науку. Успехов! smile.gif
Нажмите для просмотра прикрепленного файла
oztech
Цитата(Ernestas @ 22.1.2015, 14:50) *
Вот вам гранитный камушек. Грызите науку. Успехов! smile.gif

Большое-пребольшое спасибо! Это как раз то, что я и просил, если только глубокому пенсионеру удастся разгрызть 8-ю и 9-ю главу. Честно говоря, не ожидал, что практическая ценность численного интегрирования в Excel настолько не востребована для решения прикладных задач...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.