کانال بله, جهت پشتیبانی و اطلاع رسانی کانال بله, جهت پشتیبانی و اطلاع رسانی
عضویت

Operators

Operators

یک عملگر، نمادی است که نشان می دهد کامپایلر عمل خاص ریاضی و منطقی را با مهارت انجام می دهد. متلب در درجه اول به وسیله عملگر بر روی ماتریس ها و آرایه ها طراحی شده است. بنابراین، عملگر ها در متلب بر روی داده های اسکالر و غیر اسکالر کار می کنند. متلب انواع عملگر های ابتدایی را دارد.

عملگر های حسابی

عملگرهای گویا

عملگر های منطقی

عملگر های بیتی

عملگر های  Set

عملگر های حسابی

متلب دارای دو نوع مختلف از عملگرهای حسابی است.

عملگر های حسابی ماتریس

عملگر های حسابی آرایه

عملگر های حسابی ماتریس همانند تعریفشان در جبرخطی هستند. عملگر های آرایه مولفه به مولفه هم بر روی آرایه یک بعدی و هم چند بعدی اجرا می شوند.

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

Operator

Description

+

جمع یا جمع یگانی. A+B مقادیر متغیر های A و B را با هم جمع می کند. A و B باید هم سایز باشند، مگر اینکه یکی از آن دو اسکالر باشد. یک اسکالر می تواند به یک ماتریس از هر سایزی اضافه شود.

-

تفریق یا منهای یگانی. در A-B مقادیر B از A کم می شوند و A و B باید هم سایز باشند مگر اینکه یکی از آن دو اسکالر باشند. یک اسکالر می تواند از هر ماتریس با هر سایزی کم شود.

*

حاصل ضرب ماتریس. C = A*B همان ضرب جبر خطی ماتریس های A و B می باشد. مانند زیر

clip_image001

برای ضرب غیر اسکالر A و B، تعداد ستون های ماتریس A باید با تعداد سطر های B با هم برابر باشند. یک اسکالر می تواند در ماتریس با هر سایزی ضرب شود.

.*

حاصل ضرب آرایه ای. A.*B حاصل ضرب مولفه به مولفه آرایه ای A و B می باشد. A و B باید سایز های یکسان داشته باشند. مگر اینکه یکی از آن دو اسکالر باشند.

/

اسلش یا تقسیم راست ماتریس. B/A تقریبا همان عبارت B*inv(A) می باشد. به طور دقیق تر B/A = (A'\B')'.

./

آرایه تقسیم راست. A./B ماتریسی با عناصر A(i,j)/B(i,j) می باشد. A و B باید هم سایز باشند. مگر اینکه یکی از آن دو اسکالر باشد.

\

بک اسلش یا تقسیم چپ. اگر A یک ماتریس مربعی باشد، A\B تقریبا برابر است با inv(A)*B، اما آن از روش متفاوتی محاسبه می شود. اگر A یک ماتریس n در n باشد و B یک بردار ستونی با n مولفه یا یک ماتریس با چند ستون باشد آنگاه X = A\B جواب معادله AX = B. A می باشد با این اخطار که A اسکالر بد یا ماتریس منفرد نباشد.

.\

آرایه تقسیم چپ. A.\B ماتریسی با عناصر B(i,j)/A(i,j) می باشد. A و B هم سایز می باشند، مگر اینکه یکی از آن دو اسکالر باشد.

^

ماتریس توانی. X^p، X به توان p می باشد، اگر p یک اسکالر است. اگر p یک عدد صحیح باشد، آنگاه توان توسط تکرار مربع محاسبه می شود. اگر عدد صحیح منفی باشد، X باید وارون پذیر باشد. برای مقادیر دیگر p، محاسبات شامل مقادیر ویژه و بردار های ویژه به طوری که اگر [V,D] = eig(X) آنگاه X^p = V*D.^p/V.

.^

توان آرایه ای. A.^B ماتریسی با آرایه های A(i,j) به توان B(i,j). A و B باید سایز های برابر داشته باشند، مگر اینکه یکی از آن دو اسکالر باشد.

'

ترانهاده ماتریس. A' ترانهاده جبرخطی A است. برای ماتریس مختلط، A' ترانهاده مزدوج مختلط می باشد.

.'

ترانهاده آرایه ای. A.' ترانهاده آرایه A می باشد. برای ماتریس مختلط، A.' شامل مزدوج نمی باشد.

عملگر های رابطه ای

عملگر های رابطه ای شامل کار با داده های اسکالر و غیر اسکالر می توانند باشند. عملگر های رابطه ای برای انجام مقایسه مولفه به مولفه بین دو آرایه و بازگشت آرایه منطقی هم سایز با مولفه منطقی 1 برای جایی که رابطه درست باشد و 0 برای زمانیکه رابطه درست نباشد، به کار می روند.

این جدول عملگر های رابطه ای امکان پذیر را در متلب نشان می دهد.

Operator

Description

< 

کمتر از

<=

کمتر مساوی

> 

بیشتر از

>=

بیشتر مساوی

==

برابر با

~=

برابر نبودن

عملگر های منطقی

متلب دو نوع از توابع و عملگر های منطقی زیر را پیشنهاد می دهد.

Element-wise : این عملگر ها روی مختصات عناصر آرایه های منطقی عمل می کنند.

اتصال کوتاه (Short-circuit) : این عملگر ها روی اسکالر و عبارات منطقی عمل می کنند.

عملگر ها Element-wise منطقی مولفه مولفه بر روی آرایه های منطقی عمل می کند. نماد های &، | و ~ عملگر های آرایه منطقی AND، OR و NOT می باشند.

عملگر های منطقی اتصال کوتاه (Short-circuit) اجازه اتصال کوتاه را بر روی عملگر های منطقی می دهد. نماد های && و || عملگر های اتصال کوتاه منطقی AND و OR می باشد.

عملگر های بیتی

عملگر های بیتی روی بیت ها و عملگر های بیت به بیت کار می کنند. جدول مربوط به این عملگر ها در زیر آمده است.

p

q

p & q

p | q

p ^ q

0

0

0

0

0

0

1

0

1

1

1

1

1

1

0

1

0

0

1

1

فرض کنیم اگر A = 60 و B = 13 باشد، حال در فرمت دودویی به صورت زیر نوشته می شوند.

A = 0011 1100

B = 0000 1101

-----------------

A&B = 0000 1100

A|B = 0011 1101

A^B = 0011 0001

~A  = 1100 0011

متلب توابع مختلفی برای عملگر های bit-wise مانند عملگر های 'bitwise and'، 'bitwise or' و 'bitwise not'، عملگر های شیفت و ... را تولید می کند.

جدول زیر استفاده های عمومی از این عملگر ها را نشان می دهد.

Function

Purpose

bitand(a, b)

Bit-wise AND  از اعداد صحیح a و b

bitcmp(a)

Bit-wise  مولفه a

bitget(a,pos)

بیت get موقعیت مشخص Pos در آرایه عدد صحیح a

bitor(a, b)

Bit-wise OR  از اعداد صحیح a و b

bitset(a, pos)

بیت set موقعیت مشخص Pos در آرایه عدد صحیح a

bitshift(a, k)

A را به سمت چپ به اندازه k بیت انتقال می دهد، که با ضرب 2k هم ارز است. متناظر با مقادیر منفی k، بیت ها به سمت راست منتقل می شوند توسط 2|k| و به نزدیک ترین عدد صحیح گرد می کنیم. هر بیت سر ریز کوتاه است.

bitxor(a, b)

Bit-wise XOR  از اعداد صحیح a و b

swapbytes

تعویض ترتیب بیت

عملگر های Set

متلب توابع متنوعی را برای عملگر های Set مانند اجتماع، اشتراک و عضویت در مجموعه و ... تولید می کند.

جدول زیر عملگر های Set را نشان می دهد.

Function

Description

intersect(A,B)

اشتراک دو آرایه، مقادیر مشترک دو مجموعه A و B را ب می گرداند. مقادیر به صورت مرتب بر می گرداند.

intersect(A,B,'rows')

سطر های A و B را در نظر می گیرد و سطر های مشترک A و B را بر می گرداند. سطر ها را مرتب می کند.

ismember(A,B)

هر آرایه  با سایز یکسان در A را  برمی گرداند، به طوریکه اگر عناصر A در B پیدا شوند عدد 1 و در غیر این صورت عدد 0 را بر می گرداند.

ismember(A,B,'rows')

هر سطر از A و هر سطر B را در نظر می گیرد و عدد 1 را برای سطر هایی از ماتریس A که سطر های ماتریس B باشد، برمی گرداند و در غیر این صورت عدد 0 را بر می گرداند.

issorted(A)

اگر مولفه های ماتریس A مرتب شده باشند عدد 1 و در غیر این صورت عدد 0 را بر می گرداند. A می تواند یک بردار یا یک سلول N-by-1 یا 1-by-N از آرایه اشیا باشد. A در نظر گرفته شده مرتب شده است اگر A و خروجی sort(A) با هم برابر باشند.

issorted(A, 'rows')

اگر سطر های دو بعدی ماتریس A مرتب باشند عدد 1 و در غیر این صورت عدد 0 را بر می گرداند. ماتریس A در نظر گرفته شده مرتب شده هستند اگر A و خروجی sortrows(A) برابر باشند.

setdiff(A,B)

تفاضل دو آرایه، مقادیری از A را که در B نیست، برمی گرداند. سپس مقادیر را مرتب می کنیم.

setdiff(A,B,'rows')

سطر های A و B را در نظر بگیرید و سطر هایی از A که در B نباشد را بر می گرداند. سطر های ماتریس را مرتب شده بر می گرداند. گزینه 'rows' از آرایه های سلولی پشتیبانی نمی کند.

setxor

Sets exclusive OR  از دو آرایه

union

اجتماع دو آرایه

unique

مقادیر یکتا در آرایه

 

1394/08/29 8942 1538
رمز عبور : tahlildadeh.com یا www.tahlildadeh.com
نظرات شما

نظرات خود را ثبت کنید...