1896 Becquerel 放射性#
案發現場#
1895 年底,倫琴(Röntgen)發現了 X 射線——它能穿透肉體、讓螢光屏發光。巴黎的貝克勒(Henri Becquerel, 1852–1908)追問:X 射線與螢光是不是同一回事?如果螢光物質受光激發後會同時發出 X 射線,那麼把螢光鈾鹽放在日光下曝曬、再用黑紙包住底片,應該能在底片上留下影像。
1896 年 2 月,貝克勒做了這個實驗,果然底片感光了。但接下來,大自然開了一個改變歷史的玩笑:巴黎連日陰雨,貝克勒把鈾鹽與底片一起收進抽屜,等天晴再做。幾天後他取出底片沖洗——沒有照過光的鈾鹽,竟也讓底片感光了! 這是一個全新的謎:鈾鹽不需要日光激發,就持續不斷地發出某種看不見的、穿透性的射線。能量從哪裡來?違反能量守恆嗎?這個「案發現場」開啟了核化學與核物理的大門。
偵查過程#
貝克勒的偵查:鈾是唯一的兇手。 貝克勒很快確認:射線來自鈾本身,與螢光、光照、溫度無關;只要物質含鈾,射線就持續存在。他測得射線能使空氣電離、能穿透薄金屬片。但射線的本質、能量來源,他未能解答。
居禮夫婦接力:尋找其他「發射體」。 瑪麗·居禮(Marie Curie, 1867–1934)選定這個題目作為博士論文。她的關鍵思路是:用電離強度定量測量射線,並檢驗所有已知元素。她發現釷(Th)也有放射性,且提出革命性的假設:放射性是原子的性質,強度只與鈾原子數量成正比,與化合物形式無關。
更重要的發現在礦石裡:瀝青鈾礦的放射性比純鈾強四倍以上——礦石中必藏有比鈾更強的未知放射性元素!居禮夫婦(皮埃爾·居禮 Pierre Curie 加入)展開了史詩般的分離工作:在漏雨的棚屋中,用數年時間處理數噸瀝青鈾礦渣,以分級結晶法一步步濃縮。1898 年 7 月,他們發現第一個新元素,命名為「釙」(polonium,紀念瑪麗的祖國波蘭);同年 12 月,發現放射性更強的「鐳」(radium)。瑪麗創造了「放射性」(radioactivity)一詞。1902 年,他們分離出 0.1 克純氯化鐳,測得鐳的原子量約 225,鐳的放射性是鈾的百萬倍。
能量的來源之謎。 鐳持續發熱,一克鐳每小時放出的熱量足以融化其自身等重的冰。皮埃爾測量後確認:這能量遠超任何化學反應。結論只有一個(當時令人毛骨悚然):能量來自原子內部——原子不是不可分割的,它在蛻變。這直接衝擊道耳頓原子論的根基。
結案報告#
1903 年,貝克勒與居禮夫婦共享諾貝爾物理學獎;1911 年,瑪麗·居禮再獲諾貝爾化學獎(表彰發現釙與鐳、分離純鐳)——史上第一位兩次獲諾貝爾獎、至今唯一在兩個不同科學領域獲獎的人。這段故事悲壯而沉重:棚屋中的勞累、皮埃爾 1906 年車禍喪生、瑪麗長年暴露於輻射而罹患再生不良性貧血於 1934 年病逝,她的筆記本至今仍有輻射、要穿防護衣才能翻閱。
放射性的發現引發的連鎖反應:
- 核化學之始:拉塞福(Rutherford)與索迪(Soddy)提出蛻變理論,發現 \(\alpha\) 、 \(\beta\) 射線本質與半衰期(見 1913-Soddy同位素與Moseley原子序.md)。
- 原子可分割:電子(1897)、原子核(1911)相繼現身,道耳頓的實心原子瓦解,最終走向 Bohr 模型(見 1913-Bohr原子模型.md)。
- 醫學與能源:鐳療法開創放射醫學;核分裂(1938)與核能是半世紀後的果實。
- 放射防護:居禮夫婦的犧牲也催生了輻射防護科學。
證據與工具#
# 放射性蛻變的指數衰減律 N = N0 * e^(-λt),與半衰期計算
import numpy as np
import matplotlib.pyplot as plt
# 鐳-226 的半衰期約 1600 年
half_life = 1600.0 # 年
lam = np.log(2) / half_life # 蛻變常數 λ = ln2 / t½
t = np.linspace(0, 6400, 300)
N = np.exp(-lam * t) # 剩餘比例
plt.plot(t, N, label=r"$N/N_0 = e^{-\lambda t}$")
for n in range(1, 5):
plt.axvline(n * half_life, color="gray", ls=":", alpha=0.6)
plt.axhline(2**-n, color="gray", ls=":", alpha=0.6)
plt.xlabel("時間(年)"); plt.ylabel("剩餘比例 N/N₀")
plt.title("鐳-226 蛻變:每 1600 年剩餘一半")
plt.legend(); plt.show()
# 模擬:用隨機數模擬 10000 個原子核的蛻變(蒙地卡羅)
rng = np.random.default_rng(42)
atoms = np.ones(10000, dtype=bool)
t_half_sim, counts = 0, []
for year in range(0, 8001, 100):
# 每個原子核在 dt 內蛻變的機率 = λ·dt
p = lam * 100
decay = rng.random(atoms.sum()) < p
idx = np.where(atoms)[0][decay]
atoms[idx] = False
counts.append(atoms.sum())
print("時間(年) 剩餘原子數(模擬) 理論值")
for i, year in enumerate(range(0, 8001, 100)):
if year % 800 == 0:
print(f"{year:>6} {counts[i]:>12} {10000*np.exp(-lam*year):>10.0f}")