把累計1kg水從0℃先後燒到100℃,最少需要多少能量?

如果直接把水燒開,所需能量是:4180J/(kg·゜C) * 1kg * 100゜C = 418000J。 如果先把0.5kg的冷水燒開,用熱導性良好的容器A裝著,浸在剩下的0.5kg冷水(在容器B內)里,等它(0.5kg冷水)變成50度的溫水後,拿走容器A(連帶裡面的溫水),再把容器B里的溫水(未曾到達100℃的那部分冷水)燒開,這樣累計燒開1kg水就節約了25%的能量。 假設可以把1kg冷水分成無限多份,熱量傳遞時沒有任何損失,那麼利用熱量傳遞,最多可以節省多少能量?


來來來,算算貼吧那個方案極限到底是不是0
如果我們用t(i,j)來表示第 i 次操作後,第 j 份水的最終溫度,那麼根據貼吧方案的描述,第一次操作把第一份水燒開,然後依次與後面的水做熱交換達到平衡狀態,所以
t(1,1)=100
t(1,2)=50
t(1,3)=25
……
……
t(1,j)=frac{100}{2^{j-1}}

用這種方法,容易得到這樣的遞推關係:
t(i,j)=frac{1}{2}left[t(i-1,j)+t(i,j-1)
ight]
並且有這樣的邊界條件:
t(i,j)=100,quad mbox{for } ige j
t(0,j)=0,quad mbox{for } jge 1

這麼寫式子不太直觀,畫個圖就明了:
下圖每一行代表一次操作,每一列代表第幾份

所以呢,需要的熱量就是把紅色的對角線上的元素都加熱到100度需要的熱量啦,如果令t(i,i+1)=x_i,那麼總的熱量就可以這樣表達出來:
Q=frac{1}{n}sum_{i=0}^n{x_i}=frac{1}{n}sum_{i=0}^n{[100-t(i,i+1)]}

那麼這個x_i有沒有通項公式呢?一眼看不出來啊……
不怕,我們有神奇的 mathematica,有個神奇的 FindSequenceFunction 的函數可以幫助發現通項公式哇哈哈哈一般人我不告訴他

看見沒?通項公式就是:
x_i=100frac{mbox{Poch}(1/2,i)}{mbox{Poch}(1,i)}
這裡Poch代表Pochhammer symbol,中文叫 階乘冪

那麼,把所有的x_i加起來再除以n就能得到所需的熱量啦~
繼續使用神奇的 mathematica 直接求極限

我數學不好不知道這是怎麼回事不過神奇的 mathematica 告訴我結果就是 0 不管你們信不信反正我是信了就這樣

PS. 有人問上面那個 sum 的求和能不能表示出來,結果當然是可以的,在神奇的 mathematica 面前都 soooooo easy

也就是:
sum_{i=0}^n{x_i}=200frac{(n+1)Gamma(3/2+n)}{sqrt{pi}Gamma(2+n)}這樣就更容易看出結論了
lim_{n
ightarrowinfty}frac{1}{n}sum_{i=0}^nx_i=lim_{n
ightarrowinfty}frac{200(n+1)Gamma(3/2+n)}{nsqrt{pi}Gamma(2+n)}=0


所以題主你用了你的「無限分割燒水法」以後,你最後就喝到了一滴燒開的水啊- -
————————————————————————————————————
上面是原答案,我好像確實是沒仔細讀題,如果你燒開以後有涼了還算是燒開的應該是0...但是題主你這個問題有個毛病啊...你認為給水加熱然後用水可以加熱其他的水,最後全都燒開了。。。那你為啥不用能量把所有水燒到一百度,然後再把一百度的水晾涼,然後能量全都還給你...(ORZ.......我只是吐槽樓主的題目....就不要跟我科普物理我錯了TAT)


