看板 Visual_Basic 關於我們 聯絡資訊
最近需要寫一份程式,必須可以運算複數的程式。 由於VB似乎沒有內建複數的這種資料型態。 所以我就新增一個模組自訂資料型態 Complex: Type Complex r As Single i As Single End Type '------複數相加----------- Public Function Add(a As Complex, b As Complex) As Complex Add.r = a.r + b.r Add.i = a.i + b.i End Function '------複數相減----------- Public Function Subtract(a As Complex, b As Complex) As Complex Subtract.r = a.r - b.r Subtract.i = a.i - b.i End Function '------複數相乘----------- Public Function Multiply(a As Complex, b As Complex) As Complex Multiply.r = (a.r * b.r) - (a.i * b.i) Multiply.i = (a.r * b.i) + (a.i * b.r) End Function '------複數相除----------- Public Function Divide(a As Complex, b As Complex) As Complex Dim d As Single d = b.r * b.r + b.i * b.i Divide.r = (a.r * a.r + a.i * b.i) / d Divide.i = (a.i * b.r - a.r * b.i) / d End Function 問題來了,由於之後的運算需要計算複數的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就好? 如果是你們會怎麼寫呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.120.230.75