آموزش متلب (MATLAB)
۵۴۳ آموزش
نمایش دسته بندی ها (۵۴۳ آموزش)

مشاهده تغییرات عناصر یک ماتریس به صورت فیلم (انیمیشن)

قبلا دستور imagesc را معرفی کردیم و شرح دادیم که چگونه این دستور برای نمایش مقادیر عناصر یک ماتریس، به صورت یک تصویر، به کار می رود. اما در برخی مواقع نیاز داریم که نحوه تغییرات عناصر ماتریس را در حین اجرای برنامه (معمولا درون حلقه های for) به صورت تصاویر پشت سرهم که به صورت یک فیلم در می آیند، مشاهده کنیم. البته باید توجه داشته باشید که فایلی با فرمت های رایج فیلم، در خروجی نخواهیم داشت و تنها نحوه مشاهده عکس ها را به گونه ای تنظیم می کنیم که همچون یک فیلم، قابل مشاهده باشد. به مثال زیر توجه کنید :

مثال

با دستور (10,10) ones ، یک ماتریس با 10 ردیف و 10 ستون می سازیم که تمامی عناصر آن برابر 1 باشد. تغییرات عناصر ماتریس به این صورت است که در هر گام از حلقه با پارامتر p ، مقدار عددی هر عنصر ماتریس، در مجموع شماره سطر و شماره ستون خود، ضرب می شود. دستور imagesc ، مقادیر عناصر ماتریس را به صورت یک تصویر نمایش می دهد و دستور colorbar ، برای این است که رنگ متناظر با هر عدد، در کنار تصویر، نمایش داده شود. نقش دستور (0.02)pause ، بسیار مهم است، این دستور باعث می شود که نرم افزار متلب، در اجرای ادامه برنامه، زمانی برابر با 0.02 ثانیه، توقف داشته باشد، زیرا اگر این توقف وجود نداشته باشد، آنگاه زمان نمایش تصاویر به صورت پی در پی، آنقدر سریع است که دیگر نمی توانید تغییرات عناصر ماتریس را مشاهده کنید. برای سریع تر دیدن تغییرات، می توانید عدد درون پرانتز مربوط به دستور pause را کاهش دهید.


clear all
A=ones(10,10);
for p=1:2
    for m=1:10
        for n=1:10
            A(m,n)=A(m,n)*(m+n);
            imagesc(A)
            colorbar
            pause(0.02)
        end
    end
end

نتیجه :

متلب پنجره ای را باز کرده و نحوه تغییرات عناصر ماتریس A به صورت یک فیلم (عکس های پی در پی) نمایش داده می شود. 2 تا از عکس ها را برای نمونه در زیر نمایش می دهیم :

مشاهده تغییرات عناصر یک ماتریس به صورت فیلم (انیمیشن)
مشاهده تغییرات عناصر یک ماتریس به صورت فیلم (انیمیشن)

نتیجه را به صورت یک فایل gif نمایش می دهیم (صبر کنید تا فایل به صورت کامل بارگذاری شود تا بتوانید سرعت اصلی انیمیشن را ببینید) :

مشاهده تغییرات عناصر یک ماتریس به صورت فیلم (انیمیشن)

مثال

در همان مثال قبل، می توانیم زمان مشاهده تصویر تغییرات را زمانی بگیریم که یک بار تمامی عناصر ماتریس، مقادیر جدیدی پیدا کرده اند. برای این منظور، محل دستور های مخصوص نمایش تصویر را باید تغییر دهیم. همچنین حداکثر میزان پارامتر p را به 15 تغییر می دهیم :


clear all
A=ones(10,10);
for p=1:15
    for m=1:10
        for n=1:10
            A(m,n)=A(m,n)*(m+n);
        end
    end
    imagesc(A)
    colorbar
    pause(0.02)
end

نتیجه :

متلب پنجره ای را باز کرده و نحوه تغییرات عناصر ماتریس A را (پس از هر بار تغییر کامل ماتریس) به صورت یک فیلم (عکس های پی در پی) نمایش می دهد.

نویسنده علیرضا گلمکانی
شماره کلید 25
گزینه ها
به اشتراک گذاری (Share) در شبکه های اجتماعی
نظرات 0 0 0

ارسال نظر جدید (بدون نیاز به عضو بودن در وب سایت)