發表文章

Python 的多項式曲線擬合

圖片
import numpy as np import pylab as plt # 隨機產生資料點來Fit x = np.random . rand ( 7 ) y = np.random . rand ( 7 ) # 最高次項為4次方的多項式 line4 = polyfit ( x , y , 4 ) pn4 = poly1d ( line4 ) line3 = polyfit ( x , y , 3 ) # 最高次項為3次方的多項式 pn3 = poly1d ( line3 ) xaxis = linspace ( 0 , 1 , 100 ) plt . plot ( x , y , 'o' , xaxis , pn4 ( xaxis ), '-g' , xaxis , pn3 ( xaxis ), '-b' ) plt . legend ([ 'data to fit' , '4th degree poly' , '3th degree poly' ]) plt . axis ([ 0 , 1 , 0 , 1 ]) plt . show () 再提高次方數可以擬合的更好,點到即止。

AdMod 廣告改版方式

圖片
現在Google不讓 APP 挾帶 GoogleAdMobAdsSdk.jar了。要從 Google Play Service 上要取得服務。因為忙碌的生活一直沒有去改善這一部份。從Google所限定的更改時間到現在,其實舊版還是可以使用的。但為了小心哪一天Google又大刀一揮,我們還是跟著改版吧! 整個流程就是安裝 Google Play Service 的過程。 第一步 到 Android SDK Manager,把Tools更新到最新版吧! 主要更新的有 Android SDK Tools Android SDK Platform-tools Android SDK Build-tools PS. 如果這一步發生版本衝突無法安裝,請參考這一篇( Eclipse 移除 Plugin ),把衝突的版本移除。個人是在ADT上出現了問題,所以把舊ADT 2.0 移除。 移除後,從Help -> Install New Software,再次從  https://dl-ssl.google.com/android/eclipse/ 安裝即可。 第二步: 更新完,會在<android-sdk>/extras/google/底下長出一個 google_play_services, 如果沒有,請重開Eclipse -> Window -> Android SDK Manager 查看 Package 中的 extra 是否存在 google_play_services。如果存在,即可以安裝。 如果還是不存在,請將<android-sdk>/extras/google底下的資料都刪除,再一次重開Eclipse -> Window -> Android SDK Manager 此時extra就會出現google_play_services了。 PS. 我們可能忘了<android-sdk>的位置。沒關係,Eclipse -> Window -> Preferences -> Android 就會看到了。 第2步之1: 安裝完,在Eclipse 中 import -> Existing Android Code Into Wo

Eclipse 移除 Plugin

圖片
Eclipse 的 Plugin 越來越多後,整體就變慢了,還會出現許多升級過程的問題。怎麼移除Plugin? 從 Help -> About Eclipse 出現如下的視窗 點擊 Installtion Details  出現如下視窗。  選擇要移除的Plugin,再點擊Uninstall 確定有打勾,點擊 Finish。 點擊 Restart Now,從開一次Eclipse,完成。

終極記牌大師

圖片
終極記牌大師 這個記牌的方式真得是有效。只要記得十三個數字,整副牌就可以全記住了。確實讓玩牌無所不利。如果加上貝式機率的計算,就可以達到高手的境界。 話說,我已經連勝五場德州了… 獨創終極記牌法, 讓你牌桌上無往不利,結合閃卡學習功能,算牌進度加倍 規則: 1. 依照花色給予不同的權重, 在此, 黑桃:8, 紅心:4, 紅磚:2, 梅花:1 2. 這樣的安排正如同時十六進位碼(四個位元)的安排, 每個位元分別代表一個花色 3. 依照我們的設計, 如果出現了” 黑桃 跟 梅花” 的組合, 則將此組合計為(二進位)1001 = (十六 進位)9 4. 承上, 如果再出現”紅心”, 則花色組合狀態更新為(二進位)1101 = (十六進位)D 5. 依照此法, 如果, 想記憶A,K,Q,J,10等5張牌的花色組合, 則只要給予五個位數的十六進位碼即可 6. 承上, 例如編碼C903F代表了如下的牌形: 7. 依個人記憶力擴充, 只要記憶13個十六進位碼, 即可完全記憶整個牌局. A♠,A♥,K♠,K♣,J♦,J♣,10♠,10♥,10♦,10♣ 8. 本程式依照此法, 循序漸進, 幫助使用者完成記牌算牌的訓練

使用 Dropbox 當 Git 伺服器

