امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
توابع آرک
نویسنده پیام
ashkan آفلاین
بنيانگذار سايت
******

ارسال‌ها: 1,553
موضوع‌ها: 80
تاریخ عضویت: آبان ۱۳۸۲

تشکرها : 0
( 140 تشکر در 87 ارسال )
ارسال: #12
RE: توابع آرک
ببين اين كد بكارت مياد
کد:
Option Explicit
Const pi = 3.14159265358979

Type Complex

    re As Double
    im As Double

End Type



Public Function AddComplex(a As Complex, b As Complex) As Complex

AddComplex.re = a.re + b.re
AddComplex.im = a.im + b.im

End Function

Public Function MultiplyComplex(a As Complex, b As Complex) As Complex

MultiplyComplex.re = a.re * b.re - a.im * b.im
MultiplyComplex.im = a.re * b.im + a.im * b.re

End Function

Public Function Conjugate(a As Complex) As Complex

Conjugate.re = a.re
Conjugate.im = -a.im

End Function

Public Function Modulo(a As Complex) As Double

Modulo = Sqr(a.re ^ 2 + a.im ^ 2)

End Function

Public Function Argument(a As Complex) As Double

Dim i As Integer
Dim v(1 To 4) As Double

If (z.re = 0) And (z.im = 0) Then
    Argument = -10
    End Function
End If

v(1) = ArcSin(z.im / Modulo(z))
v(2) = mcPI - v(1)

v(3) = ArcCos(z.re / Modulo(z))
v(4) = -1 * v(3)

For i = 1 To 4

    While v(i) > mcPI
        v(i) = v(i) - 2 * mcPI
    Wend

    While v(i) < mcPI
        v(i) = v(i) + 2 * mcPI
    Wend

Next i

If v(1) = v(3) Then Argument = v(1)
If v(2) = v(3) Then Argument = v(2)

If v(1) = v(4) Then Argument = v(1)
If v(2) = v(4) Then Argument = v(2)

End Function

' Code by : Steven Roland Bazinet (ArcSin function only)

Private Function ArcSin(vntSine As Variant) As Double
On Error GoTo ERROR_ArcSine

Const cOVERFLOW = 6

Dim blnEditPassed As Boolean
Dim dblTemp       As Double

    blnEditPassed = False
    If IsNumeric(vntSine) Then
        If vntSine >= -1 And vntSine <= 1 Then
            blnEditPassed = True
                                                                
            dblTemp = Sqr(-vntSine * vntSine + 1)
            If dblTemp = 0 Then
                ArcSin = Sgn(vntSine) * pi / 2
            Else
                ArcSin = Atn(vntSine / dblTemp)
            End If
        End If
    End If

EXIT__ArcSine:
    If Not blnEditPassed Then Err.Raise cOVERFLOW
    Exit Function

ERROR_ArcSine:
    On Error GoTo 0
    blnEditPassed = False
    Resume EXIT__ArcSine

End Function

' Code by : Me, based (very much!) on Steven R Bazinet's code

Private Function ArcCos(vntcos As Variant) As Double
On Error GoTo ERROR_ArcSine

Const cOVERFLOW = 6

Dim blnEditPassed As Boolean
Dim dblTemp       As Double

    blnEditPassed = False
    If IsNumeric(vntcos) Then
        If vntcos >= -1 And vntcos <= 1 Then
            blnEditPassed = True
                                                                
            dblTemp = Sqr(-vntcos * vntcos + 1)
            If dblTemp = 0 Then
                ArcCos = Sgn(vntcos) * pi / 2
            Else
                ArcCos = Atn(dblTemp / vntcos)
            End If
        End If
    End If

EXIT__ArcCos:
    If Not blnEditPassed Then Err.Raise cOVERFLOW
    Exit Function

ERROR_ArcCos:
    On Error GoTo 0
    blnEditPassed = False
    Resume EXIT__ArcSine

End Function

آشنایی با نظریه زبان باعث شد تا بفهمم کامپیوتر اونی نیست که من میدونم.
۰۵-اردیبهشت-۱۳۸۵, ۱۵:۲۸:۱۷
وب سایت ارسال‌ها
پاسخ


