نمایش نتایج 1 تا 7 از 7

نام تاپیک: بدست آوردن ماتریس معکوس و دترمینان

  1. #1
    کاربر جدید
    تاریخ عضویت
    آبان 1387
    پست
    8
    تشکر کردن
    3
    0 بار تشکر شده در 0 پست

    Question بدست آوردن ماتریس معکوس و دترمینان

    با سلام به دوستان
    برنامه که ماتریس n*n را گرفته ودترمینان و ماتریس معکوس آنرا در صورت وجود نمایش دهد لطفا هر کی بلده کمک کنه

  2. #2
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    شهریور 1384
    محل زندگی
    تهران
    سن
    25
    پست
    158
    تشکر کردن
    17
    89 بار تشکر شده در 50 پست

    نقل قول: بدست آوردن ماتریس معکوس و دترمینان

    با سلام

    من این رو قبلاً نوشتم، میگردم پیدا کردم اینجا میگذارم (البته اگر کد C++‎ می خوای همین الان میتونم بگذارم؟)
    امیدوارم این یکی رو دیگه پاک نکرده باشم

  3. #3
    کاربر دائمی
    تاریخ عضویت
    مهر 1387
    محل زندگی
    قزوین
    پست
    158
    تشکر کردن
    87
    168 بار تشکر شده در 32 پست

    نقل قول: بدست آوردن ماتریس معکوس و دترمینان

    اینی که گذاشتم دترمینان یه ماتریس سه در سه رو حساب می کنه، قسمتی از کد یه برنامه بود که خیلی وقت پیش نوشتم، یه خورده تازه کارانه است!
    ماتریس دو در دو خیلی راحت تره


    Public Function deter(x1 As Integer, x2 As Integer, x3 As Integer, y1 As Integer, y2 As Integer, y3 As Integer) As integer
    Dim mat(3, 3) As Integer, i As Integer
    Dim a11A1 As Long, a12A2 As Long, a13A3 As Long
    Dim A1 As Integer, A2 As Integer, A3 As Integer
    mat(1, 1) = x1
    mat(1, 2) = y1
    mat(1, 3) = 1

    mat(2, 1) = x2
    mat(2, 2) = y2
    mat(2, 3) = 1

    mat(3, 1) = x3
    mat(3, 2) = y3
    mat(3, 3) = 1

    For i = 1 To 3
    Select Case i
    Case 1
    A1 = mat(2, 2) * mat(3, 3) - mat(2, 3) * mat(3, 2)
    a11A1 = x1 * A1
    Case 2
    A2 = (mat(2, 1) * mat(3, 3) - mat(2, 3) * mat(3, 1))
    a12A2 = mat(1, 2) * A2
    Case 3
    A3 = (mat(2, 1) * mat(3, 2) - mat(2, 2) * mat(3, 1))
    a13A3 = mat(1, 3) * A3
    End Select
    Next
    i = a11A1 - a12A2 + a13A3
    deter=i

    End Function
    [code]
    6 تا عدد رو می گیره، یکی از ستون ها رو کامل 1 می ذاره بعد دترمینان رو حساب می کنه
    امیدوارم به دردتون بخوره

  4. کاربرانی که به خاطر مطلب مفید Itist82 از وی تشکر کرده‌اند:


  5. #4
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    شهریور 1384
    محل زندگی
    تهران
    سن
    25
    پست
    158
    تشکر کردن
    17
    89 بار تشکر شده در 50 پست

    نقل قول: بدست آوردن ماتریس معکوس و دترمینان

    با سلام

    این هم برنامه ای که قولش رو داده بودم

    محاسبه ی دترمینان یک ماتریس n*n

    با توجه به اینکه محاسبه ی دترمینان رو بصورت تابع نوشتم، محاسبه ی ماتریس معکوس هم کار ساده ای خواهد بود

    این تابع بصورت recursive (بازگشتی) نوشته شده

    تابع محاسبه دترمینان


    Public Function Determinan(EMat() As Double) As Double

    Dim i, j As Integer
    Dim ClmCount As Integer

    Dim EntMat() As Double
    Dim Det As Double

    EntMat() = EMat()

    Dim newMat() As Double
    ReDim newMat((UBound(EntMat) - 1), (UBound(EntMat) - 1))

    Dim q As Integer


    If UBound(EntMat()) > 2 Then

    For ClmCount = 1 To UBound(EntMat)
    q = 0
    For i = 1 To UBound(EntMat)
    For j = 1 To UBound(EntMat)
    If (i <> 1) And (j <> ClmCount) Then
    q = q + 1
    newMat(i - 1, q) = EntMat(i, j)
    End If
    Next j
    q = 0
    Next i
    Det = Det + EntMat(1, ClmCount) * ((-1) ^ (1 + ClmCount)) * Determinan(newMat())
    Next ClmCount

    ElseIf UBound(EntMat()) = 2 Then
    Det = (EntMat(1, 1) * EntMat(2, 2)) - (EntMat(1, 2) * EntMat(2, 1))
    End If


    Determinan = Det

    End Function





    برنامه

    Determinan.rar


    موفق باشید

  6. 4 کاربر از hamed aj به خاطر این مطلب مفید تشکر کرده اند:


  7. #5
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    شهریور 1384
    محل زندگی
    تهران
    سن
    25
    پست
    158
    تشکر کردن
    17
    89 بار تشکر شده در 50 پست

    نقل قول: بدست آوردن ماتریس معکوس و دترمینان

    با سلام

    دوستان اگر نظری راجع به برنامه بالا دارید دریغ نکنید

  8. #6
    کاربر جدید
    تاریخ عضویت
    خرداد 1386
    پست
    16
    تشکر کردن
    5
    2 بار تشکر شده در یک پست

    نقل قول: بدست آوردن ماتریس معکوس و دترمینان

    نقل قول نوشته شده توسط hamed aj مشاهده تاپیک
    با سلام

    این هم برنامه ای که قولش رو داده بودم

    محاسبه ی دترمینان یک ماتریس n*n

    با توجه به اینکه محاسبه ی دترمینان رو بصورت تابع نوشتم، محاسبه ی ماتریس معکوس هم کار ساده ای خواهد بود

    این تابع بصورت recursive (بازگشتی) نوشته شده

    تابع محاسبه دترمینان


    Public Function Determinan(EMat() As Double) As Double

    Dim i, j As Integer
    Dim ClmCount As Integer

    Dim EntMat() As Double
    Dim Det As Double

    EntMat() = EMat()

    Dim newMat() As Double
    ReDim newMat((UBound(EntMat) - 1), (UBound(EntMat) - 1))

    Dim q As Integer


    If UBound(EntMat()) > 2 Then

    For ClmCount = 1 To UBound(EntMat)
    q = 0
    For i = 1 To UBound(EntMat)
    For j = 1 To UBound(EntMat)
    If (i <> 1) And (j <> ClmCount) Then
    q = q + 1
    newMat(i - 1, q) = EntMat(i, j)
    End If
    Next j
    q = 0
    Next i
    Det = Det + EntMat(1, ClmCount) * ((-1) ^ (1 + ClmCount)) * Determinan(newMat())
    Next ClmCount

    ElseIf UBound(EntMat()) = 2 Then
    Det = (EntMat(1, 1) * EntMat(2, 2)) - (EntMat(1, 2) * EntMat(2, 1))
    End If


    Determinan = Det

    End Function





    برنامه

    Determinan.rar


    موفق باشید
    دوست عزیز اگه کدشو با زبان C#‎ هم بذاری ممنون میشم

  9. #7
    کاربر جدید
    تاریخ عضویت
    بهمن 1390
    پست
    1
    تشکر کردن
    0
    0 بار تشکر شده در 0 پست

    نقل قول: بدست آوردن ماتریس معکوس و دترمینان

    نقل قول نوشته شده توسط hamed aj مشاهده تاپیک
    با سلام

    دوستان اگر نظری راجع به برنامه بالا دارید دریغ نکنید
    با سلام،
    برنامه ی شما همیشه صفر برمیگردونه.
    لطفا راهنمایی کنید.
    با تشکر

بوک مارک کردن این تاپیک

بوک مارک کردن این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •