آموزش متلب

عملگرهای منطقی و ترسییم داده ها در متلب

عملگرهای منطقی و ترسیم داده ها در متلب

 

عمليات و توابع منطقي
مقايسه منطقي
در MATLAB علامتهاي زير براي مقايسه مقادير عددي و حرفي بكار مي روند.
كوچكتر از >
كوچكتر از يا مساوي با =>
بزرگتر از <
بزرگتر از يا مساوي با =<
مساوي با ==
مخالف با =~
چنين مقايسه اي را مي توان بين دو اسكالر، دو آرايه يا اسكالر و اعضاي آرايه انجــام داد. مثالـهايي
براي نحوه عمل اين عملگرها در زيـر آورده مـي شوند. توجـــه كنيـد كـه حــاصل همـه عمليـات
منطقـي مي تواند ٠ به معني نادرست يا ١ به معني درست باشد.

» 3<5
ans =
1
» [1 2]>=[0 3]
ans =
1 0
» a=[1 2 3
2 3 4];
» b=[-1 2 1
0 2 4];
» a~=b
ans =
1 0 1
1 1 0

بردار زير را در نظر بگيريد:

» x=[1 2 -1 0 -5 4 -1.5 3 2.5 -.5];

عبارت زير مولفه هاي مثبت اين بردار را نمايش مي دهد:

» x(x>0)
ans =
1.0000 2.0000 4.0000 3.0000 2.5000

و اين عبارت تعداد مولفه هايي را كه بين صفر و ٣ هستند تعيين مي كند:

» length(x((x>=0)&(x<=3)))
ans =
5

عملگرهاي منطقي
روابط منطقي را مي توان با استفاده از عملگرهاي منطقي با هم تركيب كرد. اين عملگرها عبــارتند
از:
و (تركيب عطفي) &
يا (تركيب فصلي) |
يا (مانع جمع) xor
نقيض ~
مثالهايي از طرز عمل اين عملگرها در زير آورده شده اند:

» m=[1 2 4; -2 3 -1];
» ~(m>0)
ans =
0 0 0
1 0 1
» (m>0)|(m<=2)
ans =
1 1 1
1 1 1
» (m>0)&(m<=2)
ans =
1 1 0
0 0 0
» xor([0 0 1 1],[0 1 0 1])
ans =
0 1 1 0

توجه كنيد كه xor يك تابع است و دو بردار ورودي به آن بايد هم اندازه باشند.
find و all ،any منطقي توابع ٣-٤
تابع any معين مي كند كه آيا مولفه غير صفر در يك بردار وجود دارد يا خير.

» v=[-2 1 3 5];
» any(v<1)
ans =
1
١٦
» any(v>6)
ans =
0

تابع all معين مي كند كه آيا همه مقايسه ها درست هستند يا خير.

» all(v<1)
ans =
0
» all(v<6)
ans =
1

توابع فوق را مي توانيد براي ماتريسها نيز بكار ببريد. در اين صورت خروجي اين توابع عبارت اســت
از حاصل مقايسه هاي گفته شده براي هر ستون ماتريس.
تابع find مكان مولفه هاي غير صفر را در يك آرايه نشان مي دهد.

» find(v>3)
ans =
4

 اعداد ويژه
علاوه بر اعداد حقيقي، MATLAB قادر است حاصل عباراتي را كه از نظر جبري انجام پذير نيستند
را نيز پوشش دهد. تقسيم يك عدد بر صفر بــي نـهايت (Inf) و تقسـيم صفـر بـر صفـر غـير قـابل
.(Not a Number يا NaN) است محاسبه

» x=[1 2 0]./[2 0 0]
Warning: Divide by zero.
x =
0.5000 Inf NaN

همچنين اعداد موهومي را به سادگي اعداد حقيقي مي توانيد در محاسبات استفاده كنيد.

» y=sqrt(-1)
y =
0 + 1.0000i

توابع isnan ،isinf ،finite و isreal به شما امكان مي دهد كه اين اعداد را شناسايي كنيد:

» finite(x)
ans =
1 0 0
١٧
» isinf(x)
ans =
0 1 0
» isnan(x)
ans =
0 0 1
» isreal(x)
ans =
1
» isreal(y)
ans =
0

 

ترسيم داده ها
نمودارهای 2 بعدی
مجموعه دستورات زير نحوه ترسيم يك تابع بر حسب يك متغير مستقل را نشان مي دهد:

» x=linspace(0,2); y=x.*exp(-x);
» plot(x,y)
» grid
» xlabel(‘x’)
» ylabel(‘y’)
» title(‘y=x.e^{-x}’)
» text(1,.2,’centre’)

