صفحة الصنف Complex في روبي

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث

يمكن تمثيل الأعداد العقدية (تُسمّى أيضًا أعدادًا مركبة) كزوج مكون من عدد حقيقي ووحدة تخلية (العدد i) ؛ وفق الشكل a+bi، حيث a هو الجزء الحقيقي، و b هو الجزء التخيلي و i هو الوحدة الخيالية.

العدد الحقيقي a يساوي رياضياتيًا العدد العقدي a+0i.

يمكن إنشاء الأعداد العقدية بطريقة حرفية، وأيضا باستخدام التوابع Kernel#Complex أو  ‏‎::rect أو  ‏‎::polar أو ‎#to_c. إليك الأمثلة التالية:

2+1i                 #=> (2+1i)
Complex(1)           #=> (1+0i)
Complex(2, 3)        #=> (2+3i)
Complex.polar(2, 3)  #=> (-1.9799849932008908+0.2822400161197344i)
3.to_c               #=> (3+0i)

يمكنك أيضا إنشاء الكائنات العقدية من الأعداد من النوع float أو من السلاسل النصية كما توضح الأمثلة التالية:

Complex(0.3)         #=> (0.3+0i)
Complex('0.3-0.5i')  #=> (0.3-0.5i)
Complex('2/3+3/4i')  #=> ((2/3)+(3/4)*i)
Complex('1@2')       #=> (-0.4161468365471424+0.9092974268256817i)

0.3.to_c             #=> (0.3+0i)
'0.3-0.5i'.to_c      #=> (0.3-0.5i)
'2/3+3/4i'.to_c      #=> ((2/3)+(3/4)*i)
'1@2'.to_c           #=> (-0.4161468365471424+0.9092974268256817i)

تُصنّف الأعداد العقدية إلى مضبوطة (exact) و غير مضبوطة:

Complex(1, 1) / 2    #=> ((1/2)+(1/2)*i)
Complex(1, 1) / 2.0  #=> (0.5+0.5i)

الثوابت

الثابت التخيلي I

يمثل الثابت i العدد التخيلي للأعداد العقدية.

توابع الصنف العامة (Public Class Methods)

التابع polar

يعيد التابع ‎polar عددا عقديا وفق الشكل القطبي (polar form).

التابع rect

يعيد التابع ‎rect عددا عقديا وفق الشكل الجبري أو المستطيلي (rectangular form).

التابع rectangular 

يعيد التابع ‎rectangular عددا عقديا وفق الشكل الجبري أو المستطيلي (rectangular form).

توابع الكائن العامة (Public Instance Methods)

المعامل *

يؤدي المعامل ‎*عملية الضرب على الأعداد العقدية.

المعامل **

يؤدي المعامل ‎**عملية الأسّ (exponentiation) على الأعداد العقدية.

المعامل +

يؤدي المعامل ‎+عملية الجمع على الأعداد العقدية.

المعامل -

يؤدي المعامل ‎-عملية الطرح على الأعداد العقدية.

معامل النفي -

يعيد معامل النفي ‎- نفي (مقابل) العدد العقدي. 

المعامل /

يؤدي المعامل ‎/عملية القسمة على الأعداد العقدية.

المعامل ==

يتحقق المعامل ‎==من تساوي عددين عقديين.

التابع abs

يعيد التابع ‎abs منظم (القيمة المطلقة) للعدد العقدي الذي استدعي معه.

التابع abs2

يعيد التابع ‎abs2 مربع القيمة المطلقة للعدد العقدي الذي استدعي معه.

التابع ‎angle

يعيد التابع ‎angle الجزء الزاوري (angle part) للشكل القطبي للعدد العقدي الذي استدعي معه.

التابع arg

يعيد التابع ‎arg منظم (arg  part) العدد العقدي الذي استدعي معه وفق الشكل القطبي.

التابع arg

يعيد التابع ‎conj مرافق العدد العقدي.

التابع conjugate

يعيد التابع ‎conjugate مرافق العدد العقدي. 

التابع denominator

يعيد التابع ‎denominator قاسم (denominator) العدد العقدي، أي المضاعف المشترك الأصغر (lcm) للجزءين الحقيقي والتخيلي.

التابع fdiv

يقوم التابع ‎fdiv بعملية القسمة على العدد العقدي.

التابع finite?‎

يتحقق التابع ‎finite?‎ مما إذا كانت القيمة المطلقة (absolute part) للشكل القطبي للعدد العقدي الذي استُدعي معه منتهيًا (finite). 

التابع imag

يعيد التابع ‎imag الجزء التخيلي للعدد العقدي. 

التابع imaginary

يعيد التابع ‎imaginary الجزء التخيلي (imaginary part) للعدد العقدي. 

التابع ‎infinite?‎

يعيد التابع ‎infinite?‎ قيمة بحسب ما إذا كانت القيمة المطلقة (absolute part) للشكل القطبي للعدد العقدي منتهية أو غير منتهية (infinite).

التابع inspect

يعيد التابع ‎inspect العدد العقدي على شكل سلسلة نصية لأجل التفتيش (inspection). 

التابع magnitude

يعيد التابع ‎magnitude الجزء المطلق (absolute part) للشكل القطبي للعدد العقدي.

التابع ‎numerator‎

يعيد التابع ‎numerator مقام (numerator) العدد العقدي. 

التابع phase

 يعيد التابع ‎phase الجزء الزاوي (angle part) للشكل القطبي للعدد العقدي الذي استُدعي معه.

التابع quo

يؤدي التابع ‎quoعملية القسمة على الأعداد العقدية.

التابع rationalize

يعيد التابع ‎rationalize القيمة الجذرية (rational ) المقابلة للعدد العقدي. ينبغي أن يكون الجزء التخيلي معدوما. 

التابع real

يعيد التابع ‎real الجزء الحقيقي (real part) للعدد العقدي.

التابع real?‎ 

يعيد التابع ‎real?‎ القيمة false دائمًا. 

التابع to_c

يعيد التابع ‎to_c العدد العقدي نفسه. 

التابع to_f

يعيد التابع ‎to_f العدد العقدي الذي استدعي معه على شكل عدد من النوع float إن كان ذلك ممكنًا (ينبغي أن يساوي الجزء التخيلي العدد 0 تمامًا، وإلا فسيطلق الخطأ RangeError).

التابع to_i

يعيد التابع ‎to_i العدد العقدي الذي استدعي معه على شكل عدد صحيح من النوع integer إن كان ذلك ممكنًا (ينبغي أن يساوي الجزء التخيلي العدد 0 تمامًا، وإلا فسيطلق الخطأ RangeError).

التابع to_s

يعيد التابع ‎to_s العدد العقدي الذي استدعي معه على شكل سلسلة نصية.

التابع to_r

يعيد التابع ‎to_r القيمة الجذرية (rational ) المقابلة للعدد العقدي. ينبغي أن يكون الجزء التخيلي معدوما. 

مصادر