اطلاعیه

Collapse
No announcement yet.

قراردادن متغیر به صورت متناوب در ماتریس

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

    قراردادن متغیر به صورت متناوب در ماتریس

    با سلام
    برای اینکه متغیر A فقط در درایه های قطر اصلی ماتریس F قرار بگیره ، کد رو در متلب به این صورت مینویسیم:

    کد:
    A = 3 ;
    x = 8 ;
     F = kron(diag(ones(1,x)),A) ;
    حالا اگه ماتریس A به صورت یک در میان در قطر اصلی قرار بگیره چطوری نوشته میشه؟
    به عنوان مثال یه متغیر دیگه علاوه بر متغیر A ، به اسم B داشته باشیم و این دو متغیر به صورت یک در میان روی درایه قطر اصلی قرار بگیرند
    0 0 0 0 0 0 A 0
    0 B 0 0 0 0 0 0
    0
    .
    .
    ممنون میشم جواب سوالم رو بدید

    #2
    پاسخ : قراردادن متغیر به صورت متناوب در ماتریس

    سلام
    اول بهتره یک بردار مثل D تعریف کنید که یکی در میان حاوی A و B هست.
    بعد اون رو داخل قطر اصلی قرار بدید.
    کد:
    >> A = 3;
    B = 5;
    x = 8;
    D = zeros(1,x);
    for i=1:2:x
      D(i) = A;
      D(i+1) = B;
    end
    F = diag(D)
    
    F =
    
       3   0   0   0   0   0   0   0
       0   5   0   0   0   0   0   0
       0   0   3   0   0   0   0   0
       0   0   0   5   0   0   0   0
       0   0   0   0   3   0   0   0
       0   0   0   0   0   5   0   0
       0   0   0   0   0   0   3   0
       0   0   0   0   0   0   0   5

    دیدگاه


      #3
      پاسخ : قراردادن متغیر به صورت متناوب در ماتریس

      خیلی ممنونم بابت راهنماییتون

      از دستور blkdiag که تو کد بالا استفاده می کردم ابعاد ماتریس F دو برابر میشد !

      دیدگاه

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