Processing math: 54%

2017年7月27日 星期四

Haskell中用foldl實現foldr

假設折疊中的折疊函數是f(x,y),要折疊[1,2,3],初始值是0
左折疊的精神如下:
f(f(f(0,1),2),3)
遞迴呼叫是發生在左邊的參數。
參數求值是從左到右的。因為一定要先遞迴到最深才能取得參數值,所以不能使用在無窮串列上。

2017年7月24日 星期一

windows上的gvim如何設定預設字型

gvim上設定預設字型向來是一件麻煩事,尤其在windows上。
問題是參數不知道應該長怎樣,隨系統的不同而不同。

windows上,開啟gvim之前系統會執行"_vimrc"的內容。
首先用視窗界面("編輯"→"設定字型")來設定字型。
接下來利用":set guifont?"指令來觀察參數應該長怎樣。
然後在_vimrc中最後一行輸入 「 set guifont="剛剛看到的參數" 」就可以了。
我的gvim 8.0,windows 7,最後結果是這樣

set guifont=Source_Code_Pro_Medium:h12:cANSI:qDRAFT


2017年4月7日 星期五

小o符號的使用

小o符號在計算函數極限和闡述微分定義時非常的有用。對於極限理論來講,它並沒有帶來新的思想,但是符號的使用非常便利,可以造成思考上的省力效果,對於各種極限運算也可以透過小o,在形式上完全變成代數運算。小o可以說是偷渡"無窮小"的數到標準分析學裏的一個辦法。不用學習非標準分析繁重的邏輯就能夠享受非標準分析的好處。

2017年1月19日 星期四

微分形式的不變性

微分的定義是這樣的
df=f(x)dx
高階微分的定義
dnf=f(n)(x)dxn
這個式子的由來是因為我們把dx當成固定的,它不是x的函數,所以d(dx)=0,但是f(x)x的函數,因此

帶參數積分的微分

ddyu(y)v(y)f(x,y)dx
這式子要如何計算?
uvf(x,y)dx=I(u,v,y)dI=Iudu+Ivdv+Iydy=f(u(y),y)u(y)dyf(v(y),y)v(y)dy+(uvfy(x,y)dx)dy
證明要比這個麻煩,這樣只是方便記憶。

2017年1月14日 星期六

泰勒多項式的兩種餘項

假設f(x)[a, b]連續,在(a, b) n+1階可微,帶餘項的泰勒公式是這樣的:
  f(b) = \sum_{k=1}^n f^{(k)}(a)/(k!) (b-a)^k+f^{(n+1)}(\xi)/((n+1)!)(b-a)^{n+1}

f^{(n+1)}(\xi)/((n+1)!)(b-a)^{n+1}是最常見的餘項,叫做拉格朗日餘項。但是還有令一種餘項叫做積分餘項(還有第三種,暫時不提),這可以直接用分部積分推導,或是從拉格朗日餘項用積分中值公式推導。後一種方法簡單一點。

多加上一個條件,就是f(x)(a, b)連續可微,就成立積分餘項
(1/n!)\int_a^b f^{(n+1)}(x)(b-x)^n \, dx

注意到(b-x)x 屬於[a,b]時不變號,又發現
(1/n!)\int_a^b (b-x)^n \, dx= (b-a)^{n+1}/(n+1)!
之後套用積分中值公式就知道兩種餘項相等了。