power2.ir-matlab-tehran.pdf006192

هفت خط فوق به ترتيب اعمال زير را انجام مي دهند:
١- بردار متغيرهاي مستقل (x) و تابع (y) را ايجاد مي كند.
٢- مقادير y را بر حسب x رسم مي نمايد.
٣- شبكه را به نمودار مي افزايد.
٤- توضيح محور افقي را مي نويسد.
٥- توضيح محور عمودي را مي نويسد.
٦- تيتر نمودار را در بالاي آن مي نويسد.
٧- در نقطه مورد نظر (در اين مثال نقطه (٠/٢ و ١)) متغير حرفــي مشـخص شـده (در ايـن مثـال
centre) را مي نويسد.

مي توانيد نمودار ايجاد شده را به كمك دســتور Save As در منـوي File پنجـره نمـودار، ذخـيره
نماييد. اين دستور نمودار را در يك پرونده كه نام آن را خودتان وارد خواهيد كرد و دنباله آن ffig.
مي باشد ذخيره مي كند. شما مي توانيد ايــن نمـودار را در دفعـات بعـدي كـار بـا MATLAB بـا
استفاده از دستور open بازيابي نماييد.
در هنگام رسم نمودارها مي توانيد از علامتهاي مختلف (بجاي خط) براي رسم توابع استفاده كنيــد.
همچنين مي توانيد بيش از يك تابع را در يك نمودار نمايش دهيد.

» plot(x,y,’.’,x,x.*sin(x),’-.’)

و در صورت لزوم نام توابع را نيز در همان نمودار نشان دهيد.

» legend(‘x.e^{-x}’,’x.sin x’)

power2.ir-matlab-tehran.pdf006193

مي توانيد بيش از يك نمودار را در يك پنجره نشان دهيد:

» subplot(2,1,1), plot(x,y)
» ylabel(‘x.e^{-x}’)
» subplot(2,1,2), plot(x,x.*sin(x))
» ylabel(‘x.sin x’)

power2.ir-matlab-tehran.pdf006194

دو عدد اول در دستور subplot تعداد تقسيمات صفحه را معين مي كنند (سطري و ستوني) و عــدد
سوم مكان رسم نمودار (يا تغيير روي نمودار موجود) را مشخص مي نمايد.
نمودار را مي توانيد با استفاده از دستور clf پاك كنيد.

» clf

با استفاده از دستور figure مي توانيد پنجره جديدي براي رســم نمـودار بـاز نمـائيد. دسـتور axis
حدود بالا وپايين محورهاي مختصات را به صورت يك بردار ارائه مي نمايد.

» figure(2)
» plot(x,y)
» axis
ans =
0 2.0000 0 0.4000

power2.ir-matlab-tehran.pdf006195

در تمامي مثالهاي بالا مقادير متغير مستقل و متغير وابسته به صورت دو بردار بر حســب هـم رسـم
شده اند. در صورتي كه تابعيت متغير وابسته بر حسب متغير مستقل مشخص باشــد مـي توانيـد از
دستور fplot براي رسم آن استفاده كنيد:

» fplot(‘x*exp(-x)’,[0 2])

آرگومان اول اين دستور يك بردار حرفي است كه مشخص كننده رابطه تابع (در صورت ساده بــودن
رابطه تحليلي تابع، همانند مثال فوق) يا نام m-file حاوي تابع (كه جداگانه بايد ايجاد شــده باشـد)
است. آرگومان دوم fplot يك بردار دو عضوي است كه حد پائين و بالاي متغير مستقل را مشـخص
مي كند.
تعدادي از دستورهاي ترسيم دو بعدي در زير آورده شده اند:
نمودار نيمه لگاريتمي (محور x لگاريتمي) (semilogx(x,y
نمودار نيمه لگاريتمي (محور y لگاريتمي) (semilogy(x,y
نمودار تمام لگاريتمي (loglog(x,y
رسم در دستگاه مختصات قطبي (polar(r,theta
نمودار ميله اي (bar(x,y
area(x,y) مساحت نمودار

سعید عربعامری
من سعید عربعامری نویسنده کتاب 28 گام موثر در فتح متلب مدرس کشوری متلب و سیمولینک و کارشناس ارشد مهندسی برق قدرتم . بعد از اینکه دیدم سایتهای متعدد یک مجموعه کامل آموزش متلب و سیمولینک ندارند به فکر راه اندازی این مجموعه شدم
http://sim-power.ir

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *