بردار و رسم منحنی در متلب

بازدید: 6114 بازدید
بردار و رسم منحنی در متلب

بردار و رسم منحنی ، با دستورهای ()plot(), comet(),ribbon

کار ترسیم آرایه ها برحسب یکدیگر یا ترسیم توابعی که آرایه ها را به هم ربط می دهند بسیار آسان است. دستور (plot(t,x عناصر بردار x را بر حسب بردار t نظیر به نظیر به صورت نقاطی روی صفحه مختصات قائم قرار می دهد، هر دو بردار باید متساوی العنصر باشند، سپس آنها را به هم وصل و منحنی مورد نظر را ایجاد می کند. تابع کتابخانه ای comet نیز همین کار را با پویانمائی انجام می دهد. مثال توضیحی زیر اصول کار را بیان می کند. دستور ribbon به منحنی دو بعدی فرم سه بعدی می دهد.

مثال: رسم سهمی

برای رسم معادله یک سهمی ابتدا یک آرایه شامل مقادیر x تعریف میکنیم:

>> x = [-4 -3 -2 -1 0 1 2 3 4];

سپس تابع مورد نظر را می نویسیم:

>> y = [-21 -13 -7 -3 -1 -1 -3 -7 -13];

و با یک دستور ساده y را بر حسب x نقطه به نقطه رسم می کنیم.

 >>plot (x, y, ‘o’)

اگر پارامتر ‘o’ را از دستور حذف کنیم، نقاط به صورت اتوماتیک به یکدیگر وصل و ترسیم شکل منحنی به خود می گیرد. برای داشتن منحنی بدون شکست باید نقاط بیشتری را به x و در نهایت به y نسبت داد. دقت کنید که برای رسم دو آرایه عددی برحسب یکدیگر آن دو باید همسان باشند. صورت فرمولی معادله سهمی چنین نوشته می شود:

y = x. ^ 2 + x – ۴

برای به توان رساندن عناصر آرایه از علامت (.^) استفاده شده است. دستورهای comet و ribbon نیز شبیه plot عمل می کنند.

دستورهای figure(), subplot(), hold on/off, clf

دستورهای زیادی در ارتباط با ترسیمات وجود دارند. دستور clf پنجره جاری گراف را پاک کرده و برای گراف جدید باز نگه می دارد. دستور hold on پنجره جاری را برای گراف جدید باز نگه می دارد. دستور (subplot(2,2,n صفحه گراف را به چهار قسمت مساوی تقسیم میکند، عدد زیر یکی از این چهار قسمت را فعال می کند.

۴>= n >=1

دستور (subplot(1,2,m و دستور (subplot(2,1,m صفحه گراف را به ترتیب به دو قسمت عمودی و افقی تقسیم می کنند.

۲>= m >=1

دستور (figure(P یک پنجره جدید گراف با شماره p باز و آن را پنجره جاری می کند.

پنجره Data Statistics

اگر پس از رسم نمودار در پنجره  Figure زیر منوی Tools Data Statistics را انتخاب کنیم، ترتیب منحنی ها روی پنجره Figure نشان داده شده، و پنجره Data Statistics ظاهر می شود این پنجره مقادیر آماری منحنی را نشان می دهد. اگر در مقابل هریک ازاین مقادیر چک مارک بزنیم، مقدار آن روی منحنی هم نشان داده خواهد شد. دستور legend رنگ یا استیل هر منحنی را برچسب می گذارد.

چند منحنی در یک صفحه

عبارت (plot(x,y1,x,y2 منحنی های y1 و  y2 را با دو رنگ مختلف بر حسب  x رسم میکند.

دستورهای هم خانواده plot

دستورهای ()semilogx(),semilogy(),loglog(),plotyy(),ribbon(),commet با اندکی تغییر مشابه ()plot هستند.

به عنوان نمونه دستور plotyy را بررسی می کنیم. رسم دو تابع که مقادیر آنها با یکدیگر فاصله زیاد دارند روی یک گراف ناممکن است، اما امکان استفاده از دو محور با استفاده از دستور (plotyy(x1,y1x2,y2 این مشکل را حل کرده و اجازه رسم دو تابع با مقادیر دور از هم روی یک گراف را می دهد.

روش های دیگر نمودار سازی

نمودارهای ()bar(), stem(), barh(), stairs

دستور (bar(x, y, w بردار y را برحسب بردار x به صورت میله ای رسم می کند. معمولاً از این نوع نمودار برای نمایش آماری بردارهای کم تعداد استفاده میشود. پارامتر w عرض میله ها را تعیین میکند که پیشفرض آن  ۰٫۸ است. دستورهای ()stairs() barh(), stem نزدیک به ()bar هستند.

تابع ()hist

این تابع که پیشینه نگار histogram رسم می کند، یکی از دستورات گرافیکی مهم است. طرز کار آن اینگونه است که ابتدا مجموعه ای از داده ها (اشیا) را مرتب می کند، و سپس در چند ظرف جا می دهد. هر ظرف، حجمی از داده های نزدیک به هم را درخود می گنجاند. سپس محتوای هر ظرف برحسب درشتی داده های داخل آنها نمایش داده می شود.

مثال:

نمرات زیر را در تعداد ظرف معادل یک چهارم تعداد دانشجو ریخته و پیشینه نگار را با توضیح رسم کنید.

scr = [12  ۱۲٫۷۵  ۱۹٫۴۴  ۱۶  ۱۷٫۳  ۱۹٫۱  ۱۸٫۲  ۱۶  ۵٫۳  ۷٫۸  ۱۵  ۱۲  ۱۴٫۶

 ۸٫۵  ۱۷  ۱۱  ۱۴  ۱۸٫۵  ۱۲  ۸  ۱۰  ۱۱  ۱۲  ۱۸  ۲۰  ۱۴  ۱۵  ۱۲  ۲۰  ۱۲  ۱۰  ۸];

نمودار دایره ()pie

دستور (pie(p, w, m یک دایره را به تعداد دادهها قطاع میزند، به نحوی که به هر داده سطحی متناسب با بزرگای آن اخنصاص یابد. برای نمودارهای آماری نسبی استفاده می شود. P درصد یا مساحت هر قطاع، w فاصله بین قطاع ها، و m توضیح یا برچسب هر قطاع است. دستور ()pie3 هم مشابه ()pie است.

رسم نموداری ماتریس

نمودار ستونی ماتریس

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

>>rain = [110  ۷۰  ۱۲۵  ۱۵۲;                            % ۱st year

               ۲۱۰  ۵۵  ۱۰۴  ۲۲۳;                            % ۲nd year

               ۱۲۰  ۵۶  ۱۷۳  ۱۵۶;                            % ۳rd year

               ۱۹۵  ۷۲  ۲۱۱  ۱۷۸;                            % ۴th year

               ۱۱۸  ۵۸  ۱۲۳  ۱۴۹];                           % ۵th year

>>bar (rain)

>>xlabel (‘Year 1 to year 5’), ylabel (‘Amount of rain per season’)

>>legend (‘Spring’,’Sumer’,’Fall’,’Winter’)

نمودار منحنی ماتریس

وقتی نمودار منحنی یک ماتریس رسم شود، هر ستون در یک منحنی جداگانه نشان داده می شود. برای تفکیک منحنی ها از دستور ()legend یا از پنجره Data Statistics استفاده می کنیم.

نمودار قطبی

 عبارت (polar(theta,r مقادیر r را بر حسب زاویه theta روی مختصات قطبی نشان می دهد. نمودار قطبی polar همان کار را که plot با x,y انجام میدهد با theta,r انجام می دهد.

 نمودار عقربه ای، و نمایش هندسی عدد مختلط با دستور ()compass

دستور (compass(x, y یک بردار هندسی با طول و عرض قائم x, y را درون مختصات قطبی نمایش می دهد. در واقع همان کار (polar(x, y است، اما از مبدأ دایره مثلثاتی یک بردار هندسی به نقطه x, y وصل می کند. از این نمودار برای نمایش هندسی اعداد مختلط نیز استفاده می شود. دستور (compass(z معادل ((compass(real(z),imag(z می باشد.

رسم عدد مخلتلط با ()plot

اگر zp مختلط باشد، (plot(zp قسمت موهومی آنرا برحسب قسمت حقیقی رسم می کند. اگر zp مختلط و t یک متغیر حقیقی باشد، عبارت (plot(t, zp قسمت حقیقی zp را برحسب t رسم کرده و از قسمت موهومی صرف نظر می شود.

رسم آسان با ()ezplot

در متلب بعضی از توابع بدون مقدار دهی به متغیر با توابعی مانند ((ezplot(f(x رسم می شوند دستور ezplot دامنه متغیر را به صورت پیش فرض ۲π < x < +2π- قرار میدهد. فرم [ezplot(f(x)),[min,max برای تعیین دستی دامنه متغیر به کار میرود. آرگومان ezplot که یک تابع است، به صورت رشته، گیره تابع، یا تابع سطری inline نوشته می شود اینها روش هائی هستند که برای ارسال یک تابع به تابع دیگر در متلب وجود دارند.

رسم توابع آشکار explicit functions

اینگونه توابع به صورت (y = f(x می آیند مثل . y = -2x.^2 + 3 توابع آشکار را میتوان با plot رسم کرد، اما رسم بعضی از این توابع مثل (y=tan(x که در دامنه معمول x مقادیر بزرگ پیدا می کنند بوسیله plot راحت نیست به مثال مراجعه نمائید. اما ezplot اینگونه توابع را هوشمندانه و به راحتی رسم می کند. دامنه پیش فرض با گام مناسب نقطه گذاری شده، فرمول تابع، و برچسب محور x نیز خود به خود نوشته می شوند.

رسم توابع ضمنی implicit functions

توابع ضمنی توابعی هستند که در آن ها  xو y به صورت مختلط می آیند، مثل:  x2 + y2 = 1 کاربرد plot به طور مستقیم در اینگونه موارد نتیجه مطلوب نمی دهد، اما ezplot به راحتی از عهده برمی آید. وقتی یک تابع ضمنی به ezplot ارسال شود درطرف راست معادله خود به خود صفر قرار می گیرد.

رسم توابع پارامتریک

اگر f و g توابع t باشند، با (ezplot(f,g می توان آن دو را برحسب یکدیگر رسم و پارامتر t را حذف کرد. دامنه پیش فرض t فاصله ۰, π است.

تابع کتاب خانه ای ()fplot

فرم کلی این تابع چنین است (fun . fplot ( fun, lims یک تابع آشکار از x است که همانند آرگومان ezplot باید به صورت یک عبارت رشته ای، گیرهی تابع، یا تابع  inline باشد. lims محدوده محورها را تعیین میکند. Fun میتواند یک بردار از توابع گوناگون، یا یک ماتریس باشد که هر ستون آن یک تابع جداگانه است. Lims یا باید به صورت [XMIN XMAX] باشد یا به صورت .[XMIN XMAX YMAX YMIN] در صورت اول محدوده محور عمودی خود به خود تعیین خواهد شد، در صورت دوم محدوده محور عمودی دستی تعیین میشود.

 fplot مقادیر ناهمگونِ توابع را طوری تنظیم میکند که ترسیم شکلی حاصل شود، به خصوص وقتی توابع دارای مقادیر دور از هم باشد.

آموزش MATLAB & SIMULINK 2016 به صورت تصویری در قالب ۲ دی وی دی آموزشی به صورت اینتراکتیو همراه با نرم افزار متلب ۲۰۱۶ را از لینک زیر می توانید تهیه کنید.

آموزش تصویری MATLAB

منبع: نواندیشان

ادامه مطلب