作者commiserate (无)
看板Visual_Basic
标题Re: [VB6 ] 求助!自订变数型态「复数」的问题
时间Fri Apr 27 22:36:56 2007
※ 引述《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
1F:推 PianoSpirit:恩..谢谢您 04/28 10:21