رسم نمودار/گراف در متلب (آموزش گام به گام)
رسم نمودار/ گراف (Plot graph) تکنیک بسیار مفیدی برای تجزیه و تحلیل داده ها و تجسم آنهاست. با رسم نمودار با استفاده از توابع، می توانیم جزئیات بیشتری در مورد آن ها بدست آوریم. همچنین می توانیم نحوه رفتار داده ها را به صورت بصری تفسیر کنیم و در صورت وجود، داده های پرت را تشخیص دهیم. در متلب از تابع ‘graph’ برای ایجاد نمودار هر تابع یا مجموعه داده و سپس از تابع plot برای رسم نمودار استفاده می کنیم.
دستور رسم نمودار در متلب
A = graph
A = graph(X,nodenames)
توضیح:
A : graph یک شی گراف خالی ایجاد می کند که یک جهته است و هیچ یال یا گره ای ندارد.
A : اگر نیاز به تعیین نام گره ها داشته باشیم، از graph(X,nodenames) استفاده می کنیم.
مثال هایی از نمودار Plot متلب
مثال شماره 1
در این مثال یک گراف با 4 گره و 4 یال ایجاد می کنیم.
برای این کار 2 مرحله زیر را دنبال می کنیم:
- مختصات نمودار را انتخاب کنید.
- برای ایجاد گراف از تابع graph استفاده کنید.
کد:
a = [3 2 2 4];
c = [4 1 1 1];
[مقدار دهی اولیه مختصات گره ها و یال های نمودار]
G = graph(a,c)
[ارسال مختصات به تابع graph]
plot (G)
[انتقال گراف ایجاد شده به تابع plot]
ورودی:
a = [3 2 2 4];
c = [4 1 1 1];
G = graph(a,c)
خروجی:
همانطور که انتظار می رود و در خروجی می بینیم گراف را با مختصات انتقال داده شده به دست آورده ایم.
در مرحله بعد این گراف را با استفاده از “تابع plot” ترسیم می کنیم.
کد:
plot (G)
خروجی:
حالا اگر بخواهیم گره ها را نامگذاری کنیم، کد ترسیم نمودار در متلب با استفاده از “تابع graph” به چه شکل است؟
مثال شماره 2
در این مثال یک نمودار با استفاده از دستور “triu” (برای بدست آوردن قسمت بالا مثلثی هر ماتریس) ایجاد می کنیم.
برای این کار باید 2 مرحله زیر را دنبال کنید:
- با استفاده از “triu” ماتریس ایجاد کنید.
- برای ایجاد نمودار از تابع graph استفاده کنید.
کد:
a = triu(rand(5));
[ایجاد ماتریس با استفاده از triu]
nodeNames = {‘let’ ‘us’ ‘learn’ ‘graphs’ ‘MATLAB’};
[مقدار دهی اولیه نام برای گره های نمودار]
G = graph(a,nodeNames, “upper”)
[انتقال نام ماتریس و گره به تابع graph] [کلید واژه “upper” برای اطمینان از نادیده گرفتن قسمت نامتقارن ورودی منتقل می شود]
plot (G)
[انتقال گراف ایجاد شده به تابع plot]
ورودی:
a = triu(rand(5));
nodeNames = {‘let’ ‘us’ ‘learn’ ‘graphs’ ‘MATLAB’};
G = graph(a,nodeNames, “upper”)
خروجی:
همانطور که انتظار داریم و در خروجی می بینیم، گراف را با مختصات انتقال داده شده به دست آورده ایم.
در مرحله بعد، این گراف را با استفاده از “تابع plot” ترسیم می کنیم تا نام گره های منتقل شده را مشاهده کنیم.
کد:
plot (G)
خروجی:
همانطور که در خروجی می بینیم نام گره ها را همانطور که انتظار می رود به دست آورده ایم.
آموزش کامل برنامه نویسی در متلب (22 جلسه رایگان به زبان فارسی)
مثال شماره 3
در این مثال گراف مکعب هندسی را ایجاد می کنیم.
برای این کار باید 2 مرحله زیر را دنبال کنید:
- مختصات مکعب را انتقال دهید.
- برای ایجاد گراف از تابع graph استفاده کنید.
کد:
a = [2 2 2 4 4 6 6 8 10 10 12 14];
b = [4 8 16 6 14 8 12 10 12 16 14 16];
[مقدار دهی اولیه ی مختصات مکعب]
w= [11 11 2 11 2 11 2 2 13 13 13 15];
[مقدار دهی اولیه ی وزن ها]
G = graph(a, b,w)
[ارسال مختصات و وزن ها به تابع graph] [لطفاً توجه داشته باشید که گره هایی که در گراف مکعب گنجانده نشده اند در خروجی کنار گذاشته می شوند]
plot (G)
[انتقال گراف ایجاد شده به تابع plot]
ورودی:
a = [2 2 2 4 4 6 6 8 10 10 12 14];
b = [4 8 16 6 14 8 12 10 12 16 14 16];
w= [11 11 2 11 2 11 2 2 13 13 13 15];
G = graph(a, b,w)
خروجی:
در مرحله بعد گراف را با استفاده از “تابع plot” ترسیم می کنیم تا مکعب ایجاد شده را مشاهده کنیم.
کد:
plot (G)
گراف ما به این شکل است:
خروجی:
همانطور که انتظار می رود و در خروجی می بینیم مکعب را با برخی از گره های خارجی به دست آورده ایم.
آشنایی مقدماتی با نرم افزار متلب برای مهندسین+ دانلود جزوه Loyola
نتیجه گیری
تابع Graph در متلب برای بدست آوردن گراف های غیرمستقیم استفاده می شود. این گراف ها یال های بدون جهت دارند و گره ها را به هم متصل می کنند و برای به دست آوردن نمایش بصری شکل ها یا توابع بسیار مفید هستند.
با متلب چجوری یه راس گرافو کاربر بده، همه راس های مجاور اون راسی که داده رو تحویل بگیره؟
پاسخبرای گراف کلاً matlab رو فراموش کنید. توی Mathematica خیلی راحت از اون چیزی که فکر می کنید میشه روی گراف کار کرد
پاسخ