看板 Visual_Basic 關於我們 聯絡資訊
※ 引述《PianoSpirit (琴鍵)》之銘言: : 最近需要寫一份程式,必須可以運算複數的程式。 : 由於VB似乎沒有內建複數的這種資料型態。 : 所以我就新增一個模組自訂資料型態 Complex: : Type Complex : r As Single : i As Single : End Type <<中間吃掉>> : 問題來了,由於之後的運算需要計算複數的n次方 : 我現在只會在表單中用下面這樣(例如運算複數x的n次方), : 可是感覺不好,因為n越大就要運算越多次 : Dim t as Complex : Dim k as Integer : t = x : For k = 1 to n-1 : t = Multiply(x,t) : next k : 請問各位有沒有其他方法,或是能直接在模組內設Function就好? : 如果是你們會怎麼寫呢? 方法一 先展開 (A+Bi)^n = C(n,0)(A)^n + C(n,1)(A)^(n-1)(Bi) + C(n,2)(A)^(n-2)(Bi)^2 + ... + C(n,n)(Bi)^n 方法二 轉換成極座標 A+Bi = r(cosθ+sinθi) 則 (A+Bi)^n = r^n * (cosθ+sinθi)^n = r^n * (cosnθ + i sinnθ) 其中 r = ( A^2 + B^2 ) ^0.5 θ= cosinverse(A/r) 但 說實在的 這兩種方法還是沒有自己乘自己乘 n 次來的簡單明瞭 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.160.213.46
PianoSpirit:恩..謝謝您 04/28 10:21