سلام به همگی . من یه ماتریس دارم که سطر و ستون اون مضربی از 8 هست . چطور می تونم تمامی بلوک ها(زیر ماتریس ها)ی 8*8 اون ماتریس بزرگتر رو استخراج کنم و هر وقت خاستم از هر کدوم از این بلوک ها استفاده کنم ؟
فرض کن اسم ماتریس اصلی a هست و شما مثلا میخوای i,j امین زیرماتریس رو بدست بیاری که i نشاندهنده سطر و j برای ستون زیر ماتریس ها هست نه سطر و ستون خود ماتریس اصلی
)i*8 : i*8+7 , j*8 : j*8+7) b=a
اینطوری زیر ماتریس مورد نظر تو b ذخیره میشه(الان متلب ندارم که خودم تست کنم ولی روش کار همینه)
ممنون از شما . مشکلی که برنامه ی شما داره اینه که نمی تونی اون زیرماتریسها رو هر وقت خاستی هر کدومش رو استفاده کنی به همین منظور من خودم راه حل رو پیدا کردم که به صورت زیر هست
for i=1:row
r(i)=8;
end
for i=1:column
c(i)=8;
end
B = mat2cell(I1, r, c);
که تو برنامه ی بالا rowآ تعداد سطرهای ماتریس اصلی I1 تقسیم بر 8 و columnآ تعداد ستون های ماتریس I1آ تقسیم بر 8 هستش .
به راحتی دیگه هر کدوم از زیر ماتریس ها را که بخوای می تونی استخراج کنی . مثلا اگر زیر ماتریس 8*8 در ردیف 3 و ستون 4 را بخوای می نویسی {3,4}B
دیدگاه