تغییر اندازه (ابعاد) یک ماتریس با دستور reshape در متلب :
فرض کنید ماتریسی داشته باشیم که بخواهیم اندازه (ابعاد) آن را تغییر دهیم، برای این منظور، می توانیم از دستور reshape در متلب، استفاده کنیم. البته باید دقت داشته باشیم که تعداد عناصر ماتریس اولیه و تعداد عناصر ماتریسی که ساخته می شود، باید برابر باشد. به مثال زیر توجه کنید :
مثال :
B=reshape(A,4,2)
نتیجه :
5 6 7 8B =
1 3
5 7
2 4
6 8
ماتریس A ، دارای 2 ردیف و 4 ستون می باشد. با دستور reshape(A,4,2) ، تعیین کرده ایم که ماتریسی می خواهیم که تعداد ردیف های آن، برابر 4 و تعداد ستون های آن، برابر 2 باشد و عناصر آن، همان عناصر ماتریس A باشد.
جابجا کردن ستون های یک ماتریس نسبت به ستون وسط ، با دستور fliplr در متلب :
چنانچه از دستور fliplr در متلب، برای یک ماتریس استفاده کنیم، آنگاه دستور fliplr جای ستون های ماتریس را عوض خواهد کرد و این جابجایی، نسبت به ستون وسط ماتریس می باشد. یعنی اینکه اولین ستون ماتریس، به آخرین ستون و آخرین ستون ماتریس، به اولین ستون، تبدیل خواهد شد و سایر ستون ها نیز نسبت به ستون وسط ماتریس، با یکدیگر جابجا خواهند شد. به مثال زیر توجه کنید :
مثال :
B=fliplr(A)
نتیجه :
4 5 6
7 8 9B =
3 2 1
6 5 4
9 8 7
مشاهده می کنید که جای ستون اول و ستون سوم، با هم عوض شده است و ستون دوم نیز که ستون وسط ماتریس می باشد، در جای خود باقی مانده است.
تکرار یک ماتریس برای ساخت یک ماتریس جدید با دستور repmat در متلب :
با دستور repmat در متلب، می توانیم یک ماتریس را به تعداد دلخواه تکرار کنیم و از تکرارهای آن ماتریس، یک ماتریس جدید بسازیم. اگر دستور repmat را برای ماتریس A به صورت repmat(A,m,n) به کار ببریم، آنگاه ماتریس A به تعداد m*n تکرار خواهد شد. چیدمان تکرارهای ماتریس A ، به صورت m ردیف و n ستون خواهد بود. به مثال زیر توجه کنید :
مثال :
B=repmat(A,2,3)
نتیجه :
3 4B =
1 2 1 2 1 2
3 4 3 4 3 4
1 2 1 2 1 2
3 4 3 4 3 4
چیدن ضرایبی از یک ماتریس برای ساختن یک ماتریس جدید با دستور kron در متلب :
چنانچه با دستور repmat آشنایی داشته باشید، می دانید که دستور repmat ، به تعدادی دلخواه، یک ماتریس را تکرار کرده و در کنار هم می چیند تا یک ماتریس بزرگتر و جدید را بسازد. اما شاید بخواهیم در چیدمان این تکرارها، برخی از تکرارها دارای ضرایبی از ماتریس اولیه باشند (مثلا 2 برابر)، برای این منظور، دستور kron در متلب، استفاده می شود. دستور kron را باید به صورت kron(B,A) به کار ببریم که در آن A ماتریسی است که می خواهیم تکرارهایی از آن (با ضریب یا بدون ضریب) را داشته باشیم و B نیز ماتریسی است که نحوه چیدمان و ضرایبی که باید در ماتریس A ضرب شوند را تعریف می کند. به مثال زیر توجه کنید :
مثال :
B=[1 2]
C=kron(B,A)
نتیجه :
3 4B =
1 2
C =
1 2 2 4
3 4 6 8
در واقع نتیجه کدهای بالا، همانند نتیجه کدهای زیر می باشد :
B=[1 2]
C=[B(1)*A,B(2)*A]
نتیجه :
3 4B =
1 2
C =
1 2 2 4
3 4 6 8
جابجا کردن سطرهای یک ماتریس نسبت به سطر وسط ، با دستور flipud در متلب :
از دستور flipud در متلب، برای جابجا کردن سطرهای یک ماتریس نسبت به سطر وسط آن ماتریس، استفاده می شود. بنابراین بالاترین سطر ماتریس به پایین ترین سطر و پایین ترین سطر ماتریس به بالاترین سطر، تبدیل خواهد شد و سایر سطرها نیز نسبت به سطر وسط ماتریس، تغییر مکان خواهند داشت. به مثال زیر توجه کنید :
مثال :
B=flipud(A)
نتیجه :
4 5 6
7 8 9B =
7 8 9
4 5 6
1 2 3
مشاهده می کنید که جای سطر اول و سطر سوم، عوض شده است و سطر دوم نیز در جای خود باقی مانده است.
حذف ردیف یا ستون های یک ماتریس در متلب :
برای حذف ردیف یا ستون های یک ماتریس در متلب، تنها کافی است که از علامت های [] استفاده کنیم. به مثال زیر توجه کنید :
مثال :
A(:,2)=[]
نتیجه :
4 5 6
7 8 9A =
1 3
4 6
7 9
دستور A(:,2) نشان دهنده ستون دوم ماتریس A می باشد و بنابراین با مساوی قرار دادن آن با علامت های [] ، ستون دوم ماتریس A حذف شده است.
نکته :
نمی توان با روش فوق، یک عنصر از ماتریس را حذف نمود، زیرا نتیجه یک ماتریس نخواهد بود و نتیجه بستگی به این دارد که به چه روشی بخواهید آن عنصر را حذف کنیدپ. اگر شماره ردیف و شماره ستون آن عنصر را مشخص کنید، آنگاه متلب یک پیام خطا (error) را نمایش خواهد داد. به مثال زیر توجه کنید :
مثال :
A(2,2)=[]
نتیجه :
4 5 6
7 8 9??? Subscripted assignment dimension mismatch.
مشاهده می کنید که نرم افزار متلب، یک پیام خطا را نمایش داده است.
اما چنانچه شماره عنصر را مشخص کنیم، نرم افزار متلب، آن ماتریس را به صورت برداری شامل عناصر آن ماتریس در نظر می گیرد و آن عنصر را حذف کرده و نتیجه را به صورت یک بردار در خروجی نمایش خواهد داد. به مثال زیر توجه کنید :
مثال :
A(4)=[]
نتیجه :
4 5 6
7 8 9A =
1 4 7 5 8 3 6 9
مشاهده می کنید که عنصر چهارم از ماتریس A حذف شده است و سایر عناصر باقیمانده از ماتریس A ، به صورت یک بردار، در خروجی نمایش داده شده اند.
مثال :
A(2:2:16)=[]
نتیجه :
5 6 7 8
9 10 11 12
13 14 15 16A =
1 9 2 10 3 11 4 12
مقاله متلب,مطلب,متلب,مقاله برق,مقاله قدرت,مقاله مطلب,مقاله سیمولینک,دانلود متلب,دانلود مقاله متلب,مقالهmatlab ,آموزش متلب,مطلب,متلب,آموزش برق,آموزش قدرت,آموزش مطلب,آموزش سیمولینک,دانلود متلب,دانلود آموزش متلب,آموزشmatlab ,پروژه متلب,مطلب,متلب,پروژه برق,پروژه قدرت,پروژه مطلب,پروژه سیمولینک,دانلود متلب,دانلود پروژه متلب,پروژهmatlab ,
ببخشید در ادامه سوالم باید بگم که ماتریس ام میخام از صفر و یک باشه و طوری این صفر و یک رو بچینم که هیچ سطر تکراری نداشته باشم.ممنون
سلام من میخام یک ماتریس با ابعاد 59^2 در 59 بسازم در متلب . میشه کمکم کنید چطور میتونم چنین ماتریس رو تعریف کنم؟؟؟؟؟؟
با دستور for و یا دستور zeroes یا دستور ones میتوانید
سلام
من یه ماتریس 150*35 دارم و اینو میخوام تبدیلش کنم به 150 تا ماتریس 7*5
یعنی هر ستون ماتریس اولیه من تبدیل بشه به یه ماتریس 7*5
چجوری باید از این شماره ستون استفاده کنم برای شماره گذاری ماتریس تبدیل شده؟؟؟
سلام باید در یک حلقه for قرار بدید و در هر قسمت مثلا ماتریس i رو اینجوری نام گذاری کنید
for i=1:150
p(i)=q(1,i)
end