استفاده از تابع Mmult و MInverse

Collapse
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • saman10

    • 2012/12/25
    • 6

    استفاده از تابع Mmult و MInverse

    سلام من نیاز دارم برای حل یک مسئله یک ماتریس را در معکوس یک ماتریس دیگه ضرب کنم درواقع پیدا کردن جواب یک N lمعادله N مجهول را بدست بیارم اما اول اینمکه مثل اینکه تابع MInverse در VBاکسل تعریف نشده است و دوم اینکه برای محدوده جواب تابع Mmult بایستی چیکارکنم؟
    من از فرمول زیر میخوام استفاده کنم

    range(cells(9, c + 1),cells(9+Cells(2, 3),c + 1) = MMult(range(cells(13+m,d + 2),cells(12+m+n,d + 2)),MInverse (range(cells(n + 27,n),cells(n+27+n,1)))

    که اشکلاتی متعددی میگیره
    1- اصلا تابع MInverse را نمیشناسه
    2- حتی اگه به صورت عادی ضرب این دو ماتریس را بخوام خطا list seprator or )میده در حالی که من دقیقا از همین کد بالا فقط قسمت MInverse را حذف کردم
  • khakzad

    • 2010/03/17
    • 2034
    • 85.00

    #2
    RE: استفاده از تابع Mmult و MInverse

    سلام
    برای ضرب دو ماتریس، همونطور که می دونید شرط برابر بودن ستون اولی و ردیف دومی رو چک می کنید.بعد به این شکل عمل کنید:
    فرض کنید یک ماتریس 2*3 رو می خواید در یک ماتریس 4*2 ضرب کنید.
    خالا با توجه به اعداد محدوده 4*3 انتخاب م یکنید و = رو می زنید.حالا فرمول رو بنویسید.هر دو ارایه رو بهش بدید.بعد از بستند پرانتز بجای اینتر از cTRL+SHIFT+ENTER استفاده کنید. (نکته همینه فقط).چن فرمول ارایه ای هست......[hr]
    تابع MINVERSE هم همینطور
    ضمن برقراری شرط مربع بودن ماتریس، به روش بالا عمل کنید.
    اول انتخاب محدوده
    بعد تایپ فرمول
    بعد هم CTRL+SHIFT+ENTER[hr]
    اول ج اون دو تا رو جدا بدست بیارید.بعد توی معادله بذارید
    [CENTER][B][COLOR=#008000][SIZE=3]محصولات و جزوات آموزش تخصصی [URL="https://excelpedia.net/"]اکسل[/URL] در:

    [URL="https://excelpedia.net/category/excel-functions/"]برترین مرجع تخصصی پارسی اکسل[/URL]
    [URL="http://www.exceliran.com/shop/"]جامعه اكسل ايرانيان: فروشگاه[/URL][/SIZE][/COLOR][/B]
    :wcom:

    [B][URL="https://excelpedia.net/"]آموزش اکسل تخصصی[/URL] و [URL="https://excelpedia.net/excel-ninja/"]پیشرفته[/URL] - [URL="https://excelpedia.net/"]تهران[/URL][/B]
    [EMAIL="h.khakzad@yahoo.com"]h.khakzad@yahoo.com[/EMAIL]
    [/CENTER]

    کامنت

    • saman10

      • 2012/12/25
      • 6

      #3
      RE: استفاده از تابع Mmult و MInverse

      سوال اینه آیا در قسمت وی بی اکسل هم تابع معکوس تعریف شده است؟[hr]
      کامپایلر برای تابع MInverse و Mmult پیغام زیر را میده که یعنی اینا در وی بی تعریف نشدن،

      sub or function not define


      khakzad عزیز فکر کنم توضیحاتی که دادین برای استفاده در فضای عادی اکسل هستش
      من در کد نویسی وی بی چطور این کار را کنم؟

      کامنت

      • khakzad

        • 2010/03/17
        • 2034
        • 85.00

        #4
        RE: استفاده از تابع Mmult و MInverse

        اهان
        وی بی رو ندیده بودم!!!
        بعضی از فرمولا تعریف نشده
        شما باید کل راه حل رو کد نویسی کنید(یعنی همون راه حل ریاضی رو)
        [CENTER][B][COLOR=#008000][SIZE=3]محصولات و جزوات آموزش تخصصی [URL="https://excelpedia.net/"]اکسل[/URL] در:

        [URL="https://excelpedia.net/category/excel-functions/"]برترین مرجع تخصصی پارسی اکسل[/URL]
        [URL="http://www.exceliran.com/shop/"]جامعه اكسل ايرانيان: فروشگاه[/URL][/SIZE][/COLOR][/B]
        :wcom:

        [B][URL="https://excelpedia.net/"]آموزش اکسل تخصصی[/URL] و [URL="https://excelpedia.net/excel-ninja/"]پیشرفته[/URL] - [URL="https://excelpedia.net/"]تهران[/URL][/B]
        [EMAIL="h.khakzad@yahoo.com"]h.khakzad@yahoo.com[/EMAIL]
        [/CENTER]

        کامنت

        • saman10

          • 2012/12/25
          • 6

          #5
          RE: استفاده از تابع Mmult و MInverse

          خوب با الگوریتم ضرب ماتریس مشکل ندارم و مینویسم اما با الگوریتم معکوسش چرا کسی نمونه الگوریتم معکوس ماتریس را نداره؟

          کامنت

          • saman10

            • 2012/12/25
            • 6

            #6
            RE: استفاده از تابع Mmult و MInverse

            یه بنده خدایی تو یکی از فروم خارجی یه همچین پیشنهادی را داده بود

            "(Range("A14").Formula = "=MMULT(A1: & Chr(64+n-1)& 1, A5:A & 5+n-1
            که خوب من هم اندازه ماتریسام متفاوته
            هم جایی که میخوام جواب چاپ بشه
            مشکل جای جواب قابل حل شدنه مشکل با عبارت داخل "ـ " است که هرچی باشه میره داخل فرمول باکس و نمیشه متغییرش کرد[hr]
            حالا این مشکل هم حل شد مشکل آخر که میمونه اینه که چطور از طریق وی بی بهش بفهمونم کلید CTRL+SHIFT+ENTER را بزنه؟؟؟ !!
            را به صورت اتوماتیک بزنه

            کامنت

            چند لحظه..