با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن. و کاربرانی که دوره کامل آموزش متلب را دنبال می کنند. اپراتور یک نماد است که کامپایلر را قادر به انجام دستکاری های خاص ریاضی یا منطقی می دهد. نرم افزار کاربردی MATLAB طوری طراحی شده است که به طور عمده در تمام ماتریس ها و آرایه ها کار می کند. بنابراین، اپراتورها در متلب بر روی داده های اسکالر و غیر اسکالر کار می کنند. عملگرها در واقع پایه و اساس محاسبات و فرمول های ریاضی هستند.و بدون استفاده از آن ها انجام اعمال ساده ی محاسبات مانند جمع ، تفریق ، ضرب و… ممکن نیست و هیچ نتیجه ای نخواهیم داشت. بنابراین با توجه به اهمیت ویژه ی عملگرها در متلب مباحث این آموزش را به آشنایی با عملگرهای متلب ( عملگرهای بیتی در متلب ، عملگرهای منطقی در متلب و .. ) اختصاص داده ایم.
در ادامه ی مباحث آشنایی با عملگرهای متلب شما را با انواع عملگرها در متلب آشنا خواهیم کرد.
MATLAB به شما اجازه می دهد تا انواع عملیات ابتدایی
متلب به شما اجازه می دهد تا از دو نوع مختلف عملیات محاسباتی استفاده کنید:
عملیات ریاضی ماتریس همانند محاسبات جبر خطی تعریف شده است.
عملیات محاسباتی آرایه توسط عناصر هم در آرایه یک بعدی و هم در چند بعدی، اجرا می شوند.
اپراتورهای ماتریس و اپراتورهای آرایه با نماد (.) تمایز می یابند.
با این حال، عملیاتی مانند جمع و تفریق در ماتریس ها و آرایه ها یکسان است.
جدول زیر شامل یک لیست کلی از اپراتورهای متلب است:
Sr.No. | Operator & Description |
---|---|
۱ | + برای جمع دو متغیر مانند A+B استفاده می شود که باید هر دو هم اندازه باشند، مگر اینکه آرایه باشند. |
۲ | – برای تفریق دو متغیر مانند A-B استفاده می شود که باید هر دو هم اندازه باشند، مگر اینکه آرایه باشند. |
۳ | * برای انجام عملیات ضرب مانند C=A*B کاربرد دارد. در ضرب ماتریس ها باید ستون های ماتریس A با سطر ماتریس B برابر باشند.
|
۴ | .* ضرب دو آرایه مانند . A. * B |
۵ | / برای تقسیم صحیح عبارت مانند A / B کاربرد دارد.
|
۶ | ./ بای انجام تقسیم نوع A./B کاربرد دارد. |
۷ | \ بک اسلش یا ماتریس چپ برای انجام یک تقسیم اعشاری کاربرد دارد. |
۸ | .\ برای انجام تقسیم نوع A.\B کاربرد دارد.
|
۹ | ^ نوعی تقسیم برای مقادیر اسکالر است. |
۱۰ | .^ نوع تقسیم اسکالر A.^B است.
|
۱۱ | ‘ برای ایجاد یک ماتریس انتقال با جابه جایی مقادیر ماتریس است.
|
۱۲ | .’ آرایه انتقال A. ‘ آرایه انتقال از A. برای ماتریس های پیچیده، این شامل conjugation نیست. |
اپراتورهای ارتباطی نیز می توانند بر روی هر دو نوع اطلاعات اسکالر و غیر اسکالر کار کنند.
عملگرهای ارتباطی برای انجام مقایسه های مختلف بین متغیر و آرایه ها کاربرد دارد.
اگر نتیجه درست باشد مقدار ۱ و در غیر این صورت صفر را برمی گرداند.
جدول زیر شامل عملگرهای ارتباطی متلب است:
Sr.No. | Operator & Description |
---|---|
۱ | < عملگر کوچکتر از
|
۲ | <= عملگر بزرگتر مساوی
|
ع۳ | > عملگر بزرگتر از |
۴ | >= عملگر بزرگتر مساوی |
۵ | == عملگر برابر |
۶ | ~= عملگر نامساوی |
متلب دو نوع کلی از عملگرهای منطقی را ارئه می دهد:
اپراتورهای منطقی توسط عناصر در آرایه های منطقی عمل می کنند.
نمادهای آن &، |، و ~ عملگرهای آرایه منطقی AND، OR و NOT هستند.
اپراتورهای منطقی کوتاه مدت اجازه می دهند که در عملیات منطقی کوتاه بمانند.
نمادهای && و || اپراتورهای مدار منطقی AND و OR هستند.
عملگرهای بیتی بر روی بیت ها کار می کنند و عملیات بیت به بیت را انجام می دهند.
جدول عملیات بیتی برای &، |، و ^ به شرح زیر است :
p | q | p & q | p | q | p ^ q |
---|---|---|---|---|
۰ | ۰ | ۰ | ۰ | ۰ |
۰ | ۱ | ۰ | ۱ | ۱ |
۱ | ۱ | ۱ | ۱ | ۰ |
۱ | ۰ | ۰ | ۱ | ۱ |
فرض کنید اگر A = 60؛ و B = 13؛ باشد سپس قالب باینری آنها به شرح زیر خواهد بود :
A = 0011 1100
B = 0000 1101
—————–
A&B = 0000 1100
A|B = 0011 1101
A^B = 0011 0001
~A = ۱۱۰۰ ۰۰۱۱
متلب توابع مختلفی را برای عملیات bit-wise مثل عملیات bitwise و ‘bitwise یا’ و ‘bitwise not’ و … را فراهم می کند.
جدول زیر شامل عملگرهای بیتی عمومی در متلب است:
Function | Purpose |
---|---|
bitand(a, b) | عملیات AND بیتی بین دو مقدار |
bitcmp(a) | عملیات بیتی یک مقدار |
bitget(a,pos) | بیت در موقعیت مشخص شده pos، |
bitor(a, b) | عملیات OR بیتی دو مقدار a و b |
bitset(a, pos) | بیت را در موقعیت خاصی تنظیم می کند. |
bitshift(a, k) | بیت های مقادیر را به اندازه ی k بیت به سمت چپ شیفت می دهد. |
bitxor(a, b) | عملیت XOR بیتی دو مقدار است. |
swapbytes | تعویض بایت سفارش |
متلب توابع مختلفی را برای عملیات مجموعه ای، مانند اتحاد، تقاطع و تست و… را ارائه می کند.
جدول زیر شامل عملگرهای فوق در متلب است:
ردیف | توابع و کاربرد آنها |
---|---|
۱ | (intersect(A,B مقادیر مشترک برای هر دو آرایه ی A و B را بازمی گرداند
|
۲ | (intersect(A,B,’rows’ هر ردیف A و هر ردیف B را به صورت یکنواخت تکرار می کند و ردیف های مشترک A و B را باز می کند. |
۳ | (ismember(A,B آن دسته از عناصر A که در B یافت می شود را در آرایه ای باز می گرداند.
|
۴ | (ismember(A,B,’rows’ ردیف های A و B را در آرایه ای باز می گرداند. |
۵ | (issorted(A اگر عناصر A مرتب باشند مقدار ۱ یا TREUE برمی گرداند در غیر این صورت ۰ یا FALSE را برمی گرداند. |
۶ | (issorted(A, ‘rows’ اگر ردیف های ماتریس دو بعدی A مرتب باشند مقدار ۱ یا TREUE برمی گرداند در غیر این صورت ۰ یا FALSE را برمی گرداند. |
۷ | (setdiff(A,B تنظیم اختلاف دو آرایه؛ مقادیر A را که در B قرار نمی گیرند، باز می گردانند. مقادیر در آرایه بازگشتی مرتب شده اند.
|
۸ | (setdiff(A,B,’rows’ هر ردیف A و هر ردیف B را به صورت تک واحدهای پردازش می کند و ردیف های A را که در B نیستند، باز می گرداند.
|
۹ | setxor منوی اختصاصی یا دو آرایه را می سازد.
|
۱۰ | union مجموعه ای از دو آرایه را ایجاد می کند. |
۱۱ | unique مقادیر منحصر به فرد در آرایه را بازمی گرداند. |
عملگرها جزء اصلی و تعاملی محاسبات هستند و بدون استفاده از عملگرها حتی ابتدایی ترین و پیش پا افتاده ترین عملیات نیز در متلب انجام نمی شود. با توجه به اهمیت ویژه ی عملگرها در متلب مباحث این بخش را به آشنایی با عملگرهای متلب اختصاص داده ایم.