پیام‌های داخل این موضوع
توابع آرک - توسط محمد حسینی - ۰۴-اردیبهشت-۱۳۸۵, ۱۵:۱۲:۴۸,
RE: توابع آرک - توسط محمد حسینی - ۰۴-اردیبهشت-۱۳۸۵, ۱۵:۱۷:۴۱,
RE: توابع آرک - توسط arashrj - ۰۴-اردیبهشت-۱۳۸۵, ۱۵:۲۴:۰۷,
RE: توابع آرک - توسط Mamad2003 - ۰۴-اردیبهشت-۱۳۸۵, ۱۷:۰۴:۱۹,
RE: توابع آرک - توسط محمد حسینی - ۰۴-اردیبهشت-۱۳۸۵, ۱۷:۳۹:۵۶,
RE: توابع آرک - توسط esnaashari - ۰۴-اردیبهشت-۱۳۸۵, ۱۷:۵۵:۵۶,
RE: توابع آرک - توسط محمد حسینی - ۰۴-اردیبهشت-۱۳۸۵, ۲۰:۴۳:۲۵,
RE: توابع آرک - توسط Mamad2003 - ۰۵-اردیبهشت-۱۳۸۵, ۰۰:۰۹:۰۶,
RE: توابع آرک - توسط geoomatic - ۰۵-اردیبهشت-۱۳۸۵, ۰۳:۲۷:۳۳,
RE: توابع آرک - توسط ashkan - ۰۵-اردیبهشت-۱۳۸۵, ۰۷:۴۸:۵۶,
RE: توابع آرک - توسط محمد حسینی - ۰۵-اردیبهشت-۱۳۸۵, ۱۳:۵۷:۵۳,
RE: توابع آرک - توسط ashkan - ۰۵-اردیبهشت-۱۳۸۵, ۱۵:۲۸:۱۷
RE: توابع آرک - توسط Mamad2003 - ۰۵-اردیبهشت-۱۳۸۵, ۱۷:۵۰:۲۲,
RE: توابع آرک - توسط محمد حسینی - ۰۶-اردیبهشت-۱۳۸۵, ۱۲:۴۳:۳۳,
RE: توابع آرک - توسط Mamad2003 - ۰۶-اردیبهشت-۱۳۸۵, ۱۴:۲۵:۲۲,
RE: توابع آرک - توسط geoomatic - ۰۶-اردیبهشت-۱۳۸۵, ۱۷:۰۵:۵۲,
RE: توابع آرک - توسط محمد حسینی - ۰۷-اردیبهشت-۱۳۸۵, ۱۳:۵۹:۳۰,
RE:  توابع آرک - توسط Mamad2003 - ۰۷-اردیبهشت-۱۳۸۵, ۱۶:۱۶:۵۴,

موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
Question [سوال] چگونگي استفاده از توابع رشته اي در تكست باكس با حالت multiline PRO 4 4,524 ۱۵-شهریور-۱۳۹۱, ۰۱:۰۳:۳۳
آخرین ارسال: PRO
  عدم اجرای بعضی ار توابع در sql sahand87 6 4,901 ۲۶-بهمن-۱۳۹۰, ۱۴:۲۵:۱۲
آخرین ارسال: sahand87
  مشکل با توابع API مرد یخی 1 2,598 ۲۱-آذر-۱۳۹۰, ۱۲:۳۳:۴۰
آخرین ارسال: Payman62
  توابع مورد استفاده در ويژوال بيسيک The.Ghost 1 3,202 ۲۲-اردیبهشت-۱۳۸۹, ۱۳:۵۶:۴۸
آخرین ارسال: PEA
  دستكاري رجيستري با توابع API shedayat 2 3,409 ۲۳-آبان-۱۳۸۸, ۱۹:۲۱:۰۲
آخرین ارسال: Redico2
  توابع كار با فايلهاي باينري reza87 1 2,465 ۲۳-آبان-۱۳۸۸, ۱۹:۱۸:۳۸
آخرین ارسال: Redico2
  آموزش كامل و جامع كار با توابع داده هاي رشته اي يا String mdelghandy 0 5,342 ۰۵-تير-۱۳۸۸, ۱۸:۵۴:۲۵
آخرین ارسال: mdelghandy
  برنامه کاربردی با توابع api با vb shamim57 1 3,795 ۱۷-خرداد-۱۳۸۸, ۱۱:۲۹:۲۴
آخرین ارسال: red11011
  برنامه ای برای رسم توابع ریاضی meno 0 2,016 ۳۱-مرداد-۱۳۸۷, ۱۹:۱۲:۵۸
آخرین ارسال: meno
  توابع داخلی EleRam 2 2,535 ۱۹-اردیبهشت-۱۳۸۷, ۲۳:۲۰:۴۹
آخرین ارسال: EleRam

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS