اطلاعیه

Collapse
No announcement yet.

ضرب دو ماتریس خاص

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    ضرب دو ماتریس خاص

    سلام
    از دوستان خواهش میکنم یکی بداد ما برسه...پروژم الان نزدیک به دوماهه که خوابیده اونم فقط بخاطره همین یه سوال بسیار سخت....کمک کنید لطفا.

    سوال اول: میخام دوتا ماتریس 2*1 و 2*2 رو در هم ضرب ماتریسی کنم با این توضیح که درایه های هر کدوم از این دو ماتریس خودشون یک ماتریس هستند. Matlab اینکار رو بصورت مستقیم انجام نمیده.نمیدونم با چه دستوری عملیات اصلی ضرب،جمع و تفریق بین این دو ماتریس خاص رو انجام بدم.

    سوال دوم: اینه که با چه دستوری معکوس گیری از یک ماتریسی که درایه هاش خود ماتریس هستند در Matlab صورت میگیرد؟



    با تشکر فراوان

    #2
    پاسخ : ضرب دو ماتریس خاص

    با سلام

    ضرب ماتریسی بزای دو ماتریس تعریف می شود
    حال اگر یک ماتریس با درایه های ماتریس داشته باشی ممکنه این عنصر ماتریس باشه یا نباشه
    اگه ماتریس تشکیل نده براش معکوس و جمع و ضرب تعریف نمی شه مگه اینکه خودت یک چیزی مورد نظرت باشه
    معکوس ماتریس هم فقط برای ماتریس مربعی تعریف میشه
    مثلا معکوس هر ماتریس تو همون درایه
    به نظر صورت مساله رو بزاری بهتر به نتیجه می رسی


    http://www.4shared.com/office/wspNnTsI/AMUZESH_JAMEE_MATLAB.html

    دیدگاه


      #3
      پاسخ : ضرب دو ماتریس خاص

      سلام
      سوال اول: میخام دوتا ماتریس 2*1 و 2*2 رو در هم ضرب ماتریسی کنم با این توضیح که درایه های هر کدوم از این دو ماتریس خودشون یک ماتریس هستند. Matlab اینکار رو بصورت مستقیم انجام نمیده.نمیدونم با چه دستوری عملیات اصلی ضرب،جمع و تفریق بین این دو ماتریس خاص رو انجام بدم.
      درایه ها هر کدوم یک ماتریس هستند؟ درایه ها رو با ماتریس جایگزین کنید. مثلا اگر a,b,c,d درایه های دو در دو باشند میتوان ماتریس کلی را به شکل زیر ساخت:
      کد:
      >> a = [1 2;3 4]
      
      a =
      
         1   2
         3   4
      
      >> b = [5 4 ; 8 6]
      
      b =
      
         5   4
         8   6
      
      >> c = [ 7 8 ; 5 2]
      
      c =
      
         7   8
         5   2
      
      >> d = [5 8 ; 5 6]
      
      d =
      
         5   8
         5   6
      
      >> arrary1 = [a b;c d]
      
      arrary1 =
      
         1   2   5   4
         3   4   8   6
         7   8   5   8
         5   2   5   6

      دیدگاه


        #4
        پاسخ : ضرب دو ماتریس خاص

        نوشته اصلی توسط BlueApple
        سلامدرایه ها هر کدوم یک ماتریس هستند؟ درایه ها رو با ماتریس جایگزین کنید. مثلا اگر a,b,c,d درایه های دو در دو باشند میتوان ماتریس کلی را به شکل زیر ساخت:
        کد:
        >> a = [1 2;3 4]
        
        a =
        
           1   2
           3   4
        
        >> b = [5 4 ; 8 6]
        
        b =
        
           5   4
           8   6
        
        >> c = [ 7 8 ; 5 2]
        
        c =
        
           7   8
           5   2
        
        >> d = [5 8 ; 5 6]
        
        d =
        
           5   8
           5   6
        
        >> arrary1 = [a b;c d]
        
        arrary1 =
        
           1   2   5   4
           3   4   8   6
           7   8   5   8
           5   2   5   6
        با سلام و تشکر از پاسخ شما
        سوالم رو بصورت اسکن شده در زیر قرار دادم.هدف ما بدست آوردن X1 هستش.مشکلی که هست اینه که این نوع ضرب ماتریسی رو MATLAB متوجه نمیشه.اگه دستور خاصی هست بهم بگین ممنون میشم
        مرسیییی

        دیدگاه


          #5
          پاسخ : ضرب دو ماتریس خاص

          با سلام مجدد

          بنظرم ایراد از سواله

          چطور ممکنه یه ماتریس دو در دو رو کنار یه ماتریس 5x5 بزاری؟
          خوب چنین ماتریسی نداریم!

          اگه ممکنه صورت سوال رو از کتاب یا مقاله بزار

          http://www.4shared.com/office/wspNnTsI/AMUZESH_JAMEE_MATLAB.html

          دیدگاه


            #6
            پاسخ : ضرب دو ماتریس خاص

            سلام
            اینیه که میگین مربوط به سوال دومه که البته اونم من از کتاب آوردم که معادلاتشو در زیر نشون دادم..همونطور که در عکس زیر میبینین مثلا در پارامتر اول مجهول ما یعنی S11،از ضرب دو پرانتز تشکیل شده که اولین پرانتز رو بعد از محاسبه ماتریسش،باید از آن معکوس بگیریم و در پرانتز بعدی که حاصل اونم یک ماتریس هست باید ضرب بشه.مشکل اینجاست که در MATLAB دستوری پیدا نکردم که حتی عبارات داخل پرانتزها رو در هم ضرب ماتریسی کنم،ثانیا از پرانتز اول هم نتونستم معکوس بگیرم
            در مورد سوال اول به نتیجه ای رسیدین؟
            تشکر

            دیدگاه


              #7
              پاسخ : ضرب دو ماتریس خاص

              با سلام

              ممنون از اینکه عبارت خود مقاله رو آوردی

              توی نمادگداری نماد صفر یعنی ماتریس صفر NxM متناسب
              نه یک در یک
              I هم همینطور

              بنابراین به راحتی سوالت حل میشه

              اگه هم خواستی باهم حلش کنیم نمونه ماتریس های Zb Zc H Yb Yc

              عبارت H,بالاش خط تیره یعنی چی؟ ترانهاد و مزذوج مختلط؟
              توی تعریف Yd هستش یا Ya؟

              عبارت متلبیش عین عبارت ریاضیش هست


              http://www.4shared.com/office/wspNnTsI/AMUZESH_JAMEE_MATLAB.html

              دیدگاه


                #8
                پاسخ : ضرب دو ماتریس خاص

                سلام
                ممنون از پاسختون
                نمیدونم منظورتون از مقاله چیه ولی من فعلا با مقاله کار نمیکنم و دارم روی یک ساختار فرکانس بالا از یک ایبوک درسی کار میکنم.
                ماتریس Hیی که بالاش خط داره،یک ماتریس معمولی هستش که نویسنده خواسته بگه این ماتریس با ماتریس بغلیش یعنی H ضابطشون فرق داره.خیلی مهم نیست.
                شما اگه به دستنویس من در عکس اول توجه کنین همه چیز معلومه.برای راحتی کار من یک M-File مربوط به این قضیه در لینک زیر میذارم.در M-File زیر، برای من حاصل L1 مهمه که در MATLAB نمیشه بدستش آورد.اگه راهنماییم کنین ممنون میشم

                http://www.4shared.com/file/cOELhFY0/L1_online.html

                دیدگاه


                  #9
                  پاسخ : ضرب دو ماتریس خاص

                  با سلام


                  کد:
                  %%
                  clc
                  clear all
                  
                  zb=[9 10;
                    11 12];
                  
                  zc=[13 14;
                    15 16];
                  
                  
                  % Zd = [zb 0
                  %    0 zc];
                  
                  zero_1 = zeros(size(zb,1),size(zc,2));
                  zero_2 = zeros(size(zc,1),size(zb,2));
                  
                  Zd_11 = cat(2,zb,zero_1);
                  Zd_21 = cat(2,zero_2,zc);
                  
                  Zd = cat(1,Zd_11,Zd_21);
                  
                  disp(Zd)
                  
                  %%
                  hb=[1 2;
                    3 4;
                    4 3;
                    2 1;
                    1 1];
                  
                  hc=[5 6;
                    7 8;
                    8 7;
                    6 5;
                    1 1];
                  
                  G = [hb hc];
                  disp(G)
                  
                  L1 = G*Zd;
                  disp(L1)
                  http://www.4shared.com/office/wspNnTsI/AMUZESH_JAMEE_MATLAB.html

                  دیدگاه

                  لطفا صبر کنید...
                  X