問題:
題解:
從圖中兩對同色的相似三角形可證得
ZXZA=ZYZB
故
XY//AB
2015年12月14日 星期一
2015年12月10日 星期四
[程式/Mathematica] 沒有row interchange的LU分解函數
首先... SyntaxHighlighter沒法高亮Mathematica的語法,所以下面只能以這種形式表示了
沒有row interchange的LU分解函數(LU Decomposition without row interchanging):
LUFactor[mat0_] :=
Module[{m, n, i, j, k = 1, L, U = mat0},
{m, n} = Dimensions[U];
L = IdentityMatrix[m];
For[j = 1, j < n + 1, j++,
If[U[[k, j]] != 0,
For[i = k + 1, i < m + 1, i++,
L[[i, k]] = U[[i, j]]/U[[k, j]];
U[[i]] = U[[i]] - U[[k]]*U[[i, j]]/U[[k, j]];
];
k++
]
];
Print["L=", L // MatrixForm];
Print["U=", U // MatrixForm];
Return[{L, U}];
]
將這個放在Mathematica的檔案中執行一次後就能呼叫這個函數,在裡面放入要分解的矩陣就可。Print那兩行是顯示L和U,不需要的話可刪除。如果想將這個函數的L和U指定到另外的變數中,可以寫成{a,b}=LUFactor[matrix],這樣L和U就會指定到a和b這兩個變量上。
事源是這樣的,Mathematica本身內置了一個叫LUDecomposition的函數,但它沒法選擇做不做row interchange,而筆者在溫習線性代數的課題時,在LU分解的練習中有些題目是要在不做row interchange的情況下解的,只好放棄。
然後想說其實筆者也會一點編程,應該查一下Mathematica的編程語法就會了吧,於是就邊查邊找別人寫的函數的例子,就編出上面的function了。
一開始只是寫了4x4的矩陣作試驗,然後擴建成nxn,再把參數改一改,令它能處理mxn,最後加一個If和改改參數變成能處理pivot的問題。
不過Mathematica的資料真難找,搜尋常常夾了一堆不相干的東西,像要找function的定義方法就找了很多數學function的相關東西出來,找programming就變mathematical programming,好麻煩。
沒有row interchange的LU分解函數(LU Decomposition without row interchanging):
LUFactor[mat0_] :=
Module[{m, n, i, j, k = 1, L, U = mat0},
{m, n} = Dimensions[U];
L = IdentityMatrix[m];
For[j = 1, j < n + 1, j++,
If[U[[k, j]] != 0,
For[i = k + 1, i < m + 1, i++,
L[[i, k]] = U[[i, j]]/U[[k, j]];
U[[i]] = U[[i]] - U[[k]]*U[[i, j]]/U[[k, j]];
];
k++
]
];
Print["L=", L // MatrixForm];
Print["U=", U // MatrixForm];
Return[{L, U}];
]
將這個放在Mathematica的檔案中執行一次後就能呼叫這個函數,在裡面放入要分解的矩陣就可。Print那兩行是顯示L和U,不需要的話可刪除。如果想將這個函數的L和U指定到另外的變數中,可以寫成{a,b}=LUFactor[matrix],這樣L和U就會指定到a和b這兩個變量上。
事源是這樣的,Mathematica本身內置了一個叫LUDecomposition的函數,但它沒法選擇做不做row interchange,而筆者在溫習線性代數的課題時,在LU分解的練習中有些題目是要在不做row interchange的情況下解的,只好放棄。
然後想說其實筆者也會一點編程,應該查一下Mathematica的編程語法就會了吧,於是就邊查邊找別人寫的函數的例子,就編出上面的function了。
一開始只是寫了4x4的矩陣作試驗,然後擴建成nxn,再把參數改一改,令它能處理mxn,最後加一個If和改改參數變成能處理pivot的問題。
不過Mathematica的資料真難找,搜尋常常夾了一堆不相干的東西,像要找function的定義方法就找了很多數學function的相關東西出來,找programming就變mathematical programming,好麻煩。
標籤:
程式
,
LU
,
Mathematica
2015年12月9日 星期三
[數學] ABCD共圓,AD與BC的延線交於圓外的一點E,BDM為直線,其中MT與圓ABCD相切。若EM//AC,證明MT=ME。
問題:
題解:
Joint BT and DT.
Let MT=a, ME=b, MD=r and MB=s
Our aim is to prove a=b.
Consider △BMT and △TMD,
∠BMT=∠TMB (commond ∠)
∠TBM=∠DTM (∠ in alt. segment)
Thus, △BMT∼△TMD (AA)
By corr. sides ∼△s, we have,
MTMD=MBMTar=saa=√rs
Consider △BME and △EMD,
∠BME=∠EMD (commond ∠)
∠MBE=∠A (∠s in the same segment)
∠A=∠MED (alt. ∠s, EM//AC)
so, ∠MBE=∠MED
Thus, △BME∼△EMD (AA)
By corr. sides ∼△s, we have,
MEMD=MBMEbr=sbb=√rs=a
Therefore, MT=ME.
Q.E.D.
題解:
Joint BT and DT.
Let MT=a, ME=b, MD=r and MB=s
Our aim is to prove a=b.
Consider △BMT and △TMD,
∠BMT=∠TMB (commond ∠)
∠TBM=∠DTM (∠ in alt. segment)
Thus, △BMT∼△TMD (AA)
By corr. sides ∼△s, we have,
MTMD=MBMTar=saa=√rs
Consider △BME and △EMD,
∠BME=∠EMD (commond ∠)
∠MBE=∠A (∠s in the same segment)
∠A=∠MED (alt. ∠s, EM//AC)
so, ∠MBE=∠MED
Thus, △BME∼△EMD (AA)
By corr. sides ∼△s, we have,
MEMD=MBMEbr=sbb=√rs=a
Therefore, MT=ME.
Q.E.D.
2015年12月7日 星期一
[數學] 邊長為a的正方形, 其中三角(逆時針, 從左上開始)至正方形一內點的距離分別為1, 2和3, 求邊長a和對應長度為1和2的線段夾角
問題:
解答:
Let A:(0,0), B:(0,a), C:(a,a), D:(a,0) be the corners of the square.
The equations of the circles centered at A, B and D with radii 2, 1 and 3 respectively are
x2+y2=4 ------- (1)
x2+y2−2ay+a2=1 ------- (2)
x2+y2−2ax+a2=9 ------- (3)
The point K:(m,n) in the square satisfies these equations simultaneously, where m>0 and n>0
From (1) and (2), (2) and (3), we have
2an=a2+3>0
2am=a2−5>0
Sum of their squares is
(2ay)2+(2ax)2=4a2(x2+y2)=16a2
Thus,
(a2+3)2+(a2−5)2=16a2
a4−10a2+17=0
Using quadratic equation to solve a2, which is the area of the square.
Area=a2=10±√102−4(17)2=5±2√2=5+2√2
(Since a2>5, reject a2=5−2√2)
Therefore a=√5+2√2
Consider △ABK, by cosine law, we have
a2=12+22−2(1)(2)cosθcosθ=−1√2θ=135∘
P.S. 這個順便測試在Mathb.in寫的東西直接複製過來怎麼,完全沒問題。在Mathb.in編輯簡單多了,寫了的東西可立即顯示,這邊預覽跑半天呢。
解答:
Let A:(0,0), B:(0,a), C:(a,a), D:(a,0) be the corners of the square.
The equations of the circles centered at A, B and D with radii 2, 1 and 3 respectively are
x2+y2=4 ------- (1)
x2+y2−2ay+a2=1 ------- (2)
x2+y2−2ax+a2=9 ------- (3)
The point K:(m,n) in the square satisfies these equations simultaneously, where m>0 and n>0
From (1) and (2), (2) and (3), we have
2an=a2+3>0
2am=a2−5>0
Sum of their squares is
(2ay)2+(2ax)2=4a2(x2+y2)=16a2
Thus,
(a2+3)2+(a2−5)2=16a2
a4−10a2+17=0
Using quadratic equation to solve a2, which is the area of the square.
Area=a2=10±√102−4(17)2=5±2√2=5+2√2
(Since a2>5, reject a2=5−2√2)
Therefore a=√5+2√2
Consider △ABK, by cosine law, we have
a2=12+22−2(1)(2)cosθcosθ=−1√2θ=135∘

P.S. 這個順便測試在Mathb.in寫的東西直接複製過來怎麼,完全沒問題。在Mathb.in編輯簡單多了,寫了的東西可立即顯示,這邊預覽跑半天呢。
2015年12月1日 星期二
[電腦] Bluestack 自動下載遊戲 的解決方法
相信有用bluestack的各位應該有被這問題困擾吧?它為了經營而強迫用戶安裝那些apps以收取廣告費,而那些apps總是100Mb上下,很佔電腦資源。筆者搜尋各大中文網站後也沒找到一個簡單又合用的解決方法(一些只是直接推銷其他軟體)。不過在英文網站卻找到了(英文網絡的資源總是比較多呢),簡單,而且目前為止我的bluestack也沒再裝怪apps,事不宜遲,馬上開始:
1. 下載並安裝nova launcher
>>載點<<
nova launcher是啟動android的首頁介面,用它的原因無它,因為所有問題都出在bluestack原來的介面 Gamepop-首頁,所以我們用一個更好的介面取代這個應用。
如果想美化首面,請找有關nova launcher的教學,自己搜尋,我沒需要所以沒弄。
2. 在設定→高級設置→應用程式 中停止並刪除bluestack自帶的apps。
例如 Google Play服務、Gamepop-首頁、Getjar... 總之你覺得沒用的,能刪都刪,不能刪就停用。
3. 重新啟動bluestack,它會問你用甚麼作為首面,你就選永久使用nova launcher。
4. 為防bluestack更新,請編輯登陸檔。
首先在"開始"找regedit.exe,開啟後登錄編輯程式就出來了,然後到
HKEY_LOCAL_MACHINE>SOFTWARE>BlueStacks>Updater
在ManifestURL這個檔上按右鍵,選修改,把原來的網址刪除。
這樣就大功告成了,目前筆者還沒看到bluestack亂裝apps。沒圖沒影片請見諒,因為我不想重做一次,各位請自行嘗試。
1. 下載並安裝nova launcher
>>載點<<
nova launcher是啟動android的首頁介面,用它的原因無它,因為所有問題都出在bluestack原來的介面 Gamepop-首頁,所以我們用一個更好的介面取代這個應用。
如果想美化首面,請找有關nova launcher的教學,自己搜尋,我沒需要所以沒弄。
2. 在設定→高級設置→應用程式 中停止並刪除bluestack自帶的apps。
例如 Google Play服務、Gamepop-首頁、Getjar... 總之你覺得沒用的,能刪都刪,不能刪就停用。
3. 重新啟動bluestack,它會問你用甚麼作為首面,你就選永久使用nova launcher。
4. 為防bluestack更新,請編輯登陸檔。
首先在"開始"找regedit.exe,開啟後登錄編輯程式就出來了,然後到
HKEY_LOCAL_MACHINE>SOFTWARE>BlueStacks>Updater
在ManifestURL這個檔上按右鍵,選修改,把原來的網址刪除。
這樣就大功告成了,目前筆者還沒看到bluestack亂裝apps。沒圖沒影片請見諒,因為我不想重做一次,各位請自行嘗試。
訂閱:
文章
(
Atom
)