DropBox 端 1、建立一個資料匣 2、在資料匣中執行 git init --bare -->產生.git目錄,記錄版本,但不會包含來源檔案的拷貝。 本地端 A 電腦 1、建立一個資料匣 2、在資料匣中執行 git init    --> 產生.git資料匣,專為記錄版本用 3、git remote add XXX YYYYYYYY  --> XXX 為自已取的名字,YYYYYYYY 是dropbox中要用來當伺服的資料匣,如 git remote add example /user/abc/dropbox/example,這個意思是說,我要建立一個遠端的伺服資料匣,名字為example,位置在/user/abc/dropbox/example。 到此,基本工作完成。 試著在本地端的資料匣內,建立一個文字檔。建立完成可以先commit 如下 git add abc.txt -->告訴git開始追縱abc.txt這個檔 git commit -m "create abc.txt" -->建立一個節點 git push example master -> example 是一開始我們取的代號,master 代表當下的分支。這意思是說,把本地的master支線推到example去。 這樣就把伺服端更新了。 現在,在B電腦這一端,也想要有相同的檔案且想要直接從example拉下來B電腦。做法 1、先在B電腦建立一個資料匣 2、在資料匣中執行 git init    --> 產生.git資料匣,專為記錄版本用 3、git pull example master  --> example 是一開始我們取的代號,master 代表當下的分支。 注意 如果在A電腦上我修改了文件,由本來的節點 x1 commit 成 x2,丟到dropbox上。然後到B電腦端,B電腦端如果還在節點x1,將文件pull下來,B電腦就會變成在節點x2了。但如果,B電腦端在x1節點下,曾經修改過文件(尚未commit新節點),此時,pull就會失敗。 解決的方法, 1.再開一個新資料匣來pull。 2.就是放棄所有在B電腦上的修改,回復到原始的x1。指令如下 git r

In App Billing 學習 I

圖片
要學習Google的In App Billing可以從他的範例來學,也可以直接套用,即方便又不容易出錯。要學習之前我們先做一下基本的準備。在Android developer中,提供了一個車子買油的小範例 TrivialDrive 。 TrivialDrive 這個範例就在 android的sdk 下的 /extras/google/play_billing/sample 。我們方便些,把sample下的src的裡的java都複製到我們的project的src下吧。有如下幾個檔名: IabHelper.java IabResult.java IabException.java Inventory.java Purchase.java Security.java SkuDetails.java Base64.java Base64DecoderException.java 第一步: 先在 AndroidManifest.xml 加入 <uses-permission android:name = "com.android.vending.BILLING" /> 第二步 :   在src底下創建一個新的package, 名為 com.android.vending.billing,再把 IInAppBillingService.aidl(也是在 android的sdk 下的 /extras/google/play_billing/ 可找到) 複製到 src目錄下的package-> com.android.vending.billing底下 。 第三步: 建立商品。 進入自已的market->應用程式內產品  點擊新增產品 產品ID只能有小寫(a-z)、數字(0-9)、底線(_)和小數點(.)。 不管是不是納入管理產品,其實google都有管理,所以就選納入管理吧。訂閱是指一個固定周期的付費,像是雜誌每個月的付費之類。 第四步: 找出public key。進入自已的market 複製public key後,就存放在程式裡吧。如下在 onCreate 中 @Override public void onCreate(Bundle s

右腦訓練 SpeedBrain Q&A(简中)

圖片
问:这是一个眼睛的训练游戏吗? 答: 当然不是。这是一个训练右脑图片记忆的游戏。 问:为什么每个题目的出现时间都那么短? 答: 因为右脑是快速处理图像的脑。左脑偏于罗辑所以需要思考时间。举例来说,我们念书通常是一个字一个字默念。这样一次只读一个字是左脑在读书,太没效率了。有人可以一目十行这是真的,因为他不默念文字。他把文字当图形来看。看文字的图形就理解意义。这才是有效率的。所以这个游戏的设计就是不超过一秒。不给玩家数图形数量的时间,一旦有时间给玩家数,就是用左脑了。 问:玩游戏时,有什么诀窍吗? 答: 诀窍一:   就是记在脑子里面数。图像记在脑子里了,再用左脑去数。这个练习久了,右脑跟左脑的连结就会很快速、深刻。另外就是图形排列的熟析。大家看看下面的图。 图一 图二 图一跟图二都是相同数量,但从图一排成图二方式对于玩家来说,数量就不是那么好算了。排列跟数量的对应就是右脑的功能。训练够久,不管是图一还是图二,都能一看心中就出现数量。就好像我们为什么可以轻易的辨识左手右手。因为我们天天都在看我们的手。 诀窍二: 用眼角的余光,不要想把每一个图都看得清楚。而是瞄一下,然后靠印象跟直觉。因为人的眼睛是有极限的。当图形越来越多,就只能靠眼角的余光去瞄了。有时候会有一种很特别的感觉,这是作者个人的体验。就是根本没看到,但心中却很有信心就是那个图形。还真得对了!很神奇!游戏的第四关跟第六关就是为了训练这种直觉开发的。 问:玩时是否真的会头痛? 答: 有人反应会头晕,头痛,眼酸。这是正常的。确实!这是一个需要高度专注力的游戏。注意休息就好!一次不要玩太久,就如我在 google play 上提到的,就很像很久没运动了,运动之后的肌肉酸痛。不过话说回来,因为我们的教育不鼓励这样的训练,所以久而久之,我们的右脑也就不太运转。希望这小游戏可以让大家的右脑动起来,进而对大家有所帮助。 问:请问作者本人玩到第几关? 答: 我个人状况好时可以玩到第七关,有过一次玩到第八关 ( 用了 20 颗瞬眼 ) 。不过平时注意力跟精神不够专注时,通常在第五关就过不了了。 ( 笑 ) 问:有没有什么话要对大家说。 答: 希望大家多多练习这个游戏。如果世界上越来越多人