tagCANDY CGI VBレスキュー(花ちゃん) - 虚数iの演算(VB6.0) - Visual Basic 6.0 VB2005 VB2010
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ
虚数iの演算(VB6.0)
元に戻る スレッド一覧へ 記事閲覧
このページ内の検索ができます。(AND 検索や OR 検索のような複数のキーワードによる検索はできません。)

虚数iの演算(VB6.0) [No.98の個別表示]
     サンプル投稿用掲示板  VB2005 〜 用トップページ  VB6.0 用 トップページ
日時: 2010/01/07 15:00
名前: 花ちゃん

***********************************************************************************
* カテゴリー:[アルゴリズム][応用コード][]                                        *
* キーワード:関数,複素数型,虚数単位,2乗して負になる数,,                          *
***********************************************************************************

元質問:虚数iの演算 - たくたく  2004/12/25-21:05 No.1376

虚数iをVBで演算させたいんですけど、虚数iはVBにどのように入力すれば良いのですか?
たぶん関数があるんでしょうけど、教えてください。

----------------------------------------------------------------------------------
Re: 虚数iの演算 - ねろ  2004/12/27-22:30 No.1388
----------------------------------------------------------------------------------

割り算が面倒なのよね
Private Type CompNo
    Realp As Single  '実数部
    Imagep As Single '虚数部
End Type
Private Function Plus(a As CompNo, b As CompNo) As CompNo
    '足し算
    Plus.Realp = a.Realp + b.Realp
    Plus.Imagep = a.Imagep + b.Imagep
End Function
Private Function Minus(a As CompNo, b As CompNo) As CompNo
    '引き算
    Minus.Realp = a.Realp - b.Realp
    Minus.Imagep = a.Imagep - b.Imagep
End Function
Private Function Times(a As CompNo, b As CompNo) As CompNo
    '掛け算
    Times.Realp = a.Realp * b.Realp - a.Imagep * b.Imagep
    Times.Imagep = a.Realp * b.Imagep + a.Imagep * b.Realp
End Function

Private Function Divide(a As CompNo, b As CompNo) As CompNo
     '割り算
    Dim b1 As CompNo  '共訳複素数
    Dim denomi As CompNo  '分母
    Dim nume As CompNo     '分子

    '共訳複素数
    b1.Realp = b.Realp
    b1.Imagep = b.Imagep * (-1)
    
    denomi = Times(b, b1) '分母の計算 共訳複素数をかける
    nume = Times(a, b1) '分子の計算 共訳複素数をかける
    
    If denomi.Realp <> 0 Then   '分母<>0の場合
        Divide.Realp = nume.Realp / denomi.Realp
        Divide.Imagep = nume.Imagep / denomi.Realp
    Else
        Divide.Realp = 0
        Divide.Imagep = 0
        MsgBox ("分母が0になりました")
    End If
End Function

'表示は参考につき大幅に省略 (^^;
Private Sub Command1_Click()
    Dim a As CompNo, b As CompNo, c As CompNo
    a.Realp = Text1(0).Text
    a.Imagep = Text1(1).Text
    b.Realp = Text1(2).Text
    b.Imagep = Text1(3).Text
    c = Plus(a, b)    '足し算
    'c = Minus(a, b)   '引き算
    'c = Times(a, b)   '掛け算
    'c = Divide(a, b)  '割り算
    Text1(4).Text = c.Realp
    Text1(5).Text = c.Imagep
End Sub



--------------------------------------------------
Re: 虚数iの演算 - LESIA  2004/12/27-18:06 No.1383
--------------------------------------------------
複素数のクラスなら、こういうのがあります。

VB6用
http://www.vb-helper.com/howto_complex_number_class.html
VB.NET用
http://www.vb-helper.com/howto_net_complex_number_class.html
メンテ

Page: 1 |

 投稿フォーム               スレッド一覧へ
題  名 スレッドをトップへソート
名  前
パスワード (記事メンテ時に使用)
投稿キー (投稿時 投稿キー を入力してください)
コメント

   クッキー保存   
スレッド一覧へ