Mathematica 乙個基於康托集合定義的函式

2021-09-25 17:22:00 字數 1096 閱讀 8098

原文:無限小卻無限大的集合 & 階梯狀的連續函式

康托集合是閉區間[0,1]的子集,它的定義如下:給定區間[0,1],把這個區間分成三段,去掉中間那一端(即去掉(1/3,2/3)),然後把剩下的兩段中每一段都按照剛才的方法再進行操作,然後再分,再分,就這樣一直挖洞挖下去。在第二次操作後,剩下的區間是[0,1/9]∪[2/9,1/3]∪[2/3,7/9]∪[8/9,1],再操作一次後區間將由8段構成。

設f為定義域在康托集合內的函式,定義f(x)為按照上面的轉化方法x所對應的二進位制小數,顯然這個函式的值域就是[0,1]。比如1/3的三進製為0.0222…,而二進位制0.01111…=0.1即十進位制的1/2,因此f(1/3)=1/2。我們發現,2/3的三進製為0.2,而0.1的十進位制也是1/2。於是f(1/3)=f(2/3)。類似地,那些被挖去的區間的兩個端點對應的函式值都相同。現在,我們把這個函式的定義域也擴充套件到[0,1]:讓康托集合裡的那些被挖去的區間裡的點的函式值與該區間對應的端點相同(在函式圖象上看相當於把函式值相等的點用橫線段連起來)。於是,f(1/2)=f(1/3)=f(2/3)=1/2,f(1/8)=f(1/9)=f(2/9)=1/4。這個函式一定是上公升函式,它在長度為1的區間裡從0增長到了1。同時,這個函式也是乙個連續函式,因為康托集合與[0,1]的所有實數一一對應。這個函式是乙個階梯狀的函式,但是它不是分段的,是連續的。它是無窮多個橫線段組成的乙個連續函式,除端點無意義以外導數值都是0。或者說,這個函式在不變之中上公升。

cantor[x_,n_,z_,low_,upp_]:=if[x<2/3low+1/3upp,

cantor[x,n+1,z-1/2^n,low,2/3low+1/3upp],

if[x>1/3low+2/3upp,

cantor[x,n+1,z+1/2^n,1/3low+2/3upp,upp],

z]]cantor[x_]:=cantor[x,2,.5,0,1]

效果截圖

基於 Raspberry Pi 構建乙個飛機觀察器

此專案使用帶超低成本軟體無線電 sdr 硬體的 raspberry pi,來接收數百萬裡之外的機載 s 模式應答器傳送的跟蹤資訊。raspberry pi 配備了靈巧的 3.5 英吋 tft 顯示屏,以提供便捷的飛機活動概覽。基於 rtl2832u 的微小 sdr 接收器 124 5461 專為 d...

乙個基於c 的log庫

使用兩個快取區存放日誌,每個快取區為乙個hash表,通過執行緒id計算對應的hash值,將日誌存入對應的位置。乙個log執行緒讀取快取區,並將其寫入log檔案,每次將兩個快取區更換,防止鎖爭用的開銷,將緩衝區的日誌寫入檔案後再次對換緩衝區,迴圈往復。logger.h 1 ifndef logger ...

乙個基於c GUI的計算器

先上圖 2實驗過程 分析 這個計算器主要有三種不同的按鍵,即數字鍵,演算法操作符鍵,等於鍵。每一種不同的按鍵用同乙個事件處理函式來處理。為了實現連續操作的功能,所以把運算元抽象成前乙個數和後乙個數。把操作符也抽象成前乙個操作符和當前操作符,每次輸入完當前操作符後,就執行前乙個數和當前數利用前乙個操作...