發表文章

VB6寫DLL註冊給Classic ASP網頁使用_VB6的ActiveX DLL專案建構

圖片
  ASP呼叫DLL寫好的VB6封裝函數 執行結果 Step1.新增VB6的ActiveX DLL專案 Step2.到專案屬性面板去更改Project Name跟Project Description以及調整其Threading Model設置為Apartment Threaded Step3.更改Class名稱設置為MyFunction Step4.撰寫函數功能邏輯 Step5.將專案跟cls程式檔存檔 Step6.選擇製成dll Step7.新增註冊用.bat檔案,放在跟dll同樣目錄位置 雙點擊執行按OK https://expect7.pixnet.net/blog/posts/5058511170

人工智慧金融投資決策_複利計算(Compounding the Interest)_Put-Call Parity(買賣權平價關係)

圖片
  https://www.wallstreetmojo.com/put-call-parity/ 利息的複利計算(Compounding the Interest) 附息證券的價值不僅取決於利率,也取決於利息的複利計算頻率。 (PS:假設取得的利息會以相同利率再投資。) 令: P 0 P_0 P 0 ​ :初始時間 t 0 t_0 t 0 ​ 的本金金額 r r r :年利率 n n n :年數 則經過第 n n n 年後,債券的價值為: 其中: P n P_n P n ​ :經過 n n n 年後的本金與利息總額 P 0 P_0 P 0 ​ :初始本金 r r r :每年的利率 n n n :投資年數 若提高利息支付頻率,也就是增加複利計算的次數,假設每年計息 m > 1 m>1 m > 1 次,則 P n P_n P n ​ 的價值為: 其中: m m m :每年的複利計算次數 r m \frac{r}{m} m r ​ :每一期的利率 n m nm nm :在 n n n 年內的總計息次數 假設有一項無風險證券,其固定利率為 r r r ,並且在一段 τ > 0 \tau>0 τ > 0 的期間內採用 連續複利 ,則其價值為: 其中: P 0 P_0 P 0 ​ :初始時間 t 0 t_0 t 0 ​ 的投資本金 P τ P_{\tau} P τ ​ :從時間 t 0 t_0 t 0 ​ 投資至 t 0 + τ t_0+\tau t 0 ​ + τ 時的到期價值 r r r :固定年利率 τ \tau τ :投資期間 e x e^x e x :指數函數 例如,100 歐元以年利率 10% 連續複利一年,其價值為: P 1 = 100 e 0.1 ≈ 110.517 P_1=100e^{0.1}\approx110.517 P 1 ​ = 100 e 0.1 ≈ 110.517 測試程式 #1-1. r = 0.1 #年利率百分之10 100 *( 1 + r )** 10 #100元投入,投資10年獲得259.37元 #1-2.離散的發行,年利率 10% 時,100 歐元在一年內受到複利計息...

DSP筆記1_使用 NumPy自帶的fft做_觀察fft結果、ifft後的訊號波形圖、頻率對應相位

圖片
https://www.sintef.no/en/expert-list/digital/sustainable-communication-technologies/signal-processing-and-machine-learning/ 在Python當中我們可使用 FFT 函式,將時域訊號轉換成頻域訊號。 例如使用 NumPy自帶的: import numpy.fft as fft 而另一套scipy引入方式則是用 import scipy.fftpack as scifft fft功能:主要就是把時間序列訊號做FFT,獲得其幾個頻率、振福和初始相位。 ifft功能:也就是把複數值序列做傅立葉逆變化,獲得複數值的訊號,取其實部,是時頻訊號。可以寫出訊號的余弦函數的結構式。 以下就DSP幾個術語做個介紹 訊號頻率: 指訊號本身週期性變化的速度,通常使用 f 表示,單位為赫茲(Hz)。 例如,一秒鐘重複 10 次的訊號,其頻率為 10 Hz。 取樣頻率: 指每秒鐘對連續訊號取樣的次數,通常使用 Fs 表示,單位也是 Hz。 表示每秒取得 100 個取樣點。 奈奎斯(Nyquist-Shannon sampling theorem)取樣定理: 為了正確還原訊號,取樣頻率至少必須大於訊號最高頻率的兩倍。 舉例:像是人類聽力範圍坐落於20赫茲-20000赫茲(20kHz) 根據奈奎斯取樣定理,fs > 2 fH 也就是 fs > 2 * 20kHz 目前網際網路流傳的音樂檔mp3,其取樣頻率也通常是設在44kHz、48kHz。 實際應用通常會選擇比兩倍更高的取樣頻率,以降低混疊現象。 FFT 頻譜幅值: fft_magnitude = np.abs(np.fft.fft(signal, n=NFFT)) np.abs() 用來計算 FFT 複數結果的絕對值,也就是頻譜的幅值。 振幅(頻)譜(amplitude spectrum): 透過傅立葉變換(Fourier Transform)將時域訊號轉成頻域後,取其絕對值或強度大小而得到的結果。 能量訊號: 若訊號振幅的絕對值平方,在整個時間範圍 (−∞,+∞) 內的積分為有限值,則稱為能量訊號。 常見例子包括有限時間的方波訊號、三角形訊號、脈衝訊號、暫態訊號、非週期性的確定訊號,以及非隨機訊號。 能量頻譜:...

透過Dlib的臉部81個關鍵點去抓取額頭、臉頰、人中ROI區塊各自劃分22個區域

圖片
採用程式語言: python3.11 套件: dlib-bin 20.0.1 opencv-python4.11.0.86 numpy2.2.6 81個關鍵點下載網址 https://github.com/codeniko/shape_predictor_81_face_landmarks/blob/master/shape_predictor_81_face_landmarks.dat 除了原來的 68 個臉部標誌外,作者還額外添加了 13 個標誌來覆蓋前額區域。 第一階段測試程式 from pathlib import Path import cv2 import dlib import numpy as np VIDEO_PATH = R"F:\DeepfakeTIMIT.tar\DeepfakeTIMIT\higher_quality\fjem0\sa1-video-fkms0.avi" MODEL_PATH = R"C:\img\shape_predictor_81_face_landmarks.dat" #將一個大矩形切成多個小矩形 def split_rectangle (box, rows, cols, region_name): """ box: (x1, y1, x2, y2) rows: 垂直方向切幾列 cols: 水平方向切幾欄 """ x1, y1, x2, y2 = box # 防止座標順序顛倒 x1, x2 = sorted (( int (x1), int (x2))) y1, y2 = sorted (( int (y1), int (y2))) # 無效矩形不處理 if x2 <= x1 or y2 <= y1: return [] xs = np.linspace(x1, x2, cols + 1 , dtype= int ) ys = np.linspace(y1, y2, rows + 1 , dtype= int ) small...