به مثال زیر توجه کنید :
مثال :
clear all
A=zeros(10,10);
for m=1:10
for n=1:10
A(m,n)=m+n;
end
end
A
imagesc(A)
دستور (10,10)Zeros ، ماتریسی با 10 ردیف و 10 ستون می سازد که تمامی مقادیر عناصر آن، برابر صفر می باشد. سپس با استفاده از دو حلقه تو در توی for ، مقدار هر عنصر ماتریس را برابر مجموع شماره ردیف آن و شماره ستون آن قرار داده ایم. دقت شود که در خطی، تنها نام متغیر A را نوشته ایم و این برای این است که ماتریس متناظر با آن در صفحه Command نمایش داده شود. دستور imagesc ، مقادیر ماتریس A را به صورت یک تصویر رنگی نمایش می دهد.
نتیجه :
A =
2 3 4 5 6 7 8 9 10 11
3 4 5 6 7 8 9 10 11 12
4 5 6 7 8 9 10 11 12 13
5 6 7 8 9 10 11 12 13 14
6 7 8 9 10 11 12 13 14 15
7 8 9 10 11 12 13 14 15 16
8 9 10 11 12 13 14 15 16 17
9 10 11 12 13 14 15 16 17 18
10 11 12 13 14 15 16 17 18 19
11 12 13 14 15 16 17 18 19 20
و تصویری از مقادیر ماتریس A به شکل زیر نمایش داده می شود :
تغییر رنگ های مورد استفاده در دستور imagesc :
همان طور که گفتیم، دستور imagesc ، به هر مقدار، رنگی را اختصاص داده است، اما شاید بخواهیم رنگ های دیگری برای تصویر انتخاب کنیم. برای این منظور، باید پس از دستور imagesc ، از دستور colormap استفاده کنیم. مثال قبل را این بار به گونه ای تغییر می دهیم که مقادیر ماتریس، به صورت سیاه و سفید، نمایش داده شوند :
مثال :
A=zeros(10,10);
for m=1:10
for n=1:10
A(m,n)=m+n;
end
end
A
imagesc(A)
colormap(gray)
پس از دستور imagesc ، از دستور colormap ، با مشخصه gray ، استفاده شده است که باعث می شود دستور imagesc ، تصویر مقادیر ماتریس A را به صورت سیاه و سفید نمایش بدهد.
نتیجه :
A =
2 3 4 5 6 7 8 9 10 11
3 4 5 6 7 8 9 10 11 12
4 5 6 7 8 9 10 11 12 13
5 6 7 8 9 10 11 12 13 14
6 7 8 9 10 11 12 13 14 15
7 8 9 10 11 12 13 14 15 16
8 9 10 11 12 13 14 15 16 17
9 10 11 12 13 14 15 16 17 18
10 11 12 13 14 15 16 17 18 19
11 12 13 14 15 16 17 18 19 20
و تصویر ماتریس A به صورت زیر نمایش داده می شود :
برای دستور colormap ، می توانیم مشخصه های مختلفی با رنگ های مختلف تعریف کنیم که لیست آنها و رنگ های معادلشان، در زیر نمایش داده شده است :
اگر پس از دستور imagesc ، دستور colormap نوشته نشود، متلب به صورت خودکار، گزینه jet را برای colormap در نظر می گیرد.
نمایش مقدار متناظر با هر رنگ در تصویر :
در تصویر مثال قبل، نمی توانیم تشخیص بدهیم که هر رنگ، چه مقدار عددی را نشان می دهد. برای مشخص شدن مقدار متناظر با هر رنگ، باید پس از دستور imagesc ، از دستور colorbar استفاده کنیم. به مثال زیر توجه کنید :
مثال :
به کد مثالی که قبلا شرح دادیم، دستور colorbar را اضافه می کنیم :
A=zeros(10,10);
for m=1:10
for n=1:10
A(m,n)=m+n;
end
end
A
imagesc(A)
colorbar
نتیجه :
A =
2 3 4 5 6 7 8 9 10 11
3 4 5 6 7 8 9 10 11 12
4 5 6 7 8 9 10 11 12 13
5 6 7 8 9 10 11 12 13 14
6 7 8 9 10 11 12 13 14 15
7 8 9 10 11 12 13 14 15 16
8 9 10 11 12 13 14 15 16 17
9 10 11 12 13 14 15 16 17 18
10 11 12 13 14 15 16 17 18 19
11 12 13 14 15 16 17 18 19 20
و این بار، در کنار تصویر ساخته شده، یک نوار رنگی نمایش داده شده است که مقدار عددی متناظر با هر رنگ را نمایش می دهد :