明白題主的意思了,是說讓水都開過一遍,而不是說所有水都維持在沸騰狀態。
(P.S.1. 但是我還是要保留原來的逗比答案- - P.S.2. @白如冰大神被坑了。 )

+++++++++++++++++++++++++++++++++++++++++++++++

我想到的一個方法,答案應該是50%的,假設水分成N份,先燒開一份,需要能量是K/N
熱傳導,第二份需要的能量是K(N-1)/N^2;
....

類推,得到了總共需要能量是,sum(1/N^2 + 2/N^2... + K/N) (一共N項),當N趨向於無窮大的時候,極限等於K/2。

但是,我不知道有沒有更加優化的操作步驟,可以使所需能量進一步降低。(最佳方案的答案應該是0,我錯了

+++++++++++++++++++++++++++++++++++++++++++++++

@白如冰的評論:考慮到分子速率的分布,總有少量水分子動能處在沸水的平均動能狀態。也就是說,讓所有水分子都沸騰一遍,其實是不需要外界能量的。

大神就是大神。
看來無限平分的方法是存在bug的,無限到分子層面就會讓題目變得無意義了。我們還必須要考慮宏觀層面的東西,比如說要達到殺菌的效果,需要多少動能。(嗯,似乎無解了)

但是如果最後的表達式收斂速度夠快,比如N=1000份就能達到很好的收斂效果,那麼均分的方法也是可以得到比較好的近似值的。


P.S. 我上面這個答案N=50的時候誤差就只有1%哦,總之求更優化的策略。

+++++++++++++++++++++++逗比答案留檔處+++++++++++++++++++++++++++++++++

二蛋和老婆賺200塊錢需要搬20000塊磚。

現在二蛋的老婆先搬了10000塊磚,賺了100塊錢,並把其中的50塊交給了二蛋保存。

第二天,二蛋搬了5000塊磚,發現自己口袋裡的錢變成了100快。

二蛋興奮的大喊:「我發現了賺錢秘籍,我要娶100個老婆發家致富!走向人生巔峰!」

二蛋老婆:「尼瑪嗶———老娘的五十呢!!」

+++++++++++++++++++++++++++++++++++


大哥你的描述中,最後獲得的是0.5kg的50度水+0.5kg的100度水。也就是1kg的75度水。


你們都忽略了表面能么?在宏觀的無限細分的時候是需要考慮這個能量的

表面能的增量等於克服表面張力做功:Delta E=W=sigma cdot Delta S
其中sigma 為表面張力係數,隨溫度可認為線性減小,為簡便以下討論認為其保持不變(可以用溫度變化範圍內的最小值作保守推導)

假設在零重力環境下,則水在表面張力作用下初始聚集成一個完美球狀,半徑為R,則其表面能為E_{1} =sigma cdot 4pi R^{2},經過一次操作,得到兩份水,總體積不變,則半徑各為r=frac{R}{sqrt[3]{2}} ,總表面能為E_{2} =2cdot sigma cdot 4pi r^{2}=sigma cdot 4pi R^{2}cdot sqrt[3]{2} > E_{1},這高於初始的表面能則意味著需要外力做功,否則系統將發生降溫。由於尚無有效的措施使外力做功精確等於表面能增量,這個過程無疑對系統內能產生影響。

本質上來說,表面張力是分子尺度的范德瓦爾斯力的宏觀表現。由於物質邊界上的分子受力不均衡,「合力」(統計意義)指向物質內部,故而宏觀上表面張力總是使系統總表面積儘可能的小。在這個細分的過程中,系統表面積不斷增加。簡單的計算可以發現,以上場景中,表面能的變化總量為W=4pi R^{2}cdot sqrt[3]{n} ,其中n為細分的水滴總數。那麼你需要做無限多的功。。

另一方面,我們所說的內能常用溫度作指標是在默認系統處處溫度相同的情況下才成立的。當表面張力主導後,不建議使用同一個溫度作為系統內能的指標,而應從分子角度考慮。這是由於物質邊界處的分子與內部的分子「受力」(統計意義)並不同,分子熱運動就有了區別,那麼「溫度」自然是有差別的。平常的時候,表面張力並不佔主導故而無所謂。

……

題主耗費了一生的時間和該生命體所能獲得的所有能量和物質補充
經過無限次操作得到了無限多分水
最後得到了一滴開水

……


看了三遍才搞明白題主的意思,倫家要的是燒開過的開水,而不是1公斤100度的水。


內能是狀態函數,其變化值只取決於系統的始態和終態。
-------------------------------------------------------------------------------------------


蛋疼的沒理解題主的意思,無限分割之後應該是50%,說0的熱力學第二定律被吃了


我說,你們沒看懂題主的意思啊。
題主說的是,讓所有的水都沸騰過,最少需要多少能量,而不是讓他們同時沸騰啊。。

--
/*
需要原來一半的能量。
具體來說就是
假設把水分成n份來燒,先燒了第一份到100度,消耗了c/n的能量,之後每次消耗c/n-之前消耗過的能量總和/i(i是當前第幾份的水)這樣就是原來的一半辣。。
*/
---
似乎這樣燒更省能量。。
我們把這個過程叫做燒成開的。。
每次把n堆分成兩份,先遞歸燒成開的左邊,然後把左邊和右邊溫度混合,再遞歸燒成開的右邊。。
但是我不能肯定這樣做消耗多少能量,因為稍微分多一點精度就炸了。

話說那個不需要能量的好神奇啊。。
爪機無力中0 0


把水當無限可分,用數學求出極限為0太沒意思了。有沒有物理帝解答下單個分子溫度的定義和傳熱過程?


別鬧,非要說的話,水當「一份」足夠小的時候其物理性質會不同,水在納米尺度下沒記錯的話沸點只有冷下一百多度,還有什麼100度不100度的事情。


原答案錯了……我又重新算了一下。雖然是一種解法,但不是最優解,前面有人的思路是對的。就是每份水加熱後分別與後面每份水混合,這樣總能量更低。所以可能是趨近於0的。

我寫出Matlab程序如下

算出來的S隨n變化的曲線為

這個最小值我不確定,可能趨近於0,也可能趨近某個常數。
n=1到10時溫度分布圖

n=1到100

總能量就是最右邊的線與x軸未成的面積,應該是趨近於0的。但是我沒推出公式,也不能確定。
n=1000

右下角的面積越來越小。

——————————原答案——————雖然不是最優解,也不刪了————

可能很多人沒看懂就開噴了,我理解題主的意思,就是先把第一份的水(一半)燒開後,用來加熱另一半的水,然後把另一半的水燒開,前面那一半的水燒開過了就不用燒開,所以總共用了75%的能量。

這個問題其實非常好,最終目的是使所有的水都達到100度過,不要求最後都達到100度,只要曾經100度就可以了。

我試著解答一下:
有三個基本假設:
1.溫度高的水的熱量可以傳遞到溫度低的水裡,不產生熱量消耗。而溫度低的水的熱量不能傳到溫度高的水裡。(熱力學第一定律)
2.所有的水都是一樣的,並且可以任意細分。
3.每單位水升高1度需要的熱量都相同。

我們可以看出一個明顯的結果,就是最後一份水一定要升高到100度,而之前的水的溫度則越低越好,即所有水在終止狀態儲存的熱量最小。而第一條假設其實就是熱力學第一定律,假設我們有一個類似空調的裝置,能夠花費少量能量把溫度低的水的熱量傳入溫度高的水,那麼這個問題所需要的總能量其實很小。這裡我們暫時不考慮這種情況,因此補充第四個假設:

4.有且僅有一台加熱裝置為水提供熱量。(*這台裝置提供的總能量即為問題的解,我們要求最小值)

由此我們可以看出,把水平均分為n份,編號為S1、S2……Sn。從第一份開始,依次加熱到100度,然後和剩下的水混合,能得到最優解。
設把所有水加熱到100度所用能量為W

n=2時
1、把一半水加熱到100度,消耗能量W/2。混合所有水,得到都是50度的水。
2、把剩下的一半水(50度)加熱到100度,完成,共消耗0.5W+0.25W=0.75W的水。

n=3時
1、把三分之一的水加熱到100度,耗能W/3;混合,得到三份100/3度的水。
2、第二份水加熱,耗能(1-1/3)*W/3;和剩下的三分之一混合,得到都是(100+100/3)/2=100*(2/3)度的水。
3、把最後一份水加熱,耗能(1-2/3)/3=1/9W。完成。
共耗能1/3+(1-1/3)/3+1/9=1/3+2/9+1/9=2/3W,比n=2時還少。因此我們發現n越大時最優。
我們可以總結出,分成n份,結束最後每份水的溫度的排列為 1/n,2/n,3/n……n/n (需要乘100)。從初始狀態(所有水溫度為0)變成這個狀態,所需總能量為

式中的分子為等差數列,分子的總和為

代入原式

n為2時結果為0.75,n=3時為0.66666……,與前面符合。

n為無窮時第一項為0 。所以所需最小能量為1/2W。

要注意的是,實際加熱時,越前面的水需要的能量越多,由於把自己的能量貢獻出去,所以最後排在前面的水的溫度反而低。

用Matlab編程一下:

算出來n=10 、100、 1000每份水在加熱前的熱量以及加熱所需的熱量圖為

算出來的值分別為0.5500,0.5050,0.5005,與前面公式符合。


參考:
回復:把1kg初始溫度為0度的水燒開至少需要多少能量?
答案是0


換熱不一定像問題中那樣採取併流的方式,如果採用逆流換熱還可以更少


貼吧的演算法應該是對的,根據貼吧演算法驗證了一下,極限似乎是0

假設先分成10份,第一份燒開後與第二份熱傳遞;傳完後,第一份再與第三份熱傳遞;

傳完後,第一份再與第四份熱傳遞,直到第一份與第十份進行熱傳遞。

然後,燒開第二份,第二份再與第三份進行熱傳遞;傳完後,第二份再與第四份熱傳遞;

直到第二份與第十份進行熱傳遞。

matlab程序如下

%boiled water
n=100;%把水分成n份
total=0;%消耗的能量(相對全部加熱的比例)
status=zeros(1,n);
for i=1:n
total=total+1-status(i);
status(i)=1;
for j=i+1:n
if status(i)&>status(j)
status(i)=(status(i)+status(j))/2;
status(j)=status(i);
end
end
end
total=total/n
status

水的份數和消耗的能量關係如下圖,縱坐標為相對全部燒開所需能量的比例

很有意思的問題,如果有大神能推導出公式就好了


先燒的0.5千克熱水後來怎麼樣了?有木有變冷?--------------------------------------------答主是逗比的分割線-----------------------------------------------------
按照新解釋,我試了一下極限是一半。(推倒倉促大家指正)


題主的意思是,舉個例子:
1、用天然氣燒水
2、水燒開後,把開水降溫。期間,利用降溫所釋放的能量,重新「合成」天然氣
3、用這些天然氣再燒另一壺開水

不算中途消耗的話,的確不會耗費天然氣。

這跟無限不無限沒什麼關係,這在化學裡叫催化劑。可是,燒開水時,分解細菌要消耗能量呀……所謂的boiled的區別在哪咧?

假設找到合適的催化劑,的確能只消耗分解細菌的能量,把水轉換為同溫度的boilded的水。


目前所有的回答似乎和題主表達的意思不太一致,估計是題主在表達上出了點問題導致各位有誤解。

如果我沒有理解錯誤的話題主想問的是這個:
(在不考慮熱量損失的前提下)我要把1kg水從0℃燒到100℃,如果一次性全燒開需要418000J,如果先先把0.5kg的冷水燒開,用熱導性良好的容器裝著,浸在剩下的0.5kg冷水裡,等它(0.5kg冷水)變成50度的溫水後,再把它(未曾到達100℃的那部分0.5kg冷水)燒開,這樣燒開1kg水就節約了25%的能量。 假設可以把1kg冷水分成無限多份,熱量傳遞時沒有任何損失,那麼利用熱量傳遞,最多可以節省多少能量?

如果可以把1kg冷水分成無限多份(數學不好我就當它是均分),假設每份從0℃燒到100℃需要1份能量,那除了第一份冷水需要1份能量,剩下的每份冷水需要0.5份能量就可以到達100℃。所以總體來看,只需要原來一半的能量(除了第一份冷水,剩下的冷水相當於從50℃開始燒)。

PS:似乎有更節省能量的方法,搬來小板凳坐等大神出手。

來自貼吧的演算法[1]:

於是乎,方法改進為:
假設先分成10份,第一份燒開後與第二份熱傳遞;傳完後,第一份再與第三份熱傳遞;
傳完後,第一份再與第四份熱傳遞,直到第一份與第十份進行熱傳遞。
然後,燒開第二份,第二份再與第三份進行熱傳遞;傳完後,第二份再與第四份熱傳遞;
直到第二份與第十份進行熱傳遞。
依次類推。
分的份數越多,越能節省能量。小弟手指加上腳趾才20個數,算不過來......


哪有節省能量啊,先把0.5kg燒開,消耗209000的能量,再把1kg燒開又是209000能量,最後還是418000啊。
要是能節省能量,豈不是違背了能量守恆定律?
哦哦,剛才誤解樓主的意思了。用樓主的方式,設正常需要的能量為1。經過計算,當把水分為n等份時,節省的能量為(n-1)/2n,所以節省的能量最多為1/2


上面回答不好好審題的居多啊。。題目是沒有問題的。

我感覺是無限趨向於0的。。待我好好算算

=================方案1

1kg水每次燒1/n,平均溫度後重複

設第n次燒開前,剩餘生水Mn,此次燒水用能量Gn,燒完並平均之後溫度Tn
(這裡假設水比熱為1方便計算)

T0=0
Tn=T[n-1]+Gn/Mn

M1=1
G1=(100-t0)/n=100/n
T1=100/n

M2=1-1/n
G2=(100-T1)/n=100(1-1/n)/n
T2=200/n

M3=1-2/n
G3=(100-T2)/n=100(1-2/n)/n
T3=300/n

G4=100(1-3/n)/n
……

G=G1+G2…Gn=100/n*((1-0/n) + (1-1/n) + (1-2/n) ……+ 1-(n-1)/n )=50(1+1/n)

當n趨於無窮,G=50

省50%

以上僅針對方案1,我不知道這種方案是不是最優的。。


=====================我擦嘞果然不是最優的=====================

假設先分成10份,第一份燒開後與第二份熱傳遞;傳完後,第一份再與第三份熱傳遞;

傳完後,第一份再與第四份熱傳遞,直到第一份與第十份進行熱傳遞。

然後,燒開第二份,第二份再與第三份進行熱傳遞;傳完後,第二份再與第四份熱傳遞;

直到第二份與第十份進行熱傳遞。依次

上面的貼吧答案才是最優的


推薦閱讀:

數學上還有哪些類似0.99999…=1這樣有點不符合初學者常識的有趣的事實?
話說進行數學證明的時候,大家用的是逆向思維還是正向思維?
極坐標和參數方程在圓錐曲線的應用?
為什麼「三角形」不叫「三邊形」,而「四邊形」及以上不叫「四角形」等?
微積分中符號 d 與符號 ? 的區別?

TAG:數學 | 物理學 | 趣味數學 |