statistics mathematic
DESCRIPTION
statisic ,mathematicTRANSCRIPT
١
مدخل حديث للبرمجة باستخدام برنامجMathematica
تأليف
محمد ابراهيم ثروت محمد عبد المنعم/ الدكتورة
أستاذ مشارك
جامعة الدمام
)سابقا(قسم الرياضيات –كلية العلوم بالدمام
م٢٠١٣
٢
٣
المهندس الزراعى محمود محمد عبد المنعم ىالى اخ
اختى الدكتورة فاطمة الزهراء الى
محمد عبد المنعم الدین كمال ى المحاسبالى اخ
الى اختى فى اهللا الدكتورة منى مصطفى حسین التى تحاببنا فى اهللا
صغرهم علمتهم فى الذین وبهاء حسین واحمد عز ومحمد حسین محمد عز تى االى اوالد اخو الحاسب االلى ثم استشرتهم فى بعض المواضیع وانا كبیرة وبعد ان تقدمت علوم الحاسب
جمیعا لشكرمنى ا مفلهدونى اااللى واصبحوا اكثر معرفة منى فى بعض المجاالت اف
عالم باكملهال بجد لصالح الى كل من یعمل
وال یبغى اال وجه اهللا
ثروت محمد عبد المنعم. د
٤
بسم اهللا الرحمن الرحیم
تمهید
أمــا . الحمـد هللا رب العــالمین والصــالة والسـالم علــى أشــرف المرسـلین محمــد وعلــى آلـه وصــحبه أجمعــینبعــد، فالحمــد هللا الــذي هــدانا ومــا كنــا لنهتــدي لــوال أن هــدانا اهللا الــذي أنعــم علــي بكتابــة هــذا الكتــاب تلبیــة لنــداء
.العلماء والمثقفینالتعریب الذي یتبناه الكثیر من
قطاعــا كبیــرا مــن التخصصــات العلمیــة المختلفــة حیــث یقــوم Mathematicaالماثیماتیكــا یخــدم برنــامج المتعـارف علیهـا مثـل الجمـع والطـرح والقسـمة Numerical Calculationsبـإجراء العملیـات الحسـابیة العددیـة
وحساب االسس واللوغارتمات و الدوال المثلثیـة و الزائدیـة سـواء لالعـداد الحقیقیـة او االعـداد المركبـة وكـذلك یقـوم المتعارف علیها فى فروع كثیرة من الریاضـیات مثـل الجبـر الخطـى Symbolicبإجراء العملیات الریاضیة الرمزیة
كمـا . ء والتفاضل والتكامـل والـدوال الخاصـة والمعـادالت التفاضـلیة والتحلیـل العـددى والبرمجـة الخطیـة واالحصاالماثیماتیكـا برنـامج كمـا یمكـن اسـتخدام . یقوم برسم الدوال سواء المباشرة او البارامتریة فى بعدین او ثالث ابعـاد
الریاضـیات واالحصــاء واالحتمــاالت، كثیــرة مثــل ت ، فــى مجـاال كلغـة برمجــة لكتابـة بــرامج تحــل مشـكالت كبیــرة لبرنـامج 5ولقد اعتمدت فى وضـع هـذا الكتـاب علـى االصـدار .یعجز حلها امر واحد وهذا هدفنا فى هذا الكتاب
.الماثیماتیكا ویمكن للمستخدم الى اصدار اخر االعتماد علیه النه یتناول االساسیات والموجودة فى اى اصدار
لطـالب الدراسـات العلیـا اهذا الكتـاب یصـلح كمقـرر لطـالب كلیـات العلـوم ، كمـا یصـلح ألن یكـون مقـرر یصــلح هــذا . فیــه ونفــى عمــل بــرامج فــى مجــال الفــرع الــذى یعملــ ، فــى رســالة الماجســتیر والــدكتوراه، متســاعدهل
المهندسـین ورجـال االعمـال واعضـاء الكتاب أیضا ألن یكون مرجعا لكل المستخدمین لهذا البرنامج مثـل الطلبـة و هـذا ویمكـن فـى حالـة عـدم االلمـام بالبرنـامج االسـتعانة بالمتخصصـین فـى . بالبرنـامجهیئة التدریس والذین یلمـون
علـى یـةاالعدادیـة و الثانو وانى اقترح ان یدرس للطالب فى المرحلـة . ادخال البیانات والحصول على المخرجات، فـــى اســـتخدام اوامـــر البرنـــامج فـــى حـــل مســـائل ذا البرنـــامج، تـــم تـــدریبهم علیـــهمتخصصـــین فـــى هـــ ان یقـــوم
باسـتخدام مسـالة فـى النهایـات یمكـن حلهـا فـى ثـوانفعلى سبیل المثال . الریاضیات مثال بعد تعلیمهم الحل یدویا
٥
ایضا تعلیم الطالب االمتحان المفتـوح ولـو مـرة واحـدة والـدخول . والتى تستغرق مع الطالب الوقت الطویل البرنامجحتـى نـوفر للطالـب الوقـت والمجهـود ونعلمـه الفهـم ولـیس الحفـظ وهـذا بالكتب والجلوس امام جهاز الحاسب والحـل
یجریهــا یــدویا مــع الحلــول الســتخرجة مــن كمــا یمكــن للطالــب التاكــد مــن حلولــة التــى .االســلوب یطبــق فــى الخــارج . البرنامج
كمـا اسـتعنت باللغـة العربیـة ومرجـع واحـد مـن المراجـع واألجنبیـة بعـدد وفي وضع هذا الكتاب استعنت .بخبرتي في تدریس هذا المقرر لطالب الدراسات العلیا في مرحلة الماجستیر والدكتوراه
العـالم العربـى فـى هـذا المجـال كمـا اعتبـره ال یقـل فـى تعـد علـى االصـابع من المراجع التىویعتبر هذا الكتاب ولقـد الفــت مــن قبــل كتـاب فــى البرمجــة باســتخدام .وســوف اتـرك الحكــم لكــم عـن الكتــب االجنبیــة فـى هــذا المجــال
یـة ولمـا فى مجال االستدالل االحصائى وهو فى منتدى االحصائیین العرب فـى الكتـب والمراجـع العربالماثیماتیكا كـان هـذا الكتـاب یحتـاج امـا الــى عضـو هیئـة تـدریس لشـرحة او ان یكــون المسـتخدم عنـده معلومـات عـن البرنــامج
مثـل فـى مجـاالت كثیـرةلذلك اقدمت على تالیف هذا الكتاب والذى یبدا من نقطـة الصـفر وینتهـى بمعرفـة البرمجـة حتاج الى ممارسـة والتـى تعطـى المسـتخدم خبـرة یسهل جدا و وااللمام بالبرمجة بالماثیماتیكا .الریاضیات واالحصاء
وینصـح .فى التعامل مع البرنامج وانا تعلمـت هـذه اللغـة بنفسـى بـاالطالع والممارسـة وعلمتهـا لكثیـر مـن الـزمالء .فى حالة حدوث مشاكل فى البرنامج الخروج منه ثم العودة مرة اخرى
أمـا الفصـل الثـاني فیهـتم بـدا العمـل ببرنـامج الماثیماتیكـاصـل األول فصـول، یقـدم الف سـتةیحتوي هـذا الكتـاب علـى رســوم الــدوال والتعبیــرات الــى طــرقفیت الثالــثأمــا الفصــل ، بالعملیــات الریاضــیة علــى االعــداد والتعبیــرات والــدوال
التفاضـــل إلـــى الخـــامسیتطـــرق الفصـــل واخیـــرا ، و بمواضـــیع فـــى الجبـــر الرابـــعبینمـــا یهـــتم الفصـــل ، والمعـــادالت .والتكامل
وقد كنت انوى اضافة فصل عن استخدام برنامج الماثیماتیكا فـى مجـال االحصـاء واالحتمـاالت ولكـن اجلـت ذلـك .اعمل فیه حالیا،ان شاء اهللا موسع ، اب قادم تالى ك
.ربيوأسأل اهللا أن أكون قد وفقت في هذا المجهود المتواضع خدمة لقضایا البحث العلمي في وطننا الع
نني أرحب بكل نقد بناء یهدف إلى األفضل، وما الكمال إال هللا وحده .وا
واهللا ولي التوفیق
ثروت محمد عبد المنعم. د
٦
Mathematicaبدا العمل ببرنامج : الفصـل األول
فتح البرنامج )١ - ١(
وصف نافذة البرنامج )٢ - ١(
البرنامج تشغیل )٣ - ١(
الحصول على معلومات من البرنامج )٤ - ١(
االخطاء )٥ - ١(
تشغیل الحزم الجاهزة الموجودة فى البرنامج )٦ - ١(
من نافذة البرنامج Helpاستخدام االمر )٧ - ١(
العملیات الالریاضیة على كل من االعداد والتعبیرات والدوال: الثانى الفصل
الحسابات العددیة )١ - ٢(
الثوابت الریاضیة )٢ - ٢(
المتغیرات )٣ -٢(
الدوال المعرفة فى البرنامج )٤ - ٢(
التعبیرات )٥ - ٢(
تعریف وتقدیر الدوال من قبل المستخدم )٦ - ٢(
العملیات العالقیة والعملیات المنطقیة )٧- ٢(
والمعادالت والتعبیرات الدوالرسم : الثالثالفصـل
٧
)فى المستوى(رسم دالة لمتغیر واحد )١ -٣(
)الفراغ(رسوم فى البعد الثالث )٢ - ٣(
رسم الدوال البارامتریة )٣ - ٣(
مواضیع فى الجبر: الرابع الفصـل
الجبریة على المتغیرات تلیلمعلا )١ -٤(
عملیات الجمع على الحدود المنتظمة )٢ -٤(
الحدود المنتظمة على عملیات الضرب )٣ -٤(
تالداعمللالحلول المضبوطة والتقریبیة )٤ -٤(
القوائم )٥- ٤(
تعریف القوائم )١-٥- ٤(
ابعادالقوائم )٢-٥- ٤(
العمل مع عناصر فى القائمة )٣-٥- ٤(
العمل مع عدة قوائم )٤-٥- ٤(
الدوال عالیة الرتبة )٥-٥- ٤(
رسم قوائم من نقاط وقوائم من دوال )٦-٥- ٤(
نیتاجراء العملیات الحسابیة على قائم )٧-٥- ٤(
تطبیق الدوال عل القوائم بصور متكررةة )٨-٥- ٤(
)٩-٥- ٤( Nested Functions Call
)١٠-٥- ٤( Anonymous Functions
قواعد التحویل )١١-٥- ٤(
٨
الحروف ومتتابعة من الحروف )١٢-٥- ٤(
منظومة االجراءات )١٣-٥- ٤(
)االوامر الشرطیة ( الدوال )١٤-٥- ٤(
الحلقات التكراریة )١٥-٥- ٤(
المصفوفات )٦- ٤(
مقدمة )١-٦- ٤(
استخالص عناصر من المصفوفات )٢-٦- ٤(
الحسابات االولیة على المصفوفات والمتجهات )٣-٦- ٤(
المتكررةالعالقات )٤-٦- ٤(
حساب الحلول النظمة خطیة من المعادالت )٥-٦- ٤(
القیم الممیزة والمتجهات الممیزة )٦-٦- ٤(
التفاضل والتكامل: الخامس الفصـل
النهایات باسح )١- ٥(
التفاضل )٢- ٥(
التكامل )٣- ٥(
سلسالتمتال )٤- ٥(
٩
الفصل االول Mathematicaبدا العمل ببرنامج
١٠
فتح البرنامج ) ١-١(
الخاصة اذا كان برنامج النوافذ هو المستخدم فسوف تظهر االیقونة بعد تحمیل البرنامج و اذا كان قد تم وضعها بواسطة المستخدم والمشار Mathematica 5االصدار برنامج ماثیماتیكاب
:كما فى الشكل التالى )Program Managerنافذة ادارة البرامج (الیها بالسهم على سطح المكتب
نافذة الماثیماتیكاوبعد لحظات تظهر نافذة ادخال البیانات او االیقونة ههذ وبالضغط علىMathematica Window والتى سوف نطلق علیها فیما بعد نافذة البرنامج للتسهیلالتالیة:
بالسهم والموجود اوالمشار الیه start االیقونةوذلك بالضغط على فتح البرنامج او یمكن :التالیة جهة الیسار النافذةاسفل
١١
:التالیة All Programsتظهر القائمة حیث
١٢
وبتحریك مؤشر الفارة الى ایقونة برنامج ماثیماتیكا
ة السابق القائمةالمشار علیها بالسهم فى :السابق ذكرها اى النافذة التالیة البرنامجها یبدا تحمیل البرنامج و تظهر نافذة یلضغط علوا
وصف نافذة البرنامج ) ٢-١(
الجزء . الجزء العلوى والجزء السفلى والجزء االوسط . الى ثالثة اجزاء برنامج الماثیماتیكاتنقسم نافذة عبارة عن شریط رمادى اللون یسمى شریط التصفح او شریط التمریر وعن طریق البرنامجالسفلى من نافذة
وى المساحة البیضاء بین الجزء العل. الموجود به یمكن رؤیة المزید من المعلومات یمینا ویسارا رالمؤشالجزء . تمثل منطقة عمل ویتم فیها كتابة االوامر او العملیات المطلوب تنفیذها البرنانجوالسفلى من نافذة
:العلوى یتكون من صفین موضحین فى الشكل التالى
یوجد ثالث االیمن من الشریطفى الركن : حیث الصف العلوى هو شریط العنوان ویحتوى على االتى وذلك بتحریك مؤشر Minimizeالمربع االول ناحیة الیسار یستخدم لتصغیر النافذة . ة مربعات صغیر
١٣
Maximize الفارة نحوه والضغط علیه اما المربع الذى یلیه من ناحیة الیمین فهو لتكبیر نافذة البرنامجوجد عنوان البرنامج ی الركن االیسر من الشریطوفى .Closeوالمربع االخیر ناحیة الیمین فهو لغلق النافذة
Mathematica( 5) واسم الملف الذى یتم التعامل معه والبرنامج یقوم باعطاء االسمUntitle [1] للملف .عند بدایة التشغیل ویمكن للمستخدم حفظ الملف بعد ذلك باالسم الذى یریده
الموضحة فى وبها مجموعة من االوامر البرنامجلنافذة Bar Menu یمثل القائمة الرئیسیة الصف السفلى : الشكل التالى
وبتحریك المؤشر نحو االمر المطلوب ثم الضغط على زر الماوس االیسر فإنه یخرج من هذا االمر قائمة فمثال . مسحوبة تسمى القائمة العمودیة وبها مجموعة من االوامر التى تسهل العمل داخل البرنامج
.من القائمة الرئیسیة یمكن التعرف على شرح وافى لمحتویات البرنامج Helpبالضغط على االمر
اوبه التالیةالقائمة العمودیة ظهر تالموجود فى القائمة الرئیسیة Fileایضا عند الضغط على االمر :مجموعة من االوامر الفرعیة
١٤
:تحتوى على االوامر الفرعیة التالیة Fileفمثال القائمة الخاصة باالمر
- New والذى یقوم بعمل ملف جدید داخل البرنامج . - Open والذى یقوم بفتح ملف سبق تخزینة فى البرنامج. - Close والذى یقوم باغالق ملف مفتوح. - Print جهاز الطباعة الىوالذى یقوم بارسال الملف.
تظهر اسماء اخر ملفات تم التعامل معها حیث یتم فتحها Fileمر وفى نهایة القائمة العمودیة الخاصة باالوعند التعامل مع بعض االوامر بالقوائم العمودیة تظهر صنادیق . بمجرد الضغط على اسم الملف المطلوب
یظهر الصندوق Openلى سبیل المثال عند الضغط على االمر عف ، Dialog Boxحواریة یطلق علیها :التالى
وذلك بالضغط على الدلیل الموجود فى الجانب والمراد التعامل معه ویمكن اختیار الملف المحفوظ من الصندوق االیمناالیسر من الصندوق والموجود به الملف حیث تظهر ملفات الدلیل فى الجانب
١٥
الى حیث اسم الدلیل وذلك بوضع الماوس علیه كما فى الشكل الت الملف المطلوب) اختیار(ویمكن تحدید D واسم الملف kkkkk:
وعند . البرنامجفى الصندوق الحوارى یتم فتح الملف فى نافذة االمروبالضغط على
. االمربدون فتح ملف یتم الضغط على البرنامجالرغبة فى العودة الى نافذة
وعند الرغبة فى انشاء ملف جدید سواء قبل العمل علیه او بعد العمل علیه یختار من القائمة الرئیسیة امر File ثم من القائمة الفرعیة االمرSave فیظهر الصندوق الحوارى التالى ویكتب اسم الملف فى خانة
١٦
File Name وهو هناss1 المحفوظ فى الدلیل D الصندوق فى االمروبالضغط على . البرنامجالحوارى یتم حفظ الملف والرجوع الى نافذة
البرنامج تشغیل) ٣-١(
١٧
فى الجزء االوسط من الشاشة یتم كتابة و ) او امر واحد (لتنفیذ عدد من االوامر البرنامج و فى نافذة Word Processing االوامر المطلوب تنفیذها بنفس الطریقة التى یكتب بها فى برنامج معالجة البیانات
فمثال بفرض اجراء عملیة بسیطة . من النافذة حیث یتم النقر الماوس وكتابة االمر االول فى اعلى الجزء :هو موضح الشكل التالى كما هذا االمریكتب 10*5مثل
كما هو موضح والمشار له بالسهم )والذى یعتبر عقل او مخ البرنامج ( Kernalاالمر وبالضغط على :فى الشكل التالى
١٨
: Evalutionاالمر یختار منهاحیث تظهر القائمة التالیة
: Evalute Notebookاالمر والتى یختار منها فتظهر القائمة التالیة
١٩
:على الشكل التالى البرنامج فتظهر نافذة
ویظهر فى الجانب االیسر من الشاشة على یسار االمر =:In[1]رقم االمر االول یمثل بالعالمة وفى السطر الثانى تظهر عالمة . nیمثل المدخل رقم =:In[n]وبصورة عامة Prompویسمى المحث وفى . =:Out [1] حیث یقوم البرنامج بطباعة الناتج بجانب عالمة المخرج =:Out [1]المخرج االول
مر یختار االوامر المطلوب احالة وجود اكثر من امر وعند الرغبة فى تنفیذ بعض االوامر ولیس كل االو ید حیث یتم تحد االومر تلك الجانب االیسر من وذلك بالضغط على االقواس الموجودة فى نهایة تنفیذها
:بالنسبة لالمر االول فى الشكل التالى اوتظلیل هذه االقواس كما نشاهد
٢٠
:تظهر القائمة التالیة Kernalوبالضغط على االمر
وبالضغط على هذا االمر تظهر لنا القائمة الفرعیة التالیة یختار Evaluateوالتى یختار منها االمر :كما فى الشكل التالى Evaluate Notebookبدال من االمر Evaluate Cell رمنها االم
٢١
:وبالضغط علیها نرجع الى القائمة الرئیسىة كما فى الشكل التالى
القوس شكل ختلف عن یفى نهایة الجانب االیسر من امر االدخال ویالحظ ان شكل القوس الموجود .الموجود للمخرج
٢٢
من القائمة Inputالماوس تحته ثم یضغط على االمر بولتحویل مخرج الى مدخل للتعامل معه یضغط وفى البرنامج یمكن كتابة . Copy Input from Aboveثم الضغط على االمر البرنامجالرئیسیة من نافذة
عن االخرى اكثر من عملیة ریاضیة على سطر واحد بجملة ادخال واحدة بشرط ان یفصل كل عملیةوفى هذه الحالة فان ناتج التنفیذ یعطى ناتج اخر عملیة تم ادخالها فى السطر اما اذا ;بالفاصلة المنقوطة
انتهى سطر االدخال بالفاصلة المنقوطة فهذا یعنى رغبة المستخدم فى عدم ظهور الناتج وخصوصا اذا كان ه عند تراجعیسهل م ىالى اقل حجم ممكن حتحجمه كبیر ویفضل المستخدم فى تصغیر حجم البرنامج
. وجود اخطاء فیه
من لوحة Del وعند الرغبة فى مسح امر او حرف فانه یمكن الذهاب الیه وتظلیله بالماوس والضغط على المفاتیح
ى تم كتابته من قبل فانه یمكن الذهاب الیه وتظلیله بالماوس ثم الذهاب ال اخذ نسخة من امروعندما نرید لعمل نسخة منه وبعد ذلك نذهب بالموشر Copyالضغط على امر ثم فى القائمة الرئیسیة Editاالمر
الضغط على ثم فى القائمة الرئیسیة Edit امر على الى المكان المطلوب لصق النسخة فیه ثم الضغط .لعمل نسخة منه Pastامر
طلوب اجراءمومخرجاته ترقیم تصاعدى وعلى ذلك اذا كان الولما كان البرنامج یرقم لنا كل من مدخالته ة مج قبل العملیة الحالیة بعدد كبیر من العملیات وفى هذه الحالة توضع عالمعلى ناتج اخرجه البرناعملیة
واذا كان الناتج یسبق العملیة .المعطى فى البرنامج میلیها رقم ذلك الناتج حسب الترقی %النسبة المئویة واذا كان الناتج یسبق العملیة . %%لوب تنفیذها بعملیتین فاننا نشیىر الى الناتج بعالمتى نسبة مئویةالمط
%.المطلوب تنفیذها مباشرة فاننا نشیر الى الناتج بعالمة نسبة مئویة
مثال
عملیة على هذا راءواذا اردنا اج 30فان الناتج یكون 3*10بفرض اننا ادخلنا الى البرنامج عملیة مثل 9-30فاننا نشیر الى هذا الناتج بعالمة النسبة المئویة وبالتالى بدال من كتابة منه 9 طرحالناتج مثل
5مثل اضافة 30واذا اردنا اجراء عملیة اخرى على نفس الناتج االول .21 فیخرج لنا الناتج 9-%نكتب وبذلك یسبق هذه العملیة بعملیتین 30الن الناتج %%بعالمتى نسبة مئویة 30له فاننا نشیر الى الناتج
:اوامر االدخال موضحة كما یلى . 35فیخرج لنا الناتج 5+%% االمر كالتالى نكتب
٢٣
صورة قیاسیة او فى Inpur Formصورة ادخال المعادالت او الدوال الریاضیة فى ادخال ویمكن StandardForm ، فعلى سبیل المثال كل من وPi حیث 3.14159الریاضى مثلون الثابتیPi
.صیغة القیاسیةالتمثل تمثل صیغة االدخال و
من نافذة الموجود فى القائمة الرئیسیة Fileوذلك بالضغط على االمر ویمكن الحصول على الرمز :Paletteاالمر التالیة Fileقائمة ثم نختار من البرنامج
٢٤
:BasicInputضغط على االمر بالالفرعیة التالیة و ئمةفتظهر القا
والتى تمد المستخدم والتى تظل موضوعة على نافذة البرنامج طول التشغیل على القائمة التالیة یتم الحصول .موضح بالسهم والرمزبكثیر من الرموز المفیدة والعملیات الحسابیة مثل القسمة وایجاد الجذر
وفیما ،فى المكان المحدد سابقا نافذة البرنامجنحصل علیه فى فوبالضغط على اى رمز من القائمة السابقة :تنفیذها فى البرنامج مثلة على ذلك تمایلى
N[Pi] 3.14159
. حیث N[Pi] تعنى تقریب للثابت
٢٥
N[ ] 3.14159
N[حیث .ثابت للتعنى تقریب [
باستخدام ففى الطریقة االولى یكتب بالصیغة القیایسیة طرق یمكن ان یتم بثالث تربیع الرقم عشرة ان :وذلك لكتابة التالى من القائمة الفرعیة السابقة الرمز
100
:بصیغة االدخال كما یلى فتتم الطریقة الثانیة 10*10 100
: غة االدخال یبشكل اخر لص تتم الطریقة الثالثة 10^2 100
ففى الطریقة االولى یكتب بالصیغة القیایسیة كما ان قسمة ثالثة على خمسة یمكن ان تتم بطریقتین :وذلك لكتابة التالى من القائمة الفرعیة السابقة الرمز باستخدام
:او باستخدام صیغة االدخال
3/5
: كما یلى علیه بصیغة االدخال جذر عشرة یمكن الحصول
Sqrt[10]
وذلك لكتابة التالى من القائمة االسابقة الرمزباستخدام علیه بالصیغة القیاسیة الحصول او یمكن
102
353
5
3
5
10
1010
٢٦
الرمزباستخدام من صفر الى واحد یمكن الحصول علیه بالصیغة القیاسیة y للدالة التكامل
:وذلك لكتابة التالى القائمة الفرعیة السابقةمن
:وبصیغة االدخال
Integrate[y,{y,0,1}]
.وسوف یتعود المستخدم على هذه االشكال واشیاء اخرى فى القائمة السابقة من كثرة استخدامهاهذا
الحصول على معلومات من البرنامج ) ٤-١(
المختلفة فى البرنامج فى كثیر من االحیان نحتاج الى التعرف على المعلومات الخاصة باالوامر او الدوال ذلك عن طریق امر یتم او الدوال المختلفة كل من هذه االوامركتابة تعرف على الصیغة العامة وكیفیة للو
:الصیغة العامة لهذا االمر هى .معین
Object? حیثObject تمثل اسم االمر او الدالة المطلوب االستعالم عنها وبمجرد تنفیذ االمر كما سبقالول من الحرف اویراعى ان یكون او الدالة توضیحة تظهر الصیغة العامة وجمیع المعلومات عن االمر
ر تبدا ن كل كلمة فى االمإواذا كان االمر یحتوى على كلمتین او اكثر ف Capitalاالمر او الدالة كبیر تنفیذ االمر ویتم ?Cosاالمر یكتب Cosineفمثال للحصول على معلومات عن الدالة .بحرف كبیر
:فیظهر التالى
?Cos
:االمر فیظهر التالى ویتم تنفیذ ?Logیكتب االمر Logولمعرفة الصیغة العامة للدالة
?Log
0
1yy
1
2
1
2
Cosz gives the cosine of z.More…
Logz gives the natural logarithm
of z logarithm to base e. Logb, zgives the logarithm to base b.More…
٢٧
ةیحسب قیم Log[b,z]واالمر eلالساس zیحسب قیمة االوغاریتم الطبیعى للعدد Log[z]اى ان االمر .bواالساس zاالوغاریتم للعدد
: التالىعلى یتم الحصول ؟ وبعد تنفیذ االمر Plotولمعرفة الصیغة العامة المر الرسم یكتب االمر
?Plot
. xmaxالى x=xminمن النطاق f(x)یقوم برسم الدالة Plot[f,{x,min,max}]اى ان االمر
مثل التعرف على الخیارات التى یمكن اضافتها الى Plotوللتعرف على معلومات اضافیة عن امر الرسم :الرسم نتبع االتى
??Plot
نتبع االتى Plotللحصول على كل الدوال والتى تبدا بكلمة
Names["Plot"] {Plot}
:ثم نتبع ما یلى Names["Plot*"] {Plot,Plot3D,Plot3Matrix,PlotDivision,PlotJoined,PlotLabel,PlotPoints,PlotRange,Pl
otRegion,PlotStyle}
:نتبع التالى Solveایضا للحصول على معلومات اكثر عن االمر
??Solve
Plotf, x, xmin, xmax generates
a plot of f as a function of x from xmin
to xmax. Plotf1, f2, ... , x, xmin,
xmax plots several functions fi.More…
Plotf, x, xmin, xmax generates
a plot of f as a function of x from xmin
to xmax. Plotf1, f2, ... , x, xmin,
xmax plots several functions fi.More…
٢٨
نتبع االتى ParametricPlotایضا للحصول على معلومات عن االمر
?ParametricPlot
:فنحصل كل الخیارات المستخدمة فى هذا االمر كالتالى Option[ParametricPlot]او كتابة االمر
Options[ParametricPlot] Options[ParametricPlot]
Solveeqns, vars attempts to solve an equation or
set of equations for the variables vars. Solveeqns, vars, elims attempts to solve the equationsfor vars, eliminating the variables elims.More…
AttributesSolve Protected
OptionsSolve InverseFunctions Automatic, MakeRules False,
Method 3, Mode Generic, Sort True,VerifySolutions Automatic, WorkingPrecision
ParametricPlotfx, fy, t, tmin, tmax produces a
parametric plot with x and y coordinates fx and
fy generated as a function of t. ParametricPlotfx, fy, gx, gy, ... , t, tmin,
tmax plots several parametric curves.More…
٢٩
:مثال نتبع التالى Pوللتعرف على جمیع االوامر او الدوال والتى تبدا بحرف
?P*
AspectRatio 1
GoldenRatio, Axes Automatic,
AxesLabel None, AxesOrigin Automatic,
AxesStyle Automatic, Background Automatic,
ColorOutput Automatic, Compiled True,
DefaultColor Automatic, DefaultFont $DefaultFont,
DisplayFunction $DisplayFunction, Epilog ,FormatType $FormatType, Frame False,
FrameLabel None, FrameStyle Automatic,
FrameTicks Automatic, GridLines None,
ImageSize Automatic, MaxBend 10.,
PlotDivision 30., PlotLabel None, PlotPoints 25,
PlotRange Automatic, PlotRegion Automatic,
PlotStyle Automatic, Prolog , RotateLabel True,
TextStyle $TextStyle, Ticks Automatic
٣٠
S ystem `PaddedForm PolynomialFormPadLeft PolynomialGCDPadRight PolynomialLCMPageBreakAbove PolynomialModPageBreakBelow PolynomialQPageBreakWithin PolynomialQuotientPageFooterLines PolynomialReducePageFooters PolynomialRemainderPageHeaderLines PolynomialsPageHeaders PositionPageHeight PositivePageWidth PostfixPalettePath PostScriptPaperWidth PowerParagraphIndent PowerExpandParagraphSpacing PowerModParameterVariables PowerModListParametricPlot Precedence ParametricPlot3D PrecedenceFormParentConnect PrecisionParentDirectory PrecisionGoalParentForm PreDecrementParenthesize PreferencesPathPart PrefixPartition PreIncrementPartitionsP PrependPartitionsQ PrependToPasteBoxFormInlineCells PreserveStyleSheetPath PreviousPattern PrimaryPlaceholderPatternTest PrimePause PrimePiPeriodicInterpolation PrimeQPermutations PrimesPi PrincipalValuePivoting PrintPlaceholder PrintActionPlain PrintFormPlay PrintingCopiesPlayRange PrintingOptionsPlot PrintingPageRange Plot3D PrintingStartingPageNumber Plot3Matrix PrintingStyleEnvironmentPlotDivision PrintPrecisionPlotJoined PrivateCellOptionsPlotLabel PrivateEvaluationOptionsPlotPoints PrivateFontOptionsPlotRange PrivateNotebookOptionsPlotRegion PrivatePathsPlotStyle ProductPlus ProductLogPochhammer PrologPoint PromptFormPointForm ProtectPointSize ProtectedPolyGamma PseudoInversePolygon PutPolygonIntersections PutAppendPolyLog
٣١
فى حالة نسیان تلك ( Pكتب بعد الحرف تلیحل مكان اى عدد من الحروف *وقد استخدمنا الرمز .Pحیث یظهر بیان بجمیع االوامر والدوال الموجودة فى البرنامج والتى تبدا بحرف ) الحروف او بعضها
االخطاء) ٥-١(
یقع المستخدم فى بعض اخطاء عند كتابة احد االوامر او كتابة دالة ما او فى عدد االحیان فى بعض وفى هذه الحالة یرسل البرنامج رسالة الحتماالت الخطا فى كتابة االمر او فى شكل االقواس االقواس
:هنا تبسیط لنوع من االشیاء التى عادة ما تحدث، والحلول الممكنة
Sine[1.5]
Sine[1.5]
وقد اعطى البرنامج اسماء دوال كثیرة من المحتمل ان طا فى كتابة الدالة خیتضح من الرسالة السابقة ان الوبالخبرة یمكن االستفادة من هذه الرسائل .ة منهم ثم اعاد كتابة المدخل لعدم فهمهدواح متكون دالة المستخد
.فى تصحیح االخطاء
البرنامج تشغیل الحزم الجاهزة الموجودة فى) ٦-١(
انه باالضافة الى الدوال الكثیرة الموجودة فیه والتى Mathematicaمن الممیزات الهامة فى برنامج نه یمكن للمستخدم تعریف الدوال الخاصة به وذلك الن البرنامج إتشتمل العدید من فروع الریاضیات ف
–لموضوعات متخصصة فى الجبر Packages) برامج جاهزة (توجد حزم ، ایضا یستخدم كلغة برمجة تحویالت فوریر -تحویالت البالس - البرمجة الخطیة –الجبر الخطى -االحصاء –التفاضل والتكامل وكل حزمة تحتوى على برامج جاهزة . )مثل الجغرافیا(وغیرها الهندسة –التحلیل العددى –تحلیل المتجهات
:التالى اء الحزمة عن طریق كتابة االمرویتم استدع .لفرع دقیق فى المجاالت السابقة
<< directo'packagename'
.المطلوب استدعائها packagenameیمثل مكان الحزمة المسماه directorحیث
یمكن تحمیل الحزمة .فعلى سبیل المثال بفرض اننا نحتاج الى معلومات عن بعض العناصر الكیمائیة 'Miscellaneous'ChemicalElements>>الخاصة بذلك بكتابة االمر
General ::spell :
Possible spelling error : new symbol name "Sine " issimilar to existing symbols Line , Sin, Sinh . More…
٣٢
على سبیل المثال تحتوى الحزمة على ف .وبمجرد تحمیل هذه الحزمة فان كل الدوال المعرفة تكون متوفرة . الخ...التى تعطینا اختصارات للعناصر الكیمائیة مثل الوزن الذرى وحرارة االبخرةالدوال
<<Miscellaneous`ChemicalElements` Wolfram Tungsten Abbreviation[Wolfram] W AtomicWeight[W] 183.84 HeatOfVaporization[W]
ElectronConfiguration[W] {{2},{2,6},{2,6,10},{2,6,10,14},{2,6,4},{2}}
یمكن استخدامه فى الحصول على الدائرة البیانیة كما یتضح 'Graphics'Graphics>>فمثال بكتابة االمر .ودون الدخول فى تفاصیل البرنامج ولكن لبیان اهمیة تلك الحزم الجاهزة بعدة اشكال یما یلىف
<<Graphics`Graphics` revenue={3000,2500,4600,1200,3300,1100,800,900}; PieChart[revenue]
Graphics spending={3000,2500,4600,1200,3300,1100,800,900};
824.2JouleKilo
Mole
1
2
3
4
5
6
7
8
٣٣
PieChart[spending,PieLabels->{"arts","law","economics","engineering","computer","Mpharmacy","medicine","agriculture"},PieExploded->{{9,0.1}}]
Graphics grays=Table[GrayLevel[i],{i,0.4,1,0.6/8}]; PieChart[spending,PieLabels->{"arts","law","economics","engineering","computer","Mpharmacy","medicine","agriculture"},PieExploded->{{1,0.1},{2,0.3},{3,0.1}},PieStyle->grays]
arts
law
economics
engineering
computer
Mpharmacy
medicine
agriculture
arts
law
economics
engineering
computer
Mpharmacy
medicine
agriculture
٣٤
Graphics
:لرسم اعمدة لمجموعة البیانات التى فى القائمة التالیة
{218.3,265,373.3} :التالى نستدعى الحزمة من االمر
<<Graphics`Graphics` .وبعد تحمیل الحزمة نكتب االوامر االزمة للتنفیذ كما یلى فنحصل على الرسم
<<Graphics`Graphics` aa1={218.3,265,373.3} {218.3,265,373.3} BarChart[aa1]
Graphics
:البرنامج بدون كتابة امر استدعاء الحزمة نحصل على التالى ةعند كتاب
aa1={218.3,265,373.3} {218.3,265,373.3} BarChart[aa1] BarChart[{218.3,265,373.3}]
.بدون تنفیذاى ان البرنامج یعید كتابة المدخل
.تنفیذ كتابة االمر بدوند ییع فان البرنامج وجود خطا فى كتابة االمرفى حالة وبصورة عامة
1 2 3
50
100
150
200
250
300
350
٣٥
البرنامج نافذة من Helpاستخدام االمر ) ٧- ١(
فتظهر القائمة امر ماالتعرف على معلومات عن البرنامجمن نافذة Helpط على امر غیمكن بالض :الرئیسیة التالیة
:نحصل على النافذة التالیة Help Browserوالضغط على االمر
٣٦
فى الخانة Plot عند كتابة مثل الرسم مثال و وللحصول على معلومات عن اى موضوع عن البرنامج
: یةالتالالنافذة نحصل على االمرالموضحة بالسهم ثم الضغط على
والمشار علیه بالسهم فى منالذى فى الجانب االی رحیث نحصل على معلومات عن الرسم وبتحریك المؤش :النافذة التالیة كما فى نحصل على امثلة ةالسابق النافذة
٣٧
كما نحصل على عدة امثلة ف Further Examples وبالضغط على العالمة المشار الیها بالسهم بجوار . البرنامجویمكن اخذ نسخ منها الى نافذة یةالتال النافذةفى
٣٨
نحصل للحصول على معلومات عن الحزم الجاهزة الخاصة باالحصاء )على سبیل المثال( ایضا ثم الضغط على التالیةضغط على العنوان المشار الیه بالسهم فى النافذة بعد الو ى النافذة التالیةلع
Standard Pachages فى الخانة االولى من القائمة وعلىStatistics فى الخانة الثانیة من القائمة:
نحصل على معلومات عن فترات الثقة مع امثلة الخانة الثالثةفى وبالضغط على العنوان المشار له بالسهم ): هذا على سبیل المثال حیث یمكن تحدید اختیارات اخرى(
٣٩
وبعد تحدید الخیارات الظاهرة االسود المشار له بالسهم Mathematica Bookوبالضغط على العنوان :التالیة النافذةامثلة عن العملیات الحسابیة كما فى نحصل على فى الشكل التالى االزرقباللون
. Help Browserنافذة خدم التدرب اكثر على كیفیة االستفادة من المعلومات فىتویمكن للمس
٤٠
الفصل الثانى
العملیات الریاضیة على كل من الدوالاالعداد والتعبیرات و
٤١
.العملیات االساسیة على كل من االعداد والتعبیرات والدوال قدم هذا الفصل ی
Numerical Calculationsالحسابات العددیة ) ١- ٢(
برنــامج مــع الطبیعــى تعــرض بــنفس الطریــق )الجمــع والطــرح والضــرب والقســمة(العملیــات الحســابیة البســیطة .الماثیماتیكا
تـدخل "times b " aو a-bتـدخل " a minus b" و a+b تـدخل " " a plus b فعلـى سـبیل المثـال a*b او علـى الصـورةa b ) حیـث توجـد مسـافة بـینa,b (و a divided b " " تـدخلa/b . العملیـات فـى
:الحسابیة یتعامل البرنامج مع اربعة انواع من االعداد وهى
Integersاالعداد الصحیحة - Rationalاالعداد النسبیة - Realاالعداد الحقیقیة - Complexاالعداد المركبة -
) الجمع والطرح و الضرب والقسمة(العملیات الحسابیة االساسیة فى الجزء التالى سوف نتناول كیف تتم :كما یلى Calculatorحیث یستخدم البرنامج كاداه الجراء العملیات الحسابیة تماما مثل االلة الحاسبة
ل مثا
. 568/8) د( 76*23-) ج( 45-456 )ب( 23+342)ا(احسب
:الحل
. Kernalثم تم تنفیذها بالضغط على امر البرنامجنافذة كتبت باالسلوب التالى فى العملیات السابقة
) ا (
342+23 365
) ب ( 456-45 411
)ج( -23*76
٤٢
-1748
* یمكن وضع مسافة الجراء عملیة الضرب بدال من الرمز -23 76 -1748
وذلك الن البیانات ویالحظ ان الناتج فى صورة عدد نسبى )صیغة االدخال( یعنى القسمة /الرمز ) د ( علىیمكن الحصول علیه بالضغط والتى القیاسیة وضع المدخل فى الصورةاعداد صحیحة ویمكن المستخدمة
من القائمة Palettesنحصل علیها بالضغط على تحت وهذة االیقونة 8فوق و 568ثم نضع الرمزفى نافذة تظهر فنحصل على قائمة من القائمة الفرعیة BasicInputالضغط على الرئیسیة لنافذة البرنامج ثم
. البرنامج من ضمنها هذه االیقونة كما سبق ان ذكرنا
568/8 71
71
:فى بعض االحیان یكون الناتج على هیئة كسر كما یلى .هنا الناتج رقم صحیح
:ولتجنب ذلك یكتب البسط مثال فى صورة عشریة كما یلى
:وبالتالى نحصل على النتیجة فى صورة عشریة
0.0452261
ل مثا
3.6احسب 8.96
5688
367969
199
36.796
٤٣
:الحل
: Kernalثم تم تنفیذها بالضغط على امر البرنامجالعملیات السابقة كتبت باالسلوب التالى فى نافذة
.نجد ان الناتج فى الصورة العشریة الن االعداد المستخدمة فى صورة عشریة
0.452261
a raised to bth power " ba "والعملیة الحسابیة . a^bتكتب فى البرنامج
ل مثا
. 504احسب
:الحل
. 504 بینما عند اجراء العملیات الحسابیة على االلة الحاسبة ھذا البرنامج فغالبا ما نحصل على نتائج مضبوطة، مع سوف نحصل على قیمة مضبوطة للعد د .النتائج تكون الى دقة معینة فمثال عشرة ارقام عشریةفان
1267650600228229401496703205376
:التالىللحصول على الشكل الرمزوقد تم استخدام
:والحصول على نفس النتیجة كما یلى صیغة االدخال هذا ویمكن استخدام
4^50 1267650600228229401496703205376
ل مثا
3.67.96
450
450
٤٤
.سواء بصیغة االدخال او بالصیغة القیاسیة 1215احسب
:الحل
: سوف ندخل االمر فى صیغة االدخال وفى الصیغة القیاسیة كالتالى والنتیجة واحدة 5^121 3761581922631320025499956919111186169019729781670680068828005460090935230255126953125
3761581922631320025499956919111186169019729781670680068828005460090935230255126953125
فان ایضا 1
2a a تحسب بادخال اماa ^ (1/ ایضا .Sqr[a]او (21
3 3a a حسب بادخال ت
a ^ و (1/3)n
n nm mma a ( a ) تحسب بادخال a^(n/m) ) تذكر ان ادخالa^n/m حسب تna / m.
كما Nوذلك باستخدام االمر للعملیات الحسابیة السابقة وفى البرنامج یمكن الحصول على عدد تقریبى :یمكن الحصول على النتائج مقربة الى اى درجة مطلوبة كاالتى
الصیغة العامة لالمر العمل الذى یقوم به االمر
للحصول على قیمة عددیة تقریبیة expessionللتعبیر
N[expession] اوexpession//N
expession للحصول على قیمة عددیة للتعبیر من االرقام العشریة nمقرب الى
N[expession,n]
x Rationalize[x] تقریبى للعدد Rationalللحصول على عدد نسبي
ل مثا
رقم عشرى 11مقرب الى 504العدداحسب )ب( 504قیمة تقریبیة للعدداحسب ) أ(
:الحل
5121
٤٥
:كالتالى 504للعددعلى قیمة عددیة تقریبیة نحصل ) ا(
Scientific notation ادى الى الحصول على النتیجة فى صیغة 504 على التعبیر N استخدام
:كالتالى ویمكن الحصول علیها بطریقة اخرى
:كالتالى من االرقام العشریة 11مقربا الى 504كما یمكن الحصول على ) ب(
ل مثا
للعدد مضبوطة وقیمة تقریبیة قیمةاحسب 1
95
:الحل
للعددتقریبیة مضبوطة وقیمة نحصل على قیمة عددیة1
:كالتالى 955^(1/9)
1.19581
.
.1
95 كما ھى على الصیغة المضبوطة ولكن على الشكل ^(1/ 9)5 نالحظ ان البرنامج اعاد
القیمة تقریبیة للعدد1
:تكون كالتالى Nباستخدام 95
1.19581
1.19581
N4501.267651030
450 N1.267651030
N250, 111.12589990681015
519
N519
N519
N59
٤٦
ل مثا
533احسب
:الحل
الناتج نفسه القیمة المضبوطة للمدخل ولكن على شكل .533لحساب Sqrسوف نستخدم االمر . صیغة قیاسیة
Sqrt[533]
533 تقریبیة لـبعد االمر نحصل على قیمة //N عند ادخال
Sqrt[533]//N 23.0868
ل مثا
احسب 1
5 54 ( 4)
:الحل
لحساب Sqrسوف نستخدم االمر 1
5 54 ( 4) . الناتج نفسه القیمة المضبوطة للمدخل ولكن على . شكل صیغة قیاسیة
15 54 ( 4) N// بعد االمر نحصل على قیمة تقریبیة لـ عند ادخال
1.0675 +0.775587
نالحظ عند ادخال
. i 1 وھذا الرمز یمثل العدد التخیلى i بعد االمر فان التعبیر الناتج یحتوى على //N
533
415115 225
415 N
٤٧
:فنحصل على التالى وتنفیذها الى نافذة البرنامج ? Nبادخال Nاالساسیات عن المعلومات معرفةیتم
?N
.Nاى معلومات عن االمر
فى القائمة الرئیسیة لنافذة Helpالضغط على ب Nكما یتم الحصول على المعلومات االساسیات عن النافذةفى كما N فى الخانة الموضحة بالسهم نكتب و Help Browserالبرنامج ثم الضغط على
: للحصول على معلومات وامثلة االمر على ونضغط یةالتال
ل مثا
قیمة تقریبیة للعدداحسب 1
86 .
:الحل
Nexpr gives the numerical value
of expr. Nexpr, n attempts to givea result with ndigit precision.More…
٤٨
6البرنامج سوف یحول ^ Simplified Form الى صورتها المبسطة (1/8)1
ان ویالحظ هنا .86
وقد تم تقریب .وضع االقواس مهم 1
وذلك باستخدام صیغتین كما هو موضح فى االمر الثانى 86 .والثالث
6^(1/8)
1.25103
1.25103
على ان توضع كالتالى )او بعض الكلمات التى ال تدخل فى الحساب (comment تعلیقوفى النھایة یمكن كتابة (*comment*). على سبیل المثال(*Example*).
Mathematical Constantsالثوابت الریاضیة ) ٢-٢(
3.14159فعلــى ســبیل المثــال الثابــت. یقــوم البرنــامج بتعریــف كثیــر مــن الثوابــت والــذى یعــرف فــىــــامج بواســــطة eایضــــا . او Piالبرن 2.71828 ــــالحرف iو E تمثــــل ب 1 بــــالحرفتمثــــل I .
اى Euler's constantو Infinity مــــاال نهایــــة والتــــى تمثــــل وهنـــاك ثوابــــت اخــــرى مثــــل
0.577216 ـبــــــــــــــــــــــــــــــــــــــ یمثــــــــــــــــــــــــــــــــــــــل EulerGamma و Degree=180 و.GoldenRatio=
1 5 10618032
. وهنــاك ثوابــت اخــرى یمكــن للمهــتم بهــا اســتخدامHelp للحصــول علــى معلومــات
االمــــر . a//Nاو المكـــافئ لـــه N[a]هــــو aاالمـــر المســــتخدم للحصـــول علـــى قیمــــه تقریبیـــة للثابـــت . عنهـــا علـى سـبیل المثـال . N[a,n]من االرقـام العشـریة هـو n ـوذلك ل aللعددالمستخدم للحصول على قیمة تقریبیة
:عند ادخال
N[E,30] 2.71828182845904523536028747135
. رقم عشرى نحصل على e مقربة الى 30 .a للحصول على اقرب رقم صحیح لـ Round[a] االمر یستخدم
: e ـلاالمر التالى یؤدى للحصول على اقرب رقم صحیح
Round[E] 3
e ـ االمرین التالیین یؤدیان الى نفس القیمة التقریبیة ل
618
N618
N68
٤٩
E//N 2.71828 N[E] 2.71828
:ادخل N[,30] 3.14159265358979323846264338328
الى 30 . رقم عشرى یحسب
N[Pi,30] نفس النتیجة نحصل علیها بادخال
N[Pi,30] 3.14159265358979323846264338328
:بادخال
4
16 i 16 4i تحسب
.iاو بالصورة القیاسیة Iفى االدخال تكتب بصورة االدخال 1 وللعلم
Variablesالمتغیرات) ٣-٢(
عند كتابة برنامج بلغة الماثیماتیكا یكون من الضرورى اعطاء اسماء للقیم العددیة او الكمیات الحسابیة وتسمى المتغیرات وهى تمثل عنوان المخزن الموضوع فیه القیمة او الكمیة الحسابیة والبرنامج یحتفظ بهذا
.بحذفه او تغییره االسم للقیمة العدد یة او الكمیة الحسابیة حتى یقوم المستخدم
:على سبیل المثال
rent=23 23 food=156 156 heat=56 56
16
٥٠
rent+food+heat 235
:وعند اختیار اسماء المتغیرات یجب مراعاة ما یاتى
ال یوجد قیود على عدد الحروف او االرقام المستخدمة فى اسم المتغیر ویجب عدم استخدام العالمات ) أ( .فى اسم المتغیر ) /, *, ^ , +( الخاصة مثل
یمكن استخدام الحروف الكبیرة والصغیرة فى اسماء المتغیرات ولكن ال یبدا اسم المتغیر بحرف كبیر ) ب(حتى ال یحدث تداخل بین اسماء المتغیرات التى نقوم بتعریفها واسماء المتغیرات او الدوال المعرفة من
.قبل البرنامج .تمثل اسم متغیر a2بینما aفى 8تمثل حاصل ضرب 8aثال اسم المتغیر ال یبدا بعدد، فم ) ت( .عدم وضع مسافة بین متغیرین فهذا یعنى اجراء عملیة الضرب ) ث( بین بعض المتغیرات حتى() یجب االهتمام بوضع االقواس على الشكل ) ج(
:ال یحدث اخطاء فى الحساب فمثال
aa^(2y)
(aa^2)y
aa^2y
فى االمر 2yكما ان . نالحظ ان االمر االول یختلف عن االمر الثانى نتیجة اختالف وضع االقواس او المسافة بین عدد ومتغیر *اى یمكن االستغناء عن عالمة الضرب yفى 2االول تعنى حاصل ضرب
.یحسب اوال االس ایضا االمر الثانى هو نفسة االمر الثالث الن البرنامج . بشرط ان یكن العدد اوال
وفى البرنامج عند الحساب یحسب اوال الذى بین االقواس ثم االس ثم القسمة او الضرب حسب االولویة ثم .الجمع والطرح حسب االولویة
ویفضل اختیار اسم a=10فنكتب 10فعلى سبیل المثال اذا كان المطلوب تعریف البرنامج ان حجم عینة او n=10لحجم العینة ونكتب nیعطى لها هذا االسم فممكن اختیار االسم له عالقة بالقیمة التى سوف
وعلى ذلك . تعنى عدم رغبة المستخدم فى ظهور ناتج التنفیذ ;حیث الفاصلة المنقوطة ;n=10یكتب یمكن كتابة اكثر من امر فى نفس السطر وبین كل امر الفاصلة المنقوطة وفى هذه الحالة فان ناتج التنفیذ
فى االمر االول التالى اما فى االمر الثانى التالى طى ناتج اخر عملیة تم ادخالها فى السطر وهذا یتضح یع :فلم تظهر اى نتیجة لوجود الفاصلة المنقوطة بین كل امر وایضا فى نهایة االمر االخیر
cc1=2;ww3=3;eew1=cc1^ww3
aa2y
aa2y
aa2y
٥١
8 zz1=cc1+ww3;dd3=cc1-eew1;
فى البرنامجالمعرفة الدوال ) ٤-٢(
فى العدید من الدوال المعرفة دالة معرفة الى جانب 1000برنامج الماثیماتیكا اكثر من یوجد فى :وهذه الدوال لها اسماء وفقا للقواعد التالیة الحزم الجاهزة
.الدالة االختصار الریاضى السم یتكون اسم الدالة من الكلمات االنجلیزیة الكاملة السم الدالة او -
.الحرف االول من كل كلمة فى اسم الدالة یكتب كبیر وباقى الحروف تكتب صغیرة -
او True صوابابة جؤال منطقى وتكون االفهذا یعنى ان الدالة تمثل س Qاذا انتهى اسم الدالة بالحرف - .Falseخطا
The المثلثیة والدوال Abs[x]ودالة القیمة المطلقة Exp[x]هذه الدوال الدالة االسیة امثلة من Trigonometric Functions مثلSin[x] وCos[x] و Tan[x] والدوال المثلثیة العكسیة مثل
ArcSin[x] وArcCos[x] . تذكر ان كل دالة من تلك الدوال تبدا بحرف كبیر ومحتوى الدالةArguments ادخل الدالة االسیة . یكون بین قوسین مربعینExp[x] حصل على نفس النتائج كما لو ت
تحصل Logn [n,x]ادخل . xتحصل على اللوغاریتم لالساس الطبیعى لـ Log[x]ادخل . E^xادخلنا 1للحصول على اكبر عدد من االعداد .nعلى اللوغاریتم لالساس 2x ,x نستخدم االمر ...,
Max[ 1 2x ,x ,... 1وللحصول على اصغر عدد من االعداد [ 2x ,x نستخدم االمر ...,
Min[ 1 2x ,x ,... 1,4,5,6فعلى سبیل المثال لحساب العدداالكبر والعدد االصغر من قائمة االعداد .[ :نتبع االتى
Max[1,4,5,6] 6
Min[1,4,5,6] 1
n! ھى n لحساب دالة مضروبالصیغة العامة
: !20 لحساب مضروب
20!
٥٢
2432902008176640000
n
m
n!m!(n m)!
الصیغة العامة لحساب معامل ذى الحدین
Binomial[m,n] :وھى
:10
2
10!2!(10 2)!
لحساب القیمة
Binomial[10,2] 45
ل مثا
)ا(اوجد
n 1
2
)ب(
101
2
:الحل
)ا( Binomial[n+1,2]
)ب( Binomial[101,2] 5050
m(m modulo n)الصیغة العامة لحساب باقى خارج قسمة n
Mod[m,n]هى
:3على 21حساب باقى ل
Mod[21,3] 0
:5على 28حساب باقى ول
Mod[28,5] 3
mالصیغة العامة لحساب الجزء الصحیح من خارج القسمة n
Quotient[m,n]هو
:4على 19حساب الجزء الصحیح من خارج قسمة ل
1
2n1n
٥٣
Quotient[19,4] 4
1الصیغة العامة لحساب القاسم المشترك االعلى لالعداد 2n ,n 1هو ..., 2GCD[n ,n ,...]
:,12,16,24لالعداد االعلىحساب القاسم المشترك ل
GCD[12,16,24] 4
1الصیغة العامة لحساب المضاعف المشترك االدنى لالعداد 2n ,n 1هى ..., 2LCM[n ,n ,...]
: 12,16,24حساب المضاعف المشترك االدنى لالعداد ل
LCM[12,16,24] 48
Divisors[n]هى nالصیغة العامة لعمل قائمة باالعداد الصحیحة التى تقسم العدد
:32 عمل قائمة تحتوى على قواسم العدد ل
Divisors[32] {1,2,4,8,16,32}
Prime[k]هى kالصیغة العامة الیجاد العدد االولى رقم
: 4حصول على العدد االولى رقم لل
Prime[4] 7
االعداد العشوائیة
:للحصول على رقم عشوائى محصور بین صفر وواحد
Random[] 0.923609
type ) النوع range وفى المدى type من النوع الصیغة العامة للحصول على عدد عشوائى range ( والمدى Complex او مركب Integer او صحیح Real قد یكون حقیقى
٥٤
:ھو ) {min,max} یكون بالصورة
Random[type,{min,max}]
للحصول على عدد حقیقى عشوائى محصور بین 0 ,5 :
Random[Real,{0,5}] 4.67659
للحصول على عدد صحیح عشوائى محصور بین 15,20:
Random[Integer,{15,20}] 18
: وبدقة ثمانیة ارقام عشریة على عدد حقیقى عشوائى محصور بینللحصول 15,20 Random[Real,{15,20},8] 16.013759
تعطى قیمة مختلفة فى كل مرة یتم استدعائها ولضمان ذلك نستخدم Randomویجب ان نعلم ان دالة اى قیمة یختارها المستخدم فعلى سبیل المثال لتولید ثالث ارقام mحیث SeedRandom[m]االمر
:من صفر الى واحد نتبع التالى قیمتهم تنحصر
{Random[],Random[],Random[]} {0.764286,0.650675,0.0243112}
:عند اعادة االدخال تختلف النتیجة {Random[],Random[],Random[]} {0.373755,0.39334,0.941159}
:اختالف النتیجة یستخدم االمر ل مع عدم اعادة االدخا الرغبة فى عندو
SeedRandom[m]
:كما هو موضح فى التالى اى رقم عشوائى یختاره المستخدم مثل الیوم الحالى او الساعة الحالیة m حیث
SeedRandom[128] {Random[],Random[],Random[]} {0.355565,0.486779,0.00573919} SeedRandom[128] {Random[],Random[],Random[]} {0.355565,0.486779,0.00573919}
٥٥
على سبیل المثال .تقاس جودة االعداد العشوائیة المولدة بان االرقام تتوزع على عدد كبیر من المحاوالت .عدد عشوائى صحیح یقع بین صفر وتسعة 1000بفرض اننا نرغب فى تولید قائمة من
aa1=Table[Random [Integer,{0,9}],{1000}];
:وتم رسم التكرارات لكل عدد من االعداد من صفر الى تسعة كالتالى
<<Graphics`Graphics` <<Statistics`DataManipulation` BarChart[Frequencies[aa1]]
Graphics
مع العلم اننا ال . من المرات 1/100یالحظ ان كل عدد من االعداد من صفر الى تسعة یظهر حوالى فى الحقیقة للتوزیع المنتظم لالعداد . من المرات 1/100نرید ان یكون عدد مرات ظهور العدد بالضبط
امكانیة وقوعها مثل اى متتابعة اخرى تسعة من صفر الى تسعة فان المتتابعة من االعداد من صفر الى د امن كل عدد من االعد 100على والتى تحتوى بالضبط 1000فالمتتابعة من . االعداد من 1000من
على سبیل المثال 7رقم كلهم یمثلون العدد 1000من صفر الى تسعة لها امكانیة وقوع مثل المتتابعة من .
Predicates Functions دوال التنبا
تستخدم الدالة . فى بعض االحیان نحتاج الى اتخاذ قرار بشان بیاناتنا وهل تحقق خصائص معینة ام ال
على سبیل المثال . بناء على اختبار تقوم به) خطا( False او ) صواب ( True الخراج كلمة Predicate
0 1 2 3 4 5 6 7 8 9
20
40
60
80
100
٥٦
: PrimeQ[k] الدالة False وخالف ذلك یكون خطا True تختبر اذا كان العدد عدد اولى فان الناتج یكون صواب
: كما نرى False عدد اولى ام ال والنتیجة 145 تختبر هل PrimeQ[145] الدالةفعلى سبیل المثال
PrimeQ[145] False
: الدالة
:عدد اولى ام ال تختبر هل ناتج العملیة 3-1^2 PrimeQ[2^3-1] PrimeQ[2^3-1] True
: العدد المعطى فردى او زوجى او صحیح الدوال التالیة تختبر هل OddQ[21] True EvenQ[21] False IntegerQ[5/9] False
عدد اولى 90اختبار ما اذا كان العدد
PrimeQ[90] False
دوال القیمة المطلقة واالسیة واللوغاتمیة
Logarithmic FunctionsThe Absolute Value,Exponential,and
للحصول على . تظهر فى االمثلة االتیة Abs[x] , Exp[x] , Log[x]الدوال تخصالحسابات التى وغیر ذلك القیمة Exp[x]//Nاو االمر N[Exp[x]]یفضل استخدام االمر Exp[x] تقریب عددي لـ
.مثل التقریب العددى المضبوطة یمكن الحصول علیها والتى فى حاالت كثیرة لیست ضروریة
ل مثا
6قرب 6e 1/ e ومثلها بیانیا:
:الحل
:سوف ندخل
٥٧
Exp[-6]
ـوالتى تؤدى الى القیم المضبوطة ل
6 6e 1/ e بینما ادخال:
Exp[-6]//N 0.00247875
]N[Expنفس النتیجة نحصل علیها اذا ادخلنا .الى القیمة المقربة تؤدى 6]]:
N[Exp[-6]] 0.00247875
حیث ) دون الدخول فى التفاصیل االن ( Plotالدوال الحقیقیة لمتغیر واحد یمكن تمثیلها بیانیا باستخدام :االمر یكتب بصورة مبسطة كالتالى
Plot[f[x]],{x,a,b}]] سم الدالة ر والذى یf[x] فى الفترة[a,b] . لرسمxe [2,4]فى الفترة .
Plot[Exp[x],{x,2,4}]
Graphics
یمكــن اســتخدامها للحصــول علــى القیمــة المطلقــة لعــدد Abs[x]باالضــافة الــى االعــداد الحقیقیــة ، فــان الدالــة : بادخال على سبیل المثال . Abs[a+bi]=Sqrt[a^2+b^2]حیث a+biتخیلى
Abs[-10] 10
: وبادخال | 10 | 10 تحسب
Abs[120] 120
1
6
2.5 3 3.5 4
10
20
30
40
50
٥٨
. |120 | 120 تحسب
ل مثا
|ارسم x [5,5-]فى الفترة |
:الحل
فى محددان المحور االفقى یعنى PlotRange->{-1,5}الخیار . Abs[x]لرسم الدالة Plotسوف نستخدم :الى المحور االفقى الراسىیحدد النسبة بین طول المحور <-AspectRatioوالخیار {1,5-}الفترة
Plot[Abs[x],{x,-5,5},PlotRange{-1,5},AspectRatio.5]
Graphics
والتى عادة xحیث نحصل على االوغاریتم الطبیعى لـ Log[x]حسابها باستخدام الدالة االوغاریتمات یمكن elogاو lnxتمثل بالرمز x.
?Log
:ادخل
Log[E] 1
النتیجة واحد صحیح . ادخل
5
5 . ادخل النتیجة Exp[Log[]]
النتیجة
-4 -2 2 4-1
1
2
3
4
5
Logz gives the natural logarithm
of z logarithm to base e. Logb, zgives the logarithm to base b.More…
LogE5
٥٩
alnblog bln a
تحسب Log[a,b] . e دالة االوغاریتم تستخدم فى حساب لوغاریتمات باساسات غیر
:وعلى ذلك بادخال Log[3,9] 2
:وبادخال نحصل على 2 Log[2,10]
N تقریب لعشرة ارقام عشوائیة یمكن الحصول علیھ باستخدام .نحصل على امر االدخال نفسھ N[Log[2,10]] 3.32193
ل مثا
lnارسم x [0.002,8]فى الفترة
:الحل
ان یعنى PlotRange{{0,8},{-2,2}} الخیارو ln[x]لرسم الدالة Plotسوف نستخدم یعنى ان AspectRatio->1والخیار {2,2-}والمدى یحدد فى الفترة {0,8}المحور االفقى یحدد فى الفترة
.النسبة بین طول المحور الراسى الى المحور االفقى تساوى واحد
Plot[Log[x],{x,0.002,8},PlotRange{{0,8},{-2,2}},AspectRatio1]
Log10Log2
٦٠
Graphics
Trigonometric Functionsالدوال المثلثیة
امثلة على العملیات التى تجرى على الدوال المثلثیة یتناول هذا القسم Sin[x],Cos[x],Tan[x],Csc[x],Sec[x],Cot[x]
یقدم البرنامج القیم المضبوطة للدوال المثلثیة لبعض الزوایا بینما التقریبات .مقاسة بالتقدیر الدائرى xحیث .یة تستخدم لغیر ذلك دالعد
ل مثا
3احسب 9cos( ),sin( ), tan( ),cos( ),cos( ),sin( )4 3 4 12 5 8
:الحل
1 2 3 4 5 6 7 8
-2
-1.5
-1
-0.5
0.5
1
1.5
2
Cos 4
12Sin
3
٦١
-1
cos( )12
البرنامج لم یستطیع ایجاد قیمة مضبوطة لـ
:للحصول على قیمة تقریبیة N ولذلك یمكن استخدام
0.965926
cos( )5
قیمة مضبوطة لـالبرنامج لم یستطیع ایجاد ایضا
:للحصول على قیمة تقریبیة N ولذلك یمكن استخدام
0.809017
9cos( )8
البرنامج لم یستطیع ایجاد قیمة مضبوطة لـ ایضا
:للحصول على قیمة تقریبیة N ولذلك یمكن استخدام
0.382683
32
Tan34
Cos
12
1 322
NCos
12
Cos 5
1
415
NCos 5
Sin 98
Sin 98
NSin98
٦٢
2sinالتعبیر ویجب الحرص فى كتابة الدوال فمثال 6 ) والتى معناها حسابsin
6 اوال ثم تربیع
2اى ) الناتج 2sin (sin )6 6 .
:وعند الكتابة بصیغة االدخال تكتب
Sin[Pi/6]^2
Sin^2[Pi/6]
:ولیس
]2الى القوى Sinوالتى ترفع رمز ]6
.
sinعند الرغبة فى استخدام الصیغة القیاسیة مرة اخرى تاكد من تربیع 6
2sinللحصول على 6
:
ل مثا
sinارسم x,cscx, tan x,cot x
:الحل
فى الفترة cs cx و sin xاوال سوف نرسم . لرسم الدالة المطلوبة Plotفى كل حالة سوف نستخدم االمر
1
41
4
Sin2 6
Sin 62
1
4
٦٣
[ 2 ,2 ] .
Plot[Sin[x],{x,-2,2}]
Graphics Plot[Csc[x],{x,-2,2}]
Graphics
:كالتالى [a,b]معا فى الفترة f(x),g(x)لرسم دالتین Plotبصورة عامة سوف نستخدم الصیغة االتیة لالمر
Plot[{f[x],g[x]},{x,a,b}]
. فیما بعد في تفاصیل رسم الدوال سوف نعرضها
و الخیار PlotRange And AspectRatioمع الخیارات Plotخدم االمر تهنا سوف نس
} PlotStyle->{GrayLevel[0],Gray[.5] والتى تعنى انه عند رسم دالتین االولىsin x ترسم باللونتعنى ان مدى PlotRange->{-2Pi,2Pi}الخیار .ترسم باللون الرمادى الخفیف csc x االسود والثانیة
]المحور الراسى فى الفترة 2 ,2 ] . نسبة المحور االفقى الى المحور الراسى واحدة وذلك بسبب الخیار
AspectRatio 1 .
-6 -4 -2 2 4 6
-1
-0.5
0.5
1
-6 -4 -2 2 4 6
-15
-10
-5
5
10
15
٦٤
Plot[{Sin[x],Csc[x]},{x,-2,2},PlotRange{-2,2},PlotStyle{GrayLevel[0],GrayLevel[.5]},AspectRatio1]
Graphics
:كالتالى امع tan x cot xیمكن رسم
Plot[{Tan[x],Cot[x]},{x,-2,2},PlotRange{-2,2},PlotStyle{GrayLevel[0],GrayLevel[.5]},AspectRatio1]
-6 -4 -2 2 4 6
-6
-4
-2
2
4
6
٦٥
Graphics
Inverse Trigonometric Functionsالعكسیة الدوال المثلثیة
مــرة اخــرى الحـــرفین . االوامــر الخاصــة بالـــدوال المثلثیــة العكســیة تشـــبة مــا تــم اســـتخدامه فــى الــدوال المثلثیـــة :الدوال المثلثیة تكتب كالتالى .یة المثلثیة العكسالكبیرین فى كتابة الدوال
ArcCos[x], ArcSec[x], ArcTan [x], ArcCsc [x], ArcCot[x], ArcSin [x]
:على سبیل المثال ، فاذا كانت القیم معروفة جیدا فان البرنامج یخرجها
1 1cos ( )
2 3
اى ان ArcSin[-1]
-6 -4 -2 2 4 6
-6
-4
-2
2
4
6
ArcCos12
3
2
٦٦
1sin ( 1)2
اى ان
:وبادخال
1 1tan
2 6
تخرج
ال ثعلى سبیل الم N فى معظم االحوال للحصول على تقریب یكون من الضرورى استخدام :للحصول على قیمة تقریبیة //N یمكن استخدام
0.523599
1 1tan 2
تخرج تقریب لـ
:مثال اخر ArcTan[99]//N 1.5607
ل مثا
1cotارسم (x)
:الحل
. لرسم الدالة المطلوبة Plotسوف نستخدم االمر
Plot[ArcCot[x],{x,-1,1}]
Graphics
ArcSin12
6
ArcSin12 N
-1 -0.5 0.5 1
-1.5
-1
-0.5
0.5
1
1.5
٦٧
Hyperbolic Functions الدوال الزائدیة
اذا كانت القیم معروفة جیدا فان . االوامر الخاصة بالدوال الزائدیة تشبة ما تم استخدامه فى الدوال المثلثیة .البرنامج یخرجھا
فى معظم االحوال للحصول على تقریب یكون من الضرورى استخدام :للحصول على قیمة تقریبیة كما فى المثال التالى //N
Sinh[4] Sinh[4] Sinh[4]//N 27.2899
Inverse Hyperbolic Functionsالعكسیة الدوال الزائدیة
اذا كانــت القــیم . تشــبة مــا تــم اســتخدامه فــى الــدوال المثلثیــة العكســیة العكســیةاالوامــر الخاصــة بالــدوال الزائدیــة .معروفة جیدا فان البرنامج یخرجها
الضرورى استخدامفى معظم االحوال للحصول على تقریب یكون من :للحصول على قیمة تقریبیة كما فى المثال التالى //N
ArcCosh[6] ArcCosh[6] ArcCosh[6]//N 2.47789 ArcSinh[5]//N 2.31244
-0.549306
ل مثا
1sinhارسم (x)
:الحل
ArcTanh 12 N
٦٨
. لرسم الدالة المطلوبة Plotسوف نستخدم االمر
Plot[ArcSinh[x],{x,-3,3},PlotRange{-3,3}]
Graphics
Expressionsالتعبیرات ) ٥-٢(
اى تعبیـر . expressionكل كمیة تدخل البرنامج ، بصـرف النظـر عـن الكیفیـة التـى تظهـر بهـا تسـمى تعبیـر :یاخذ الشكل التالى
1 2 nhead[arg ,arg ,...,arg ]
1یسمى راس التعبیر و headحیث 2 narg ,arg ,...,arg تسمى المعامالت ومـن الممكـن ان یمثلـون تعبیـرات .اخرى
: FullFormویمكن ان تاخذ شكل التعبیر وذلك باستخدام االمر x+y+z ومن امثلة التعبیرات
FullForm[x+y+z] Plus[x,y,z]
: FullFormیمكن ان تاخذ شكل التعبیر وذلك باستخدام االمر x*y ایضا
FullForm[x*y] Times[x,y]
:وھناك امثلة اخرى FullForm[x*y+2z] Plus[Times[x,y],Times[2,z]] FullForm[4+4x^2]
-3 -2 -1 1 2 3
-3
-2
-1
1
2
3
٦٩
Plus[4,Times[4,Power[x,2]]]
FullForm[x+2y+z^2] Plus[x,Times[2,y],Power[z,2]] x
: Headالم عن اسم التعبیر یستخدم االمر لالستع
Head[x^2+y+z] Plus
.Plusهو x^2+y+zلیوضح لنا ان اسم التعبیر
من قبل المستخدم تعریف وتقدیر الدوال) ٦-٢( ماء ب ا وباس اج الیھ دة یحت ھ یمكن للمستخدم اضافة دوال جدی امج فان ى البرن االضافة الى الدوال الموجودة ف
ى ال والدوال تمثل تعبیرات فى البرنامج .یقترحھا دوال حت ذه ال ة ھ وسوف نستخدم الحروف الصغیرة فى كتابدوال ماء ال امج واس ى البرن ودة ف دوال الموج ا یحدث تداخل بین اسماء ال وم المستخدم بتعریفھ ى یق دة الت الجدی
ة ا لقواعد معین ثال. تبع امج فم ى البرن ةف 2f الدال (x) x ورة ى الص ب عل ى =:f[x_]یكت ل توالت مثة ك لتعریف دال امج وذل ى البرن ا االسم f(x) تعبیر ف د fلھ ر واح ة . xوذات متغی ى _العالم ودة ف والموج
ر ب المتغی راغ الخالى xالطرف االیسر بجان مى الف نمط _x و blank spaceتس الصیغة . Patternالى ة ھ ة الدال ة لكتاب ث functionname[argument_] := العام ة و functionnameحی م الدال اس
argument ر ى المتغی االمر .ترمز ال دا اوال ب ة نب ة الدال د كتاب Clear[expression]وصیغتھ Clearوعنات ل التعریف ذف ك ك لح ابقة وذل ر الس االد( expressionللتعبی ة ھن دوال )ال ى ال داخل ف دث ت ى ال یح حت
المستخدمة فى الخطوات السابقة او مع برنامج اخر ویفضل دائما من تجربتى الشخصیة الخروج من البرنامج امج جدی ذ برن د تنفی رى عن رة اخ دخول م یة .دوال ة القیاس ة بالطریق ة الدال د كتاب یغة ( وبع ا بص ن كتابتھ ویمك
. یتضح من االمثلة التالیة ام بالتنفیذ ذلك كم نقو) االدخال
ل مثا
2fعرف (x) x ,g(x) x ,h(x) 3 sin x,f (4),g(9),h( / 2)
:الحل
.ثم ندخل تعریف كل دالة من الذاكرة f,g,hوذلك لحذف كل التعریفات السابقة للدوال Clear االمر سوف نستخدم
f[xل اادخیمكن _]: x ^ 2 2وذلك اتعریف الدالةf (x) x اوالصیغة القیاسیة كما یلى:
Clear[f,g,h]
. نالحظ ان البرنامج لم یقدر الدالة ولذلك ال یوجد مخرج ولكن تعرف علیھا
fx_: x2
٧٠
:بطریقتین f[4]حساب وذلك ب f(4) 16=سوف نرى
f[4] 16 f[x]/.x4 16
:ندخل عند a+b مثال f لحساب الدالة
f[a+b]
t باى حرف اخر على سبیل المثال x یمكن استبدال الحرف
f[a+b]
f[4] 16 f[t]/.t4 16
g(9) 3 g(x)ونحسب x ندخل
g[9] 3
:او g[x]/.x9 3
:بادخال
: بطریقتین تم حسابھا h( )2
حیث h[x_]:=3+Sin[x]
h[x_]:=3+Sin[x]
4
4
fx_: x2
a b2
ft_: t2
a b2
gx_:x
h 2
hx . x
2
٧١
:كما یاتى h?وذلك بادخال hیمكن مشاهدة تعریف ?h Global`h
البرنامج وذلك لتعریف الدالة یمثل تعبیر فى =:h[x_,y_] یمكن تعریف دوال فى اكثر من متغیر فمثال h(x,y) لها االسمh وذات متغیرینx,y .
ل مثا
2 عـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــرف 2f (x, y) 1 sin(x y ) واحســـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــب
2 2 2 2f (1,2),f 2 ,3 ,f (0,a), f (a b ,b a )2
.
:الحل
f[1,2] 1-Sin[5]
f[0,a]
Composition Functions:
(f g)(x) f (g(x)) الدالة قادر على حساب برنامج الماثیماتیكا .دالتین f (x),g(x) حیث
: التالیتینعلى سبیل المثال بفرض الدالتین
2 3f (x) x x , g(x) x 1
: حصول على الدالةلل
hx_ : 3 Sinx
fx_, y_ : 1Sinx2 y2
f2, 32
112
1 Sina2fa2 b2, b2 a21 Sina2 b22 a2 b22
٧٢
(f g)(x) f (g(x))
:نتبع التالى Clear[f,g]
f[g[x]]
:باستخدام االمر التالى ویمكن الحصول علیھا Composition[f,g][x]
:ایضا یمكن الحصول على الدالة
:كالتالى (f g)(x 1) f (g(x 1))
Composition[f,g][x-1]
:كالتالى تعریف دالة جدیدة بفرض
k(x) sin x cos x
:فى البرنامج كالتالى والتى تعرف
k[x_]:=Sin[x]+Cos[x];
:تعریف الدالة بفرض ایضا
(f k)(x) f (k(x)) :والتى تعرف فى البرنامج كالتالى
aa2=Composition[f,k][x]
3
وقد تم تقدیر قیمتھا عند
fx_: x2x;gx_: x31;
1 x3 1 x32
1 x3 1 x32
1 1 1 x32 1 x3
Cosx Sinx Cosx Sinx2
Compositionf, k 3 Simplify
3
23
٧٣
Expand باستخدام االمر aa2 الدالة )فك( ویمكن تبسیط
Expand[aa2]
:بفرض الدالة
2ff (x) x 10 :والتى تعرف فى البرنامج كالتالى
:كالتالى x=2 سوف نحسب قیمتھا عند ff[2] 14
: سوف نعرف الدالة
ff (ff (ff (x)) :كالتالى
t[x_]=Nest[ff,x,3]
x=2 نحسب قیمتھا عند ثم
t[2] 42446
:یمكن المقارنة بین عدة دوال بالرسم التالى
Plot[{f[x],g[x],ff[x]},{x,0,10},PlotStyle{Dashing[{0.01}],GrayLevel[.4],GrayLevel[0]}]
Cosx Cosx2 Sinx 2Cosx Sinx Sinx2
ffx_: x210
10 10 10x222
٧٤
Graphics
فعلى .نستخدم اسماء مخصصة لدوال تخص البرنامج فالالدالة اسم وفى النھایة یجب توخى الحذر عند كتابة
:عندما نكتب سبیل المثال
$Failed
.خطا النھا اسم دالة تخص البرنامج Cos والتى تعنى ان اسم الدالة تحذیر یالحظ ظھور رسالة
Relational and Logical والعملیـات المنطقیـة یـةالعملیـات العالق) ٧-٢(Operations
والتى تقارن بین Relation Operatorsباالضافة الى العملیات الحسابیة هناك العملیات العالقیة .Falseاو خطا Trueتعبیرین او متغیرین ویكون الناتج كمیة منطقیة صواب
: العملیات العالقیة
و (<)واكبر (=!) Unequalوعدم التساوى Equal(==) العملیات العالقیة فى البرنامج هى المساواه والتى یمكن LessEqual (=>)و اصغر او یساوى (=<) GreaterEqualواكبر او یساوى (>)اصغر
:فعلى سبیل المثال.استخدامهم لمقارنة اعداد
9>10 False 48-4 True
: الصیغة التالیة
2 4 6 8 10
50
100
150
200
Cosx_: x2SetDelayed ::write : Tag Cos in Cosx_ is Protected . More…
٧٥
3(7-4) True
:تختلف عن الصیغة التالیة
(3==7)-4 -4+False
.الجدول التالى یعطى العملیات العالقیة وصیغ االدخال المختلفة لھم المعنى
الدالیة الصیغة
الصیغة القیاسیة
المساواة
Equal[x,y]
x==y
عدم المساواة
UnEqual[x,y]
x!=y
اكبر من
Greater[x,y]
x>y
من اقل
Less[x,y]
x<y
اكبر من او یساوى
GreaterEqual[x,y]
x>=y
اصغر من او یساوى
LessEqual[x,y]
x<=y
:فعلى سبیل المثال
Equal[3,7-3,6/2] False
:العملیات المنطقیة
٧٦
تقـدر صــحة تعبیـر باالعتمــاد علــى (Boolean Operation)فـى بعــض االحیــان تسـمى ( العملیـات المنطقیــة تمثـل ) " And Operation"(" و"العملیة المنطقیـة فعلى سبیل المثال " Boolean Arithematic" رمز یسمى
: فعلى سبیل المثال االتحاد بین جملتین صحیحتین دائما صحیح . &&فى البرنامج بالرمز 4<5&&8>1 True
:("And operation " ) و" فیما یلى جدول لكل القیم الممكنة لعملیة"
TableForm[{{True&&True,True&&False},{False&&True,False&&False}},TableHeadings{{T,F},{T,F} }]
فعلـى . وتكـون صـحیحة اذا كـان احـدى الجملتـین صـحیح||تمثـل فـى البرنـامج بـالرمز ) "Or"" (او " العملیة المنطقیـة
: سبیل المثال 43||36/2 True 0==0||36/2 True
:ایضا صحیح A||Bكالهما صحیح فان A and Bوعلى ذلك اذا كان True||True True
.الجدول التالى یعطى العملیات المنطقیة وصیغ االدخال المختلفة لھم المعنى
الدالیةالصیغة
الصیغة القیاسیة
ال
Not[x]
!x
ال یساوى
UnEqual[x,y]
x!=y
And[x,y] و
x&&y
T FT True FalseF False False
٧٧
Or[x,y] او
X||y
ل مثا
على الترتیب ثم aa1,aa2,aa3 فى المتغیرات باحالل 10,11,12 :تتم كالتالى aa1>aa2-aa3 اختبار ما اذا كان
(True ( صوابوالنتیجة بصیغة االدخال : اوال aa1=10;aa2=11;aa3=12;aa1>aa2-aa3 True
: دالة ثانیا بصیغة Greater[aa1,(aa2-aa3)] True
.حصلنا على نفس النتیجةوقد على الترتیب ثم aa1,aa2,aa3 فى المتغیرات كمثال اخر باحالل 10,15,17
:نتبع التالى aa2 من اكبر او یساوى aa1 ختبار ما اذا كانا
(False (والنتیجة خطا بصیغة االدخال اوال
aa1=10;aa2=15;aa3=17;
aa1aa2 False
: بصیغة دالة ثانیا GreaterEqual[aa1,aa2] False
:نتبع التالى aa1<aa3 او aa1+aa3 اكبر من aa2 الختبار ما اذا كان
(True ( صوابوالنتیجة بصیغة االدخال اوال
٧٨
aa2>aa1+aa3||aa1<aa3 True
:بصیغة دالة ثانیا Or[Greater[aa2,aa1+aa3],Less[aa1,aa3]] True
٧٩
الفصل الثالث
رسم الدوال والتعبیرات والمعادالت
٨٠
ing Function of a phGra)فـى المسـتوى (رسـم دالـة لمتغیـر واحـد )١-٣( Single Variable
حیث x یسمى المتغیر المستقل وy یسمى المتغیر التابع y=f(x) واحد یرمز لها دالة ذات متغیر بفرض ثلها مجموع النقاط موترسم الدالة فى المستوى وی y والمدى یقع على محور x ونطاق الدالة یقع على محور
.y=f(x) تحقق تىفى المستوى ال (x,y)
:االمر الذى یستخدم فى رسم الدالة ھو
Plot[f[x],{x,a,b}]
. [a,b] فى الفترة f(x) یرسم الدالةوالذى
:وتنفیذھا فى نافذة البرنامج فنحصل على التالى ? Plot یمكن كتابة ھذا االمر للحصول على معلومات عن
?Plot
ل مثا
3لیكن 2f (x) 5x 2x 8x 1 . ارسم الدالة f(x) [4,3-]فى الفترة :
:الحل
فـى لرسـم الدالـة Plotثـم نسـتخدم االمـر f الدالـة نعـرف ثـماذا وجـدت f بعد ازالة كل التعریفات السابقة للدالة . [4,3-]الفترة
Clear[f]
Plot[f[x],{x,-4,3}]
Plotf, x, xmin, xmax generates
a plot of f as a function of x from xmin
to xmax. Plotf1, f2, ... , x, xmin,xmax plots several functions fi.More…
fx_: 5x32x28x1
٨١
Graphics
الحظ فى المثال السابق انه تم رسم الدالة بدون اضافة اى خیارات الى امر الرسم وذلك لوجود العدید من یوالتى یقوم البرنامج بتنفیذھا فى برنامج الماثیماتیكا Default ) الفعالة( المفترضة الخیارات
عند بدایة التشغیل مثل تحدید مقیاس رسم مناسب واختیار المدى للدالة موضع االھتمام Automaticاتوماتیك . وترقیم المحاور
قاط شاذة فى نطاق التعریف حیث یقوم البرنامج فى برنامج الماثیماتیكا قادر على رسم دوال لھا ن Plotاالمر .باختیار مقیاس رسم مناسب
ل مثا
fلتكن (x) tan x . ارسم الدالة f(x) [3,3-]فى الفترة :
:الحل
لرسم الدالة Plotثم نستخدم االمر f الدالة اذا وجدت فاننا نعرف f بعد ازالة كل التعریفات السابقة للدالة . [3,3-]فى الفترة
f[x_]:=Tan[x] Plot[f[x],{x,-3,3}]
-4 -3 -2 -1 1 2 3
-15
-10
-5
5
10
15
-3 -2 -1 1 2 3
-40
-20
20
40
٨٢
Graphics
ل مثا
1fلتكن (x) sin x
. ارسم الدالة f(x) [1,1-]فى الفترة :
:الحل
الدالة
1f (x) sin x
لھا نقطة شاذة عندx=0 بجوار هذه النقطةوسوف نشاهد توضیح الرسم اكثر:
Plot[f[x],{x,-1,1}]
Graphics
. اخرى للرسم خیاراتوذلك الضافة Plotمع االمر PlotStyle الخیاراستخدام یمكن
:ھى PlotStyleالصورة العامة للخیار
PlotStyle Style تحدید االسلوب حیث یتم Style موجودة فى االمر الدالة اللرسمPlot.
:عند الرغبة فى رسم الدالة فى الوان مختلفة فان امر الرسم سوف یصبح فعلى سبیل المثال
Plot[f (x),{x,a,b},PlotStyle GrayLevel[w]]
PlotStyleالخیار. رقم یقع بین صفر وواحد wحیث GrayLevel[0] الخیارسود وا رسم مثلی
PlotStyle GrayLevel[1] عند استخدام طابعة ملونة فان االمر التالى یستخدم.یمثل رسم ابیض :
Plot[f (x),{x,a,b},PlotStyle RGBColor[r,g,b]]
PlotStyle الخیار. الصحیح ارقام بین الصفر والواحد r,g,bحیث RGBColor[1,0,0] مثل ی :الخیاراللون االحمر و
PlotStyle RGBColor[0,1,0]
fx_: Sin1x
-1 -0.5 0.5 1
-1
-0.5
0.5
1
٨٣
:الخیارو مثل اللون االخضر ی
PlotStyle RGBColor[0,0,1] .االزرقمثل اللون ی
PlotStyle Dashing[{n}] الخیار ایضا یستخدم n حیث n باجزاء متعاقبة طولها متقطع لرسم منحنى
.مثل كسر من العرض الكلى للرسمت
1 2PlotStyle Dashing[{n ,n ,...}] اما الخیارin وبصورة دوریة حیث كال من 1 2 n ,n ,... لرسم منحنى متقطع باجزاء متعاقبة طولها فیستخدم
.یمثل كسر من العرض الكلى للرسم م دوال خاصة او و استدعاء رس تكرار عندوهذا له اهمیة خاصة . رسم الدوال مثل التعبیرات یمكن اعطائه اسماء
ویقوم البرنامج بحفظ المعلومات الخاصة بكل رسم یتم .عدة رسومات لدوال على نفس المحاور عرضیتم عندما كما یمكن ، بعض الخیارات الى الرسم اضافةتنفیذه بحیث یمكن اعادة الرسم فى اى وقت بعد ذلك مع امكانیة
Show معا ویتم ذلك باستخدام االمرعرض اكثر من رسم :تكون كالتالى Show فان صیغة االمر Plot والناتجة من االمر dd1 عرض رسمة واحدة لها االسمعادة فال
Show[dd1]
صیغة معا على نفس الرسم فان Plot ...,d1,d2 الناتجة من امر والعادة عرض رسم المنحنیات
:تكون كالتالى Showاالمر
Show[dd1,dd2,...]
.على خیارات كما سوف نوضحه فیما بعد Showقد تحتوى صیغة االمر كما
ل مثا
[4,2-]الفترة المحاور فى على نفس التالیةارسم الدوال
2h(x) 10x 3x 8,g(x) 34x 13
:الحل
وســـــــــــــــوف نســـــــــــــــتخدم الخیـــــــــــــــار [4,2-]فـــــــــــــــى الفتـــــــــــــــرة hثـــــــــــــــم نرســـــــــــــــم h,gاوال ســـــــــــــــوف نعـــــــــــــــرف PlotStyleDashing[{0.01}] یكــون منحنــى بحیــث h والنتیجــة ســوف توضــع فــى متقطــع
: rr1االسم
٨٤
Clear[h,g]
g[x_]:=34x+13 rr1=Plot[h[x],{x,-4,2},PlotStyleDashing[{0.01}]]
Graphics
tt2 ولىعلى الرسمة اال االسم و tt1 االسم وسوف نطلق [-4,2] یلى ذلك رسم g,h معا فى الفترة
:فى كل حالة سوف نستخدم الخیار التالى و. الثانیةعلى الرسمة
DisplayFunctionIdentity
ى الرسمتین .وذلك لمنع ظھور الرسمة ر وسوف نحصل عل ا باستخدام االم دون Showمع ھ ب ذكر ان ویجب ان نت الخیار
DisplayFunction$DisplayFunction فى امرShow فلن تظهر اى رسومات. tt1=Plot[h[x],{x,-4,2},PlotStyleDashing[{0.01}],DisplayFunctionIdentity]; tt2=Plot[g[x],{x,-4,2},PlotStyleGrayLevel[0.4],DisplayFunctionIdentity]; Show[tt1,tt2,DisplayFunction$DisplayFunction]
Graphics Graphics
hx_: 10x23x8
-4 -3 -2 -1 1 2
20
40
60
80
-4 -3 -2 -1 1 2
-150
-100
-50
50
100
150
٨٥
ارات ن الخی ة م ة الكامل ة و القائم ة المفترض ا بكتاب ول علیھ ن الحص م یمك وفرة للرس ذه Options[Plot]المت وتنفی :كالتالى
Options[Plot]
ن وللتعرف على تلك الخیارات سوف نضع الصیغة optionsخیارات متعددة الھم Plot,Showاالمرین ل م ة لك العام
:االمرین كالتالى ر ة لالم یغة العام ارات Plotالص ود خی ة وج ى حال ة Plot[f[x],{x,a,b},options] ف یغة العام والص
:ھى فى حالة وجود خیارات ShowلالمرShow[graphs,options].
:وفیما یلى بعض ھذه الخیارات
)١( AspectRatio number ق ) yمحور(الى المحو الراسى ) xمحور(االفقى وریحدد النسبة بین طول المح الخیارھذا ار . numberعن طری االختی
:ھو المفترض ھنا 1AspectRatio
GoldenRatio ال یظھر المفترضالخیار ھذا مع العلم ان.
حیث 1GoldenRatio (1 5) 1.618032
اى انھ ثابت مثلPi.
A s p e c t R a t i o 1
G o l d e n R a t i o, A x e s A u t o m a t i c ,
A x e s L a b e l N o n e , A x e s O r i g i n A u t o m a t i c ,
A x e s S t y l e A u t o m a t i c , B a c k g r o u n d A u t o m a t i c ,
C o l o r O u t p u t A u t o m a t i c , C o m p i l e d T r u e ,D e f a u l t C o l o r A u t o m a t i c , D e f a u l t F o n t $ D e f a u l t F o n t ,
D i s p l a y F u n c t i o n $ D i s p l a y F u n c t i o n , E p i l o g ,F o r m a t T y p e $ F o r m a t T y p e , F r a m e F a l s e ,
F r a m e L a b e l N o n e , F r a m e S t y l e A u t o m a t i c ,F r a m e T i c k s A u t o m a t i c , G r i d L i n e s N o n e ,
I m a g e S i z e A u t o m a t i c , M a x B e n d 1 0 . ,P l o t D i v i s i o n 3 0 . , P l o t L a b e l N o n e , P l o t P o i n t s 2 5 ,
P l o t R a n g e A u t o m a t i c , P l o t R e g i o n A u t o m a t i c ,
P l o t S t y l e A u t o m a t i c , P r o l o g , R o t a t e L a b e l T r u e ,
T e x t S t y l e $ T e x t S t y l e , T i c k s A u t o m a t i c
٨٦
2h(x)لرسم الدوال التالیة 10x 3x 8 , g(x) 34x 13 على الفترة
AspectRatioم الخیار داواستخ [4,2-] 1
: نتبع التالى
Clear[h,g]
g[x_]:=34x+13 Plot[{h[x],g[x]},{x,-4,2},PlotStyle{Dashing[{0.01}],GrayLevel[0.5]}, AspectRatio1]
Graphics
PlotStyle{Dashing[{0.01}],GrayLevel[0.5]} وفى الخیار .gللدالة الثانیة GrayLevel[0.5] و hللدالة االولى Dashing[{0.01}]یتم تحدید
PlotStyle هى PlotStyleوالصورة العامة للخیار {style1,style2,...} یتم تحدید االسـالیب حیث style1,style2,... لالستخدام بصورة دوریة مـع منحنیـات الـدوال الموجـودة فـى االمـرPlot فمنحنـى الدالـة
. الخ...style2 یرسم باسلوب ومنحنى الدالة الثانیة style1االولى یرسم باسلوب
ار )٢( AxesLabel الخی {"x axis label","y axis label"} ة ھ كتاب ووظیفت
xالعنوان axis label على محورx كتابة العنوان وy axis label على محورy اى
:المفترض ھو الخیار. عناوین على المحاور كتابة
AxesLabel None عدم كتابة عناوین على المحاور اى. 2g(x)لرسم الدالة 10x 3x 8 وان ى المح xووضع العن وان ورعل ى والعن ى المح yاالفق الراسى ورعل :نتبع التالى
hx_: 10x23x8
-4 -3 -2 -1 1 2x
-100
-50
0
50
100
150
y
٨٧
Plot[h[x],{x,-4,2},PlotStyleDashing[{0.01}],AxesLabel{"x","y"}]
Graphics
Frameالخیار )٣( True عدم عمل اطار المفترض ھو الخیار . ووظیفتھ عمل اطار حول الرسم Frame False .
2g(x)لرسم الدالة السابقة 10x 3x 8 مع عمل اطار حول الرسم وكتابة عنوان لھذا االطار نتبع التالى :
Plot[h[x],{x,-4,2},PlotStyleDashing[{0.01}],}],AxesLabel{"x","y"}, FrameTrue,FrameLabel->"Gragh"]
Graphics
الخیار )٤(
hx_: 10x23x8
-4 -3 -2 -1 1 2x
20
40
60
80
y
hx_: 10x23x8
-4 -3 -2 -1 0 1 2
0
20
40
60
80
hgarG
x
y
٨٨
AxesOrigin {x coordinate, y coordinate}
:ووظیفتھ تحدید النقطة
x coordinate, y coordinate اى تحدید نقطة االصل ، كنقطة اصل.
2g(x)لرسم الدالة السابقة 10x 3x 8 نتبع التالى [0,10]وجعل نقطة االصل :
Plot[h[x],{x,-4,2},PlotStyleDashing[{0.01}],AxesLabel{"x","y"},AxesOrigin{0,10}]
Graphics
Ticksالخیار )٥( None ووظیفتھ عدم ترقیم المحاور Ticks الخیارو {Automatic, None} ترقیم المحور االفقى فقط ل Ticks الخیارو {None,Automatic} فھو المفترض اما االختیار . ترقیم المحور الراسى فقطل:
Ticks Automatic . ابقة ة الس م الدال 2g(x)لرس 10x 3x 8 ار تخدام الخی ع اس Ticksم None رقیم دم ت اى ع
: المحاور نتبع التالى
Plot[h[x],{x,-4,2},PlotStyle{Dashing[{0.01}],GrayLevel[0.5]},AxesLabel{"x","y"},AxesOrigin{0,10},TicksNone]
hx_: 10x23x8
-4 -3 -2 -1 1 2x
0
20
40
60
80
y
٨٩
Graphics
2g(x)لرسم الدالة السابقة 10x 3x 8 مع استخدام الخیارTicks {None,Automatic} : نتبع التالى فقط اى ترقیم المحور الراسى
Plot[h[x],{x,-4,2},PlotStyle{Dashing[{0.01}],GrayLevel[0.5]},AxesLabel {"x","y"},AxesOrigin{0,10},Ticks{None,Automatic}]
Graphics
2g(x)لرسم الدالة السابقة 10x 3x 8 مع استخدام الخیارTicks {Automatic, None} : نتبع التالى فقط اى ترقیم المحور االفقى
Plot[h[x],{x,-4,2},PlotStyle{Dashing[{0.01}],GrayLevel[0.5]},AxesLabel{"x","y"},AxesOrigin{0,10},Ticks{Automatic,None}]
x
y
x
0
20
40
60
80
y
٩٠
Graphics
2g(x)لرسم الدالة السابقة 10x 3x 8 وحذف المحاور من على الرسم نتبع التالى :
Plot[h[x],{x,-4,2},PlotStyleDashing[{0.01}], AxesNone]
Graphics
الخیار )٦(
PlotLabel "name"
االختیار المفترض ھو .كتابة عنوان على الرسماى الرسمعلى nameووظیفتھ كتابة العنوان PlotLabel None
.اى عدم كتابة عنوان
-4 -3 -2 -1 1 2x
y
hx_: 10x23x8
٩١
2g(x)لرسم الدالة السابقة 10x 3x 8 وكتابة العنوان على الرسم نتبع التالى :
Clear[h,g]
g[x_]:=34x+13 Plot[h[x],{x,-4,2},PlotStyleDashing[{0.01}],AxesLabel{"x","y"},AxesOrigin{0,10},PlotLabel->"adress"]
Graphics
الخیار )٧(
PlotRange {y min imum, y maximum}
: الرسم النھائى فى الفترةللمحور الراسى فى المدى ووظیفتھ تحدید
[y minimum, y maximum]
لخیارا )٨(
PlotRange {x minimum,x maximum},{y minimum, y maximum} :ووظیفتھ تحدید مدى االحداثیات
{x min imum,x maximum},{y minimum,y maximum}
.التى یتم التعامل معھا فى الرسم
:المفترض ھو الخیار
PlotRange Automatic .
2g(x)لرسم الدالة السابقة 10x 3x 8 محور الراسى نتبع التالى ال مدىوتحدید :
hx_: 10x23x8
-4 -3 -2 -1 1 2x
0
20
40
60
80
yadress
hx_: 10x23x8
٩٢
Plot[h[x],{x,-4,2},PlotRange{-20,100},PlotStyleDashing[{0.01}],AxesLabel{"x","y"},AxesOrigin{0,10}]
Graphics
:وقد تم استخدام الخیار
PlotRange{-20,100}
ستخدم لتحدید مدى االحداثیات التى سوف یتم التعامل معها فى الرسم ی و .تحدید المدى للمحور الراسى ل: الخیار
PlotRange{{-10,6},{-20,100}}
Plot[h[x],{x,-4,2},PlotRange{{-10,6},{-20,100}},PlotStyleDashing[{0.01}],AxesLabel{"x","y"},AxesOrigin{0,10}]
Graphics
:یقوم البرنامج بتحدید مدى االحداثیات كما یلى PlotRangeAll وعند استخدام الخیار
-4 -3 -2 -1 1 2x
-20
0
20
40
60
80
100y
-10 -8 -6 -4 -2 2 4 6x
-20
0
20
40
60
80
100y
٩٣
Plot[h[x],{x,-4,2},PlotRangeAll,PlotStyleDashing[{0.01}],AxesLabel{"x","y"},AxesOrigin{0,10}]
Graphics
:ھو وعند عدم استخدام اى خیار فان الخیار المفترض
PlotRange Automatic وتكون النتائج كما یلى
Plot[h[x],{x,-4,2},PlotStyleDashing[{0.01}],AxesLabel{"x","y"},AxesOrigin{0,10}]
Graphics
GridLines الخیار )٩( Automatic ة م الدال ى رس ھ عل ار .ووظیفتھ عمل رسم شبكى یحتوى بداخل الخیGradLinesالمفترض ھو None .
2h(x)لرسم الدالة السابقة 10x 3x 8 مع عمل خطوط شبكیة على الرسم نتبع التالى :
Clear[h]
-4 -3 -2 -1 1 2x
0
25
50
75
100
125
150
y
-4 -3 -2 -1 1 2x
0
20
40
60
80
y
٩٤
Plot[h[x],{x,-4,2},PlotStyleDashing[{0.01}],AxesLabel{"x","y"},AxesOrigin{0,10},GridLinesAutomatic]
Graphics
ار )١٠( Background الخی GrayLevel[k] ادى بمستوى اللون الرم ة ب ل الخلفی ھ جع وین ووظیفت kتل
Backgroundالمفترض ھو الخیار .یتراوح بین صفر وواحد Automatic . 2h(x)لرسم الدالة السابقة 10x 3x 8 مع جعل الخلفیة باللون الرمادى نتبع التالى :
Plot[h[x],{x,-4,2},PlotStyleDashing[{0.01}],AxesLabel{"x","y"},AxesOrigin{0,10},PlotLabel->"adress",BackgroundGrayLevel[.5]]
Graphics
PlotStyle Thickness[m] یستخدم الخیار ) ١٠( m حیث m لرسم المنحنى بحیث یكون سمك الخط المستخدم یساوى
hx_: 10x23x8
-4 -3 -2 -1 1 2x
0
20
40
60
80
y
hx_: 10x23x8
-4 -3 -2 -1 1 2x
0
20
40
60
80
yadress
٩٥
.تمثل كسر من العرض الكلى للرسم 2h(x)لرسم الدالة السابقة 10x 3x 8 استخدم الخیارمع جعل الخط سمیك:
PlotStyleThickness[.007] فى الرسمة التالیة.
Plot[h[x],{x,-4,2},PlotStyleThickness[.007]]
Graphics
Option ویتم وضع الخیار Value ویاخذ قیمة name للرسم وبصورة عامة كل خیار له اسم
:فى الصورة التالیة Plot داخل امر الرسم Name Value
Value ومن القیم "," بحیث یفصل كل منها عالمة الفاصلة Plot داخل امر خیارویمكن وضع اكثر من :المستخدمة فى بعض هذه الخیارات
اتوماتیكى وفقا السلوب البرنامج الخیار Automatic All عمل كل ما هو متاح من البرنامج فى هذا االختیار
الخیارعدم استخدام ما هو متاح من البرنامج فى هذا None الخیارتنفیذ True
الخیارعدم تنفیذ False
التمثیل البیانى لعدة دوال:بیانیا فى الفترة f (x),g(x),h(x) یمكن استخدام االمر Plot لتمثیل الدوال
[a,b] وعلى نفس المحاور وذلك باستخدام االمر التالى:
hx_: 10x23x8
-4 -3 -2 -1 1 2
20
40
60
80
٩٦
Plot[f[x],g[x].h[x],{x,a.b}]
. ھذا االمر یمكن تعمیمھ لیشمل اكثر من ثالث دوال
ل مثا
xfسم الدوال التالیة ار (x) cos[x],g(x) sin(x),h(x) e على نفس النطاق[ , ]
ومنحنـى علـى صـورة خطـوط ونقـط g(x)ومنحنـى ةمتقطعـ على شكل خطوط f(x) بحیث یكون منحنىh(x) سمیك.
:الحل
f[x_]:=Cos[x] g[x_]:=Sin[x]
Plot[{f[x],g[x],h[x]},{x,-,},PlotStyle{Dashing[{0.01}],Dashing[{0.01,.03,.03}], Thickness[.007]}]
Graphics
ل مثا
ة دوال التالی م ال ارسxf (x) sin x , g(x) 2sin x , h(x) sin 2
الفتـــــرةعلــــى نفـــــس
[0,4 ] بحیث یكون منحنى f(x)ومنحنى متقطعة على شكل خطوطg(x) على صورة خطوط ونقط
hx_: x
-3 -2 -1 1 2 3
-1
1
2
3
4
٩٧
3ومــدى المحــور الراســى ســمیك h(x)ومنحنــى 3[ , ]2 2
وقــد اســتخدم الخیــارTicks تــرقیم یــتمبحیــث
.فقط 1وعند 1-و ترقیم المحور الراسى عند Automaticsالمحور االفقى
:الحل
علـى صـورة خطـوط Sin(2x)متقطع ومنحنـى Sin(x)بحیث یكون منحنى PlotStyleسوف نستخدم الخیار
xsinمتقطعــــة ونقــــط ومنحنــــى 2
لجعــــل تــــرقیم المحــــور االفقــــى Ticksایضــــا اســــتخدم الخیــــار . ســــمیك
Automatics مـن للمحـور الراسـىمـدى التحدید سوف یتمكما . (1,1-)اما ترقیم المحور الراسى فیكون من .PlotRangeامر
Graphics
ل مثا
2ارسم الدائرة 2x 4x y 2y 4
:الحل
PlotSinx,Sin2x, Sin x2, x, 0, 4,
PlotStyle Dashing0.01, Dashing0.01, .03, .03,
Thickness.007, PlotRange 32,32, Ticks Automatic, 1, 1
2 4 6 8 10 12
-1
1
٩٨
ز ى مرك دائرة radiusو centerیمكن الحصول عل 2لل 2x 4x y 2y 4 ع والحصول ال المرب باكم
2على المعادلة 2 2(x 2) (y 1) 3 و و radiusو (2,1)وعلى ذلك مركز الدائرة ھ دائرة ھ وبحل 3لل
2yنحصل على yھذه المعادلة فى 1 9 (x 2) الدائرةوعلى ذلك الدالة التى تصف الجزء العلوى من
: ھى2
1y 1 9 (x 2) ىھ الدائرةوالدالة التى تصف الجزء السفلى من : 2
2y 1 9 (x 2) . نعرفسوف
1 2y , y وىكدوال دائرة تصف الجزء العل ن ال فلى م والجزء الس
1لرسم Plotوسوف نستخدم االمر . على التوالى 2 y , y فى الفترة[ 1,5] م والى p1,p2تحت االس ى الت .عل
DisplayFunctionوسوف ال تظھر الرسومات وذلك بسبب الخیار Identity وبعد ذلك سوف نستخدم
الخیار المفترض .لعرض الرسمتین معا Showاالمر 1AspectRatio
GoldenRatio ؤدى سوف ی
: الى ان الرسم لن یكون على شكل دائرة كما یلى
Clear[y1,y2]
p1=Plot[y1,{x,-1,5},DisplayFunctionIdentity]; p2=Plot[y2,{x,-1,5},DisplayFunctionIdentity]; Show[p1,p2,DisplayFunction$DisplayFunction]
Graphics
AspectRatioعند وضع الخیار 1 نحصل على شكل دائرة كما یلى سوف :
y1 19 x22 ;
y2 19 x22;
-1 1 2 3 4 5
-2
-1
1
2
3
4
٩٩
Show[p1,p2,AspectRatio1,DisplayFunction$DisplayFunction ]
Graphics
Piecewise-Defined Functions تمثیل الدوال التى لها اكثر من نطاق fفى المثال التالى الدالة .الماثیماتیكا نطاق فى برنامجل التى لها اكثر من الدوایمكن تعریف ورسم (x)
" الرمز تمثلو یعرف ان الدالة لھا نطاقات مختلفة ;/الشرط .سوف تعرف فى نطاقین "وتمثل الرمز " "
ل مثا
: اذا كانت 2x 2,x 0
f (x)x 1,x 0
]ارسم هذه الدالة فى الفترة 3,3] .
:الحل
-1 1 2 3 4 5
-2
-1
1
2
3
4
١٠٠
Clear[f]
f[x_]:=x-1/;x<0 Plot[f[x],{x,-3,3},PlotRange{-2,4},AspectRatio1]
Graphics
phicsDimentional Gra-reehT) الفراغ(رسوم فى البعد الثالث )٢-٣(
z الدالةیمكن لبرنامج الماثیماتیكا رسم f (x, y),a x b,c y d مستقلین فى متغیرین
x,y حیثz متغیر تابع ونطاق الدالة یقع فى المستوىxy طاویمثلھ مجموع النق(x, y) المعرف عندھا
zالدالة بینما المدى للدالة f (x, y) یقع على محورz فى الفراغ ورسم الدالة z f (x, y) ھو عبارة
,x)ط اعن سطح فى الفراغ یمثلھ مجموع النق y,z) المعادلة التى تحققz f (x, y). االمر الذى یستخدم :فى ھذه الحالة ھو
Plot3D[f[x, y],{x,a,b},{y,c,d}]
ر راغ لالم ى الف م ف ى شكل الرس تحكم ف ى ت ارات الت ن الخی د م ارات Plot3Dیمكن االستعالم عن العدی ذلك الخی وك . كما سبق ان وضحنا Plot3D?? باستخدام Plot3Dالمفترضة لالمر
??Plot3D
fx_: x22; x 0
-3 -2 -1 1 2 3
-2
-1
1
2
3
4
١٠١
Options[Plot3D]
{AmbientLightGrayLevel[0],AspectRatioAutomatic,AxesTrue,AxesEdgeAutomatic,AxesLabelNone,AxesStyleAutomatic,BackgroundAutomatic,BoxedTrue,BoxRatios{1,1,0.4},BoxStyleAutomatic,ClipFillAutomatic,ColorFunctionAutomatic,ColorFunctionScaling
Plot3Df, x, xmin, xmax, y, ymin, ymax generates
a threedimensional plot of f as a function of
x and y. Plot3Df, s, x, xmin, xmax, y,ymin, ymax generates a threedimensional plot
in which the height of the surface is specified
by f, and the shading is specified by s.More…AttributesPlot3D HoldAll, Protected
OptionsPlot3D AmbientLight GrayLevel0, AspectRatio Automatic,
Axes True, AxesEdge Automatic,
AxesLabel None, AxesStyle Automatic,
Background Automatic, Boxed True,
BoxRatios 1, 1, 0.4, BoxStyle Automatic,
ClipFill Automatic, ColorFunction Automatic,
ColorFunctionScaling True,
ColorOutput Automatic, Compiled True,
DefaultColor Automatic, DefaultFont $DefaultFont,
DisplayFunction $DisplayFunction,
Epilog , FaceGrids None,
FormatType $FormatType, HiddenSurface True,
ImageSize Automatic, Lighting True,
LightSources 1., 0., 1., RGBColor1, 0, 0,1., 1., 1., RGBColor0, 1, 0,0., 1., 1., RGBColor0, 0, 1, Mesh True,
MeshStyle Automatic, Plot3Matrix Automatic,
PlotLabel None, PlotPoints 25,
PlotRange Automatic, PlotRegion Automatic,
Prolog , Shading True, SphericalRegion False,
TextStyle $TextStyle, Ticks Automatic,
ViewCenter Automatic, ViewPoint 1.3, 2.4, 2.,ViewVertical 0., 0., 1.
١٠٢
True,ColorOutputAutomatic,CompiledTrue,DefaultColorAutomatic,DefaultFont$DefaultFont,DisplayFunction$DisplayFunction,Epilog{},FaceGridsNone,FormatType$FormatType,HiddenSurfaceTrue,ImageSizeAutomatic,LightingTrue,LightSources{{{1.,0.,1.},RGBColor[1,0,0]},{{1.,1.,1.},RGBColor[0,1,0]},{{0.,1.,1.},RGBColor[0,0,1]}},MeshTrue,MeshStyleAutomatic,Plot3MatrixAutomatic,PlotLabelNone,PlotPoints25,PlotRangeAutomatic,PlotRegionAutomatic,Prolog{},ShadingTrue,SphericalRegionFalse,TextStyle$TextStyle,TicksAutomatic,ViewCenterAutomatic,ViewPoin
t{1.3,-2.4,2.},ViewVertical{0.,0.,1.}}
:كما یلى Plot3Dللحصول على معلومات عن Help Browserیمكن استخدام كما
١٠٣
ل مثا
ــــــــــــــــــة 2ارســــــــــــــــــم الدال 2f (x,y) x 3x y 5y ــــــــــــــــــة المســــــــــــــــــتطیلة الشــــــــــــــــــكل علــــــــــــــــــى المنطق0 x 5, 3 y 4 .
:الحل
ــــــــــث fلرســــــــــم f(x,y)اذا وجــــــــــدت نســــــــــتخدم االمــــــــــر fبعــــــــــد حــــــــــذف كــــــــــل التعریفــــــــــات الســــــــــابقة للدالــــــــــة حی0 x 5, 3 y 4 .
Clear[f]
Plot3D[f[x,y],{x,0,5},{y,-3,4}]
SurfaceGraphics
ل مثا
fx_, y_: x23xy2 5y
01
23
45
-2
0
2
4
0102030
01
23
4
١٠٤
ارســــــــــــم الدالــــــــــــة2 2x y 2 2( )
4 2 x 3yf (x, y) e cos2 4
علــــــــــــى المنطقــــــــــــة المســــــــــــتطیلة الشــــــــــــكل
6 x 6, 3 y 3 .
:الحل
Clear[f]
Plot3D[f[x,y],{x,-6,6},{y,-3,3}]
SurfaceGraphics
"clip" للجزء العالى ما یسمى البرنامج سوف یعمل ."choppy" یسمى یتضح من الرسم السابق وجود ما
:باستخدام الخیار PlotPoint s n
:فى االمر
Plot3D[f[x, y],{x,a,b},{y,c,d},PlotPoint s n]
:التالى یستخدم الخیار او PlotPoint s {nx,ny}
.تؤدى الى رسم ناعم (nx,ny) او n وعلى ذلك قیمة عالیة من :ھنا سوف نستخدم الخیار
PlotPoint s 30 .Show االمر ال یستخدم مع خیارلوهذا ا
fx_, y_: Exp x2
4 y2
2Cos x2
2 3y2
4
-5-2.5
02.5
5
-2
0
2
-0.1-0.05
00.050.1
-5-2.5
02.5
5
١٠٥
:االمر
ViewPoint{1.679,1.732,2.374}
الى السطح وھذه االحداثیات تكون بالنسبة الى عندھا الفراغ یتم النظر منفى یؤدى الى تحدید احداثیات نقطة
:الصیغة العامة لھذا االمر ھو .مركز الصندوق ViewPoint{xv,yv,zv}
. فى الفراغ (xv,y v,zv) لتحدید اى نقطة :لخیارات التالیة ا
PlotRange {zmin,zmax},PlotRange {x min,x max},PlotRange {ymin, ymax},PlotRange All
:ھو ومدى االحداثیات فى الرسم والخیار المفترض د لتحدی تستخدم
PlotRange Automatic
:نا استخدم الخیار لاثفى م PlotRangeAll
.فى االمر التالى للحصول على الرسم المطلوب
Plot3D[f[x,y],{x,-6,6},{y,-3,3},PlotPoints30,PlotRangeAll,ViewPoint{1.679,1.732,2.374}]
SurfaceGraphics
-5
-2.5
0
2.5
5
-2
0
2
0
0.5
1
-5
-2.5
0
2.5
5
١٠٦
.فة كل خیار ظیوفیما یلى بعض الخیارات وو
االختیار الفعال وظیفتھ الخیار AxesLabel "z Label"AxesLabel "x","y","z"
كتابة عناوین AxesLabel على المحاور None
PlotLabel "Label" كتابة عنوان علىPlotLabel الرسم None
Ticks None Ticks {xt, yt,zt}
xt,yt,ztحیث یمكن ان تاخذ القیم
None or Automatic
ترقیم محاور Ticks االحداثیات Automatic
Boxed False رسم صندوقBoxed حول السطح True
BoxeRatios {nx,ny,nz} جعل النسبة nx : ny : nz بین اطوال اوجھ الصندوق
تحدید النسبة بین اطوال اوجھ الصندوق فى اتجاه المحاور
x,y,z على الترتیب
BoxeRatios {6,3,1}
HiddenSurface False منع ظھورالخلفیة االجزاء
من السطح
HiddenSurface True
Mesh False رسم شبكة علىالسطح فى اتجاه
x,yالمحاور
Mesh True
ClipFill None توضیح االماكنالتى عندھا قطع على السطح وفقا للمواصفات الفعالة للرسم
ClipFill Automatic
١٠٧
ل مثا
fباســــــتخدام الخیــــــارات الســــــابقة ارســــــم الدالــــــة (x, y) sin(x, y) علــــــى المنطقــــــة المســــــتطیلة الشــــــكل0 x 4,0 y 4 .
:الخیار
AxesLabel{"x","y","z"}
.االحداثیاتعلى محاور x,y,zیؤدى الى كتابة العناوین
aa1=Plot3D[Sin[x y] ,{x,0,4},{y,0,4},AxesLabel{"x","y","z"},DisplayFunctionIdentity];
:الخیار
BoxRatios{1,1,1}
.مكعب الشكل یؤدى الى عرض السطح داخل صندوق
aa2=Plot3D[Sin[x y] ,{x,0,4},{y,0,4},AxesLabel{"x","y","z"},PlotRange{-.5,.5},BoxRatios{1,1,1},DisplayFunctionIdentity];
:الخیار
Ticks{None,None,Automatic}
. فقط zترقیم االحداثیات یؤدى الى
aa3=Plot3D[Sin[x y] ,{x,0,4},{y,0,4},PlotPoints40,Ticks{None,None,Automatic},DisplayFunctionIdentity];
:الخیار
BoxedFalse
١٠٨
.من حوله السطح فقط بدون صندوق عرض یؤدى الى
aa4=Plot3D[Sin[x y] ,{x,0,4},{y,0,4},PlotPoints40,BoxedFalse,DisplayFunctionIdentity]; Show[GraphicsArray[{{aa1,aa2},{aa3,aa4}}]]
GraphicsArray
ل مثا
ارســـــــــم الدالـــــــــة
2 2x y( ) 2 2
2 3 x 4yf (x,y) e Cos ( )2 4
علـــــــــى المنطقـــــــــة المســـــــــتطیلة الشـــــــــكل
0 x 5, 3 y 4 .
:الحل
Clear[f]
Plot3D[f[x,y],{x,-6,6},{y,-3,3},PlotPoints30,PlotRangeAll,BoxRatios{6,3,1},ViewPoint{1.679,1.732,2.374},BoxedFalse,AxesAutomatic];
-1-0.500.51
0 12
34 0
1234
-1-0.500.51
0 12
3
0 12
34
x 01234
y-1-0.50
0.51z
0 12
3x 0 1 2 3 4x
0 1 2 3 4y
-0.5-0.25
00.250.5
z
0 1 2 3x
0 1 2 3y
fx_, y_: Exp x
2
4y2
2Cosx
2
24y2
4
١٠٩
ل مثا
cosارسم الدالة yf (x, y) e sin x 0على المنطقة المستطیلة الشكل x 2 ,0 y 4 .
:الحل:الخیار
LightingFalse
.اسود و ابیض بلونیؤدى الى ظھور الرسم
aa1=Plot3D[Sin[x] Exp[Cos[y]],{x,0,2},{y,0,4},PlotPoints30,BoxRatios{6,3,1},TicksNone,LightingFalse,DisplayFunctionIdentity];
:الخیار
ShadingFalse
.الرسم تظلیل عدم یؤدى الى
-5
-2.5
0
2.5
5
-2
0
2
00.51
-5
-2.5
0
2.5
5
0
١١٠
aa2=Plot3D[Sin[x] Exp[Cos[y]],{x,0,2},{y,0,4},PlotPoints30,BoxRatios{6,3,1},TicksNone,ShadingFalse,DisplayFunctionIdentity];
:الخیار
RGBColor[1,0,0] .اللون االحمر على الرسمیؤدى الى ظھور
aa3=Plot3D[{Sin[x] Exp[Cos[y]],RGBColor[1,0,0]},{x,0,2},{y,0,4},PlotPoints30,TicksNone ,DisplayFunctionIdentity];
:الخیار
RGBColor[1,Abs[Sin[x]Cos[y]],0] .مع اللون االحمر على الرسم االخضراللون ظالل مختلفة من یؤدى الى ظھور
aa4=Plot3D[{Sin[x] Exp[Cos[y]],RGBColor[1,Abs[Sin[x]Cos[y]],0]},{x,0,2},{y,0,4},PlotPoints30,TicksNone,DisplayFunctionIdentity ]; Show[GraphicsArray[{{aa1,aa2},{aa3,aa4}}]]
١١١
GraphicsArray
ل مثا
fارسم الدالة (x, y) sin(xy) 0على المنطقة المستطیلة الشكل x 4 ,0 y 4 .
:الحل:الخیار
MeshFalse
.شبكة على الرسمظھور عدم یؤدى الى
لخیار المفترض ا MeshTrue
.شبكة على الرسمظھور یؤدى الى
aa1=Plot3D[Sin[x y],{x,0,4},{y,0,4},MeshFalse,DisplayFunctionIdentity];
:الخیار
ShadingFalse
.الرسم المربعات على تظلیل عدم یؤدى الى
لخیار المفترض ا
ShadingTrue
.المربعات على الرسم تظلیل یؤدى الى
aa2=Plot3D[Sin[x y],{x,0,4},{y,0,4},ShadingFalse,DisplayFunctionIdentity];
:الخیار
ClipFillNone.
یؤدى الى عرض السطح بحیث تترك االجزاء المقطوعة واضحة بدون تظلیل :لخیار المفترض ا
١١٢
ClipFillAutomatic
aa3=Plot3D[Sin[x y],{x,0,4},{y,0,4},PlotRange{-.5,.5}, ,DisplayFunctionIdentity];
:الخیار
ClipFillGrayLevel[1] .باللون الرمادى ظھوراالجزاء المقطوعة للسطح یؤدى الى
aa4=Plot3D[Sin[x y],{x,0,4},{y,0,4},PlotRange{-.5,.5},ClipFillGrayLevel[1],DisplayFunctionIdentity];
:الخیار ClipFill{GrayLevel[0],GrayLevel[1]}
.یؤدى الى ظھوراالجزاء المقطوعة للسطح من اعلى باللون االبیض ومن اسفل باللون االسود
aa5=Plot3D[Sin[x y],{x,0,4},{y,0,4} ,ClipFill{GrayLevel[0],GrayLevel[1]},DisplayFunctionIdentity];
:الخیار GrayLevel[1],GrayLevel[0]
. االبیضومن اسفل باللون االسودیؤدى الى ظھوراالجزاء المقطوعة للسطح من اعلى باللون
aa6=Plot3D[Sin[x y],{x,0,4},{y,0,4} ,ClipFill{GrayLevel[1],GrayLevel[0]},DisplayFunctionIdentity];
:ؤدى الى تظلیل السطح وفقا للمعادلة یاالمر التالى
GrayLevel[(x+y)/8
aa7=Plot3D[{Sin[x y],GrayLevel[(x+y)/8]},{x,0,4},{y,0,4},DisplayFunctionIdentity];
:ؤدى الى تظلیل السطح وفقا للدالة یاالمر التالى
GrayLevel [Abs[y]/5]
١١٣
aa8=Plot3D[{Sin[x y],GrayLevel[Abs[y]/5]},{x,0,4},{y,0,4},DisplayFunctionIdentity];
:ؤدى الى تظلیل السطح وفقا للدالة یاالمر التالى GrayLevel [Abs[x]/5]
aa9=Plot3D[{Sin[x y],GrayLevel[Abs[x]/5]},{x,0,4},{y,0,4},DisplayFunctionIdentity];
Show[GraphicsArray[{{aa1,aa2,aa3},{aa4,aa5,aa6},{aa4,aa5,aa6}}]]
GraphicsArray
رسم منحنیات المستوى لدوال فى متغیرین
f(x,y)=C تحقق المعادلة xy هى منحنیات فى المستوى f(x,y) للدالة Curves Level منحنیات المستوى . ثابت C حیث بطریقة خطوط الكونتور تسمى ایضا خریطة لمقاطع السطح منحنیات المستوى
0 1 2 3 401234
-0.5-0.2500.250.5
0 1 2 3
0 1 2 340
1234
-1-0.500.51
0 1 2 3
0 1 2 340
1234
-1-0.500.51
0 1 2 3
0 1 2 3 401234
-0.5-0.2500.250.5
0 1 2 3
0 1 2 340
1234
-1-0.500.51
0 1 2 3
0 1 2 340
1234
-1-0.500.51
0 1 2 3
01 2 3
401234
-1-0.500.51
01 2 3
01 2 3
401234
-1-0.500.51
01 2 3
0 1 2 3 401234
-0.5-0.2500.250.5
0 1 2 3
١١٤
:منحنیات مستوى للدالة ل رسومعدة یقدم برنامج الماثیماتیكا
f (x,y),a x b,c y d
,ContourPlot[f[xوذلك باستخدام االمر y],{x,a,b},{y,c,d}].
:یمكن الحصول علیها كالتالى ContourPlotالمعلومات عن
??ContourPlot
Options[ContourPlot]
{AspectRatio1,AxesFalse,AxesLabelNone,AxesOriginAutomatic,AxesStyleAutomatic,BackgroundAutomatic,ColorFunctionAutomatic,ColorFunctionScalingTrue,ColorOutputAutomatic,CompiledTrue,ContourLinesTrue,Contours10,ContourShadingTrue,ContourSmoothingTrue,ContourStyleAutomatic,DefaultColorAutomatic,DefaultFont$DefaultFont,DisplayFunction$DisplayFunction,Epilog{},FormatType$FormatType,FrameTrue,FrameLabelNone,FrameStyleAutomatic,FrameTicksAutomatic,ImageSizeAutomatic,PlotLabelNone,PlotPoints25,PlotRangeAutomatic,PlotRegionAutomatic,Prolog{},RotateLabelTrue,TextStyle$TextStyle,TicksAutomatic
}
:تظلل اال عند استخدام الخیار ContourPlotكل
ContourShading False
ل مثا
:منحنیات مستوى للدالة عدةارسم
ContourPlotf, x, xmin, xmax, y, ymin, ymax generates a contour plot
AxesOriginAutomatic,AxesStyleAutomatic,BackgroundAutomatic,
Automatic,CompiledTrue,ContourLinesTrue,Contours10,ContourShadingTrue,
Automatic,DefaultFont$DefaultFont,DisplayFunction$DisplayFunction,Epilog,Automatic,FrameTicksAutomatic,ImageSizeAutomatic,PlotLabelNone,
,RotateLabelTrue,TextStyle$TextStyle,TicksAutomatic
١١٥
f (x,y) xsiny ysin x
0 المنطقةوذلك فى x 5 ,0 y 5
:الحل
الخیــــــــــار .fوذلــــــــــك لتولیــــــــــد منحنیــــــــــات مســــــــــتوى للدالــــــــــة ContourPlotاالمــــــــــرســــــــــوف نســــــــــتخدم PlotPoint s 60 فى االتجاهین للرسم نقطة عینة 60سوف یستخدم للحصول علىx,y.
f[x_,y_]:=x Sin[y]+y Sin[x] ContourPlot[f[x,y],{x,0,5},{y,0,5},PlotPoints60]
ContourGraphics
Contoursاالن ســوف نضـــیف الخیـــار 20 20الســابق والـــذى یـــؤدى الـــى الحصـــول علــى للمثـــال contour )الخیار . )كونتورContoursShading False الخیار.الرسم سوف یؤدى الى عدم تظلیل
Axes Automatic الخیـار.سوف یؤدى الى وجـود المحـاورFrame False سـوف یـؤدى الـىAxesOriginalالخیـار .عدم وجود اطار للرسـم {0,0} الخیـار .(0,0)یجعـل تقـاطع المحـاور عنـد
PlotPoint s 120 فى االتجاهین 120یؤدى الى ان عدد نقاط العینةx,y.
Clear[f] f[x_,y_]:=x Sin[y]+y Sin[x] ContourPlot[f[x,y],{x,0,5},{y,0,5},PlotPoints120,Conto
0 2.5 5 7.5 10 12.5 150
2.5
5
7.5
10
12.5
15
١١٦
urShadingFalse,Axes->Automatic,AxesOrigin{0,0},FrameFalse,Contours20]
ContourGraphics
ل مثا
:عدة منحنیات مستوى للدالة ارسم
2 2f (x, y) x 4x y 2y 5
2 المنطقةوذلك فى x 6, 3 y 5
:الحل
الخیار .fمنحنیات مستوى للدالة عدة وذلك لتولید ContourPlotسوف نستخدم االمرPlotPoint s 60 نقطة عینة فى االتجاهین 60سوف یستخدم للحصول علىx,y وذلك الیجاد الرسم
Clear[f]
ContourPlot[f[x,y],{x,-2,6},{y,-3,5},PlotPoints60,ContourShadingFalse]
2.5 5 7.5 10 12.5 15
2.5
5
7.5
10
12.5
15
fx_, y_: x24xy2 2y5
١١٧
ContourGraphics
ل مثا
: الدائرة ة ارسم
2 2x 4x y 2y 5 9
2 المنطقةوذلك فى x 6, 3 y 5
:الحل
2لرسم الدائرة 2x 4x y 2y 5 9 2والتى هى نفس الدائرة 2 2(x 2) (y 2) 3
2 رسم اى ان 2x 4x y 2y 5 9 منحنى المستوى للدالة یمثلf (x, y) اى 9والمقابل الى
f (x,y) 9.
وذلك لرسم المنحنى الخاص وذلك باستخدام الخیار ContourPlotسوف نستخدم االمرContour {9} 9والذى یحدد ان الكونتور یقابل
Clear[f]
-2 0 2 4 6
-2
0
2
4
١١٨
ContourPlot[f[x,y],{x,-2,6},{y,-3,5},PlotPoints120,ContourShadingFalse,Axes->Automatic,AxesOrigin{0,0},FrameFalse,Contours{9}]
ContourGraphics
سوف نستخدم الخیار
Contours9 ).كنتورات 9( منحنیات مستوى9حیث یؤدى الى الحصول على
والذى یختلف عن الخیار
Contours{9 } السابق.)كنتور واحد ( واحدمستوى ىمنحنالى الحصول على ادى والذى
ContourPlot[f[x,y],{x,-2,6},{y,-3,5},PlotPoints120,ContourShadingFalse,Axes->Automatic,AxesOrigin{0,0},FrameFalse,Contours9]
fx_, y_: x24xy2 2y5
-2 2 4 6
-2
2
4
١١٩
ContourGraphics
:باستخدام الخیار التالى
Contour {4,9,16,25} 4,9,16,25نحصل على كنتورات تخص
Clear[f]
ContourPlot[f[x,y],{x,-2,6},{y,-3,5},PlotPoints120,ContourShadingFalse,Axes->Automatic,AxesOrigin{0,0},FrameFalse,Contours{4,9,16,24}]
ل مثا
ثم ارسم عدة منحنیات مستوى لهذه الدالة fالدالة ارسم
2 2
2 2
x yf (x,y)x y
2 المنطقةوذلك فى x 2, 2 y 2
-2 2 4 6
-2
2
4
fx_, y_: x24xy2 2y5
١٢٠
:الحل
fفى الرسم التالى فان برنامج الماثیماتیكا ال یستطیع حساب (0,0) ومع ذلك لم تظهر رسالة خطا بالرغم من
x=0,y=0 من ان الدالة غیر معرفة عند Clear[f]
aa1=Plot3D[f[x,y],{x,-2,2},{y,-2,2},PlotPoints30,ShadingFalse,DisplayFunctionIdentity] SurfaceGraphics aa2=ContourPlot[f[x,y],{x,-2,2},{y,-2,2},FrameFalse,Axes->Automatic,AxesOrigin{0,0},PlotRange{1,-1},PlotPoints60,ContourShadingFalse,DisplayFunctionIdentity] ContourGraphics Show[GraphicsArray[{aa1,aa2}]]
GraphicsArray
Parametric Plotsرسم الدوال البارامتریة )١-٣( y=f(x) وحیدة القیمة فان المعادالت التى على الصورة f(x)اذا كان دالة .للتبسیط سوف نوضح رسم الدوال البارامتریة
ف اق التعری ى نط داثى ، تصف منحنیات فى المستوى یقطعھا اى خط راسى مرة واحدة فقط ف ون yواالح ل نقطة یك لكتھا بسھولة باستخدام ولكن توجد منحنیات اكثر تعقید xدالة فى االحداثى ا تضاعف نفسھا ومثل ھذه المنحنیات یمكن دراس
رx=g(t) y=h(t),مثل tدوال فى متغیر اخر x,y الصورة البارامتریة ویتم ذلك بجعل المتغیرات ة للمتغی ین tوكل قیم تعتكون منحنى والمعادلتان (g(t),h(t))فئة جمیع النقط . xyیمكن اعتبارھا احداثیات نقطة فى المستوى x,yقیمة للمتغیرات
,x=g(t) y=h(t)تسمیات المعادالت البارامتریتان للمنحنى والمتغیر t بارامتر یسمى. ا م ھن االمر الذى یستخدم فى الرس :ھو
: ParametricPlot[{x[t], y[t]},{t,a,b}
ContourGraphics
fx_, y_: x2 y2
x2 y2
-2-1 0
12-2
-1012
-1-0.500.51
-2-1 0
1
-2 -1 1 2
-2
-1
1
2
١٢١
ل مثا
المنحنى الذى معادالتة البارامتریتانارسم
2x t 1,y t, 3 t 3
:الحل
Graphics
ة دینا الدال ت ل م اذا كان ح الرس وف نوض zاالن س f (x, y) رین ى متغی ة ف ھولة .اى دال تھا بس ن دراس یمك
رات ل المتغی ك بجع تم ذل ة وی ورة البارامتری تخدام الص ر x,y,zباس ر اخ ى متغی ث tدوال ف حی
x g(t),y h(t),z w(t) ر رات tوكل قیمة للمتغی ة للمتغی ین قیم ى و x,y,zتع ذى یستخدم ف ر ال االم :الرسم ھنا ھو
: ParametricPlot3D[{x[t], y[t], z(t)},{t,a,b}
ل مثا
: ارسم
x cos2ty sin 2t ,0 t 8
tz5
ParametricPlott21, t, t, 3, 3
2 4 6 8
-3
-2
-1
1
2
3
١٢٢
: و
x t cos2ty tsin 2t ,0 t 8
tz5
.معا
:الحل
Graphics3D
Graphics3D Show[GraphicsArray[{aa1,aa2}]]
GraphicsArray
aa1 ParametricPlot3DCos2t, Sin2t, t5, t, 0, 8
, PlotPoints 120, Ticks None, DisplayFunction Identity
aa2 ParametricPlot3DtCos2t, tSin2t, t5, t, 0,8
, PlotPoints 120, Ticks None, DisplayFunction Identity
١٢٣
الفصل الرابع
مواضیع فى الجبر
١٢٤
ریة على التعبیراتبالعملیات الج )١-٤(
علـى .العملیـات الجبریـة القیاسـیة التـى تجـرى علـى التعبیـرات الریاضـیة برنـامج الماثیماتیكـا فى هذا البنـد یتنـاول :سبیل المثال
قـد یكـون كثیـرة الحـدود ویقـوم expressionالتعبیـر . یقـوم بتحلیـل التعبیـر Factor[expression]االمـر .االمر بتحلیلة الى قوى صحیحة
ل الضـــرب والقــوى الصـــحیحة الموجبــة فـــى البســـط یقـــوم بایجــاد مفكـــوك حاصــ Expand[expression]االمــر . expressionللتعبیر
. expressionیقوم بتوحید المقامات للكسور الموجودة فى التعبیر Together[ expression]االمر
باصـغر عــدد ممكـن مــن expressionیقــوم بایجـاد صــورة مبسـطة للتعبیــر Simplify[expression]االمـر .االجزاء
? Expandنكتـب Expandللحصول على المعلومات االساسـیة عـن تلـك االوامـر ، علـى سـبیل المثـال لالمـر :ویتم تنفیذة كالتالى
?Expand
نحصل على النافذة Help Browserمن القائمة الرئیسیة للبرنامج ثم الضغط على Help او الضغط على
. نحصل على شرح لالمر وامثلة Go فى الخانة االمشار الیها بالسهم والضغط على Expandالتالیة وبكتابة
Expandexpr expands out products and
positive integer powers in expr. Expandexpr, patt leaves unexpanded any parts ofexpr that are free of the pattern patt.More…
١٢٥
ل مثا
حلل كثیرة الحدود) ا ( 2 212x 27xy 84y فك االقواس للتعبیر ) ب (الى عواملها:
3(x y) (2x y) ) وحد المقام) ج 2
2
4 xx 6
) المطلوب تبسیط التعبیر ) د:2
2
x 1x 3x 1
:الحل
.الى عواملھا 2 212x 27xy 84y الحدودلتحلیل كثیرة Factor )ا ( دم االمرف نستخسو لتمثیل حاصل الضرب yو xبین * ال بد من التاكد من وجود المسافة او Factorعند ادخال االمر
: yفى xتمثل حاصل ضرب x*y او x yتمثل تعبیر بینما xyحیث
3 (4 x-7 y) (x+4 y)
:كالتالى Expand نستخدم االمر 3(x y) (2x y) لفك االقواس للتعبیر ) ب (
. Factor ھنا یعتبر عكس االمر Expand حیث االمر
Factor12x227x y84y2
Expandx y32x y2x4 5x3y 3x2y2 xy3 y4
١٢٦
:
2
2
4 xx 6
سوف نستخدم Together لتوحید المقامات فى ) ج (
لتبسیط شكل التعبیر Simplifyسوف یستخدم االمر ) د (2
2
x 1x 2x 1
ل مثا
اوجد مفكوك n
n k n k
kk(a b) a b ,n 2,3,4
:الحل
Expand[(a+b)^2]
Expand[(a+b)^3]
Expand[(a+b)^4]
فى القائمة File وذلك بالضغط على السابق الكالم عنهاویمكن الحصول على معلومات اكثر عن االوامر من القائمة الفرعیة AlgebraicManipulationثم الضغط على Palettes الرئیسیة للبرنامج ثم الضغط على
مر جاهز كما یتضح من الشكل التالى عند الرغبة فى اختیار فتظهر القائمة التالیه والتى یمكن اختیار منها اال :والموضح بالسهم Factorاالمر
Together 4x2
x2
6
24 x4
6x2
Simplify x21x22x1
1 x
1x
a2 2ab b2
a3 3a2b 3ab2 b3
a4 4a3b 6a2b2 4ab3 b4
١٢٧
ل مثا
2x المطلوب تبسیط التعبیر 2x 1
:الحل
:اوال نكتب التعبیر
فى نافذة البرنامج ثم نقوم بتحدید التعبیر
ثم الضغط على Palettes فى القائمة الرئیسیة لنافذة البرنامج ثم الضغط على File نحرك المؤشر الى AlgebraicManipulation من القائمة الفرعیة فتظهر القائمة السابقة ونضغط علىSimplify
:وعندئذن فان البرنامج یبسط التعبیر كالتالى
:Simplifyهذا ویمكن الحل كالتالى وذلك بكتابة االمر
Simplifyx22x11 x2
١٢٨
:اخرى معرفة فى الجدول التالى هناك اوامر باالضافة الى االوامر السابقة
الصیغة العامة لالمر العمل الذى یقوم به االمرایجاد مفكوك حاصل الضرب والقوى الصحیحة
expressionالموجبة الموجودة فى كل اجزء التعبیر ExpandAll[expression]
على صورة expressionكتابة التعبیر الكسرى مجموع لكسورة الجزئیة
Apart[expression]
فى كثیرة الحدود formالحصول على معامل expression
Coefficient[expression,form]
فى formالحصول على اكبر قوى للمقدار expression التعبیر
Exponent[expression,form]
expression الحصول على البسط فى التعبیرNumerator [expression]
expression الحصول على المقام فى التعبیرDenominator [expression]
مع اھمال الجزء qعلى pایجاد خارج قسمة xكثیرات حدود فى المتغیر p,qالباقى حیث
PolynomialQuotient [p,q,x]
qعلى pایجاد الجزء الباقى من خارج قسمة xكثیرات حدود فى المتغیر p,qحیث
PolynomialRemainder [p,q,x]
یحلل البسط والمقام للتعبیر ویحول التعبیر expression الىlowest term
Cancel [expression]
فى xجمع الحدود التى تحتوى على نفس قوى التعبیر
Collect[ expression,x]
:السابقة الذكر االوامر علیه بعض للتعبیر التالى سوف نطبق
2
2
(x 1) (x 3)(x 4)(x 2)
تعبیرلل كل البسطاالمر التالى یقوم بایجاد مفكوك حاصل الضرب والقوى الصحیحة الموجبة الموجودة فى :السابق
١٢٩
االمر التالى یقوم بایجاد مفكوك حاصل الضرب والقوى الصحیحة الموجبة الموجودة فى كل اجزء التعبیر
:السابق
:على صورة مجموع لكسورة الجزئیة تجمیع التعبیر الكسرىب االمر التالى یقوم السابق
:فى التعبیر السابق x االمر التالى یقوم بتجمیع الحدود التى تحتوى على نفس قوى
: فى التعبیر السابق نستخدم االمر التالى y للحصول على معامل
:فى التعبیر السابق نستخدم االمر التالى y للحصول على اكبر قوى للمتغیر
1
:نستخدم االمر التالى للحصول على البسط فى التعبیر السابق
Expandx12x3
x4x22
32x2 4 x
7x
2 x24 x
5x2
2x2 4 x
x3
2 x24 x
ExpandAll x12x3
x4x22
3
16 12x x3
7x
16 12x x3
5x2
16 12x x3
x3
16 12x x3
Apart x12x3
x4x22
115
22 x2
21
42 x
1
44 x
Collect x12y3
x4x22, y
31x2
2x2 4 x
1 x2y2 x24 x
Coefficient x12y3
x4x22, y
1x2
2x2 4 x
Exponentx12y3
x4x22, y
١٣٠
:ستخدم االمر التالىق نفى التعبیر الساب المقامللحصول على
:فى البرنامج كالتالى p,q تعریف كثیرة الحدود بفرض انھ تم
4+x
:نستخدم االمر التالىمع اهمال الجزء الباقى q على p الحدود ةیجاد خارج قسمة كثیر ال PolynomialQuotient[p,q,x] -2+x
q نستخدم االمر التالى: على كثیرة الحدود p للحصول على الجزء الباقى من خارج قسمة كثیرة الحدود
PolynomialRemainder[p,q,x] 9
lowestالبسط والمقام للتعبیر ویحول التعبیر الى یحلل والذى cel Canباالضاف الى االوامر التالیة ھناك امر term وسوف نوضحه بالمثال التالى:
تقدیر التعبیرات
الصیغة العامة لكتابة . قاعدة ما علیھ ، اى تقدیره فى بعض االحیان نحتاج الى وضع قید على تعبیر معین وذلك باستخدام :التعبیرھى
Expression/.Rule[ihs,rhs]
:دالة القاعدة تكتب فى صیغة االدخال كالتالى
ihs->rhs
لتقدیر 2
2
x 1x 2x 1
x=-2,x=4,عند
Numerator x12y3
x4x22
1 x2 3 y
Denominator x12y3
x4x22
2 x24 x
p x12;q x4
Cancel x21x22x1
1 x
1x
١٣١
aa1/.x4
aa1/.x-2
x=4,x=-2لتقدیر التعبیر عند ./ ثم استخدم aa1حیث تم اوال تسمیة التعبیر باالسم
عملیات الجمع على الحدود المنتظمة )٢-٤(برنامج الماثیماتیكا قادر على ذلك من خالل . حساب مجموع حدود المتسلسلة نحتاج الى الریاضیة فى كثیر من المسائل
.االدخال او الصیغ القیاسیة صیغ الصیغ المختلفة لھذا االمر سواء وفیما یلى Sumاالمر
الصیغة القیاسیة InputFormصیغة االدخال العمل الذى یقوم بهStandardForm
حساب المجموع i max
i 1f
Sum[f,{i,max}] i max
i 1
f
حساب المجموع i max
i minf Sum[f,{i,min,max}] i max
i i min
f
حساب المجموعi
f من
imin
بخطوة imaxالى stepمقدارها
Sum[f,{i,min,max,step}] ال یوجد
aa1x21
x22x11x2
1 2x x2
5
3
1
3
١٣٢
حساب المجموعjmaxi max
i i min jminf
Sum[f,{i,min,max },{j,min,max },]
jmaxi max
i i min jminf
فى الموجود Fileوذلك بالضغط على االمر الرمز یستخدم للحصول على الصیغة القیاسیة : Paletteالتالیة نختار االمر File ومن القائمة الرئیسیة لالمرلبرنامج نافذة ا
١٣٣
:BasicInputفتظهر القائمة الفرعیة التالیة ونضغط على االمر
و الموضح بالسهم الرمزنافذة الرئیسیة للبرنامج وبالضغط على لا فى القائمة التالیة فتظهر ).الماوس(البرنامج فى المكان المحدد سابقا بمؤشر الفارة نافذةینقل الى
١٣٤
من القائمة الرئیسیة لنافذة Help وذلك بالضغط على الرمز ویمكن الحصول على معلومات عنفى الخانة المشار الیها Sumكتابة بو نحصل على النافذة التالیة Help Browserالبرنامج ثم الضغط على
. شرح لالمر وامثلة نحصل على Goاالمر بالسهم والضغط على
١٣٥
:فى نافذة البرنامج ثم تنفیذ االمر فنحصل على Sum ?ویمكن الحصول على معلومات عن امر الجمع بكتابة
?Sum
مثال
المطلوب حساب10
i 1i
:الحل
Sum[i,{i,1,10}] 55
i m i n , i m a x s t a r t s w i t h i
s u m o v e r m u l t i p l e i n d i c e s . M o r e …
١٣٦
مثال
) ا : (كل ممـا یـاتى المطلوب حساب 3
2i 1
1i
) ب ((x i) step=2بخطـوة i=7الـى i=1مـن
) ج (
7
i 1x ^ i / i!
)د(
5 ii j
i 1 j 1
x y
:الحل
سوف یتم حساب ) ا (3
3i 1
1i
:بصیغة االدخال ثم بالصیغة القیاسیة كالتالى
Sum[1/i^2,{i,3}]
x) سوف یتم حساب ) ب ( i) منi=1 الىi=7 بخطوةstep=2 كالتالى:
Sum[x+i,{i,1,7,2}] (1+x) (3+x) (5+x) (7+x)
:كالتالى بصیغة االدخال
7
i 1x ^ i / i!
سوف یتم حساب ) ج (
Sum[x^i/i!,{i,7}]
:او بالصیغة القیاسیة
49
36
i1
3 1i2
49
36
xx2
2x3
6x4
24
x5
120
x6
720
x7
5040
i1
7xi
i
١٣٧
:بصیغة االدخال كالتالى 5 i
i j
i 1 j 1
x y یتم حساب ) د(
Sum[(x^i)*(y^j),{i,1,5},{j,1,i}]
:او بالصیغة القیاسیة كالتالى
مثال
2) ا: (كل مما یاتى المطلوب حساب i 1
14i 8i 4
)4) بi
i 1x
)ج(
i
2
ii 1
22
:الحل
2سوف یتم حساب ) ا (i 1
14i 8i 4
:بصیغة االدخال ثم بالصیغة القیاسیة كالتالى
Sum[1/(4i^2+8i+4),{i,1,Infinity}]
xx2
2x3
6x4
24
x5
120
x6
720
x7
5040
xy x2 y x3 yx4 y x5y x2y2 x3 y2 x4y2
x5y2 x3 y3 x4y3 x5 y3 x4 y4 x5y4 x5 y5
x55y35
i1
5j1
ixiyj
xy x2 y x3 yx4 y x5y x2y2 x3 y2 x4y2
x5y2 x3 y3 x4y3 x5 y3 x4 y4 x5y4 x5 y5
1
246 2
i1
14i2 8i4
1
246 2
١٣٨
4iسوف یتم حساب ) ب (
i 1x
بصیغة االدخال ثم بالصیغة القیاسیة كالتالى:
Sum[x^(4i),{i,1,Infinity}]
سوف یتم حساب ) ج (
i
2
ii 1
22
بصیغة االدخال ثم بالصیغة القیاسیة كالتالى:
Sum[(2^(i/2))/(2^i),{i,1,Infinity}]
عملیات الضرب على الحدود المنتظمة )٣-٤(برنامج الماثیماتیكا قادر على .نحتاج الى عملیات الضرب على الحدود المنتظمة الریاضیةفى كثیر من المسائل
او باستخدام InputForm)صیغة االدخال ( Productحساب ذلك باستخدام بعض االوامر حیث یستخدم االمر
الموجود فى صف القائمة الرئیسیة للبرنامج ثم نختار من Fileوذلك بالضغط على االمر الرمز :التالیة File من القائمة الرئیسیة لالمر Paletteالقائمة االمر
x4
1 x4
i1
x4i
x4
1 x4
222
i1
2i2
2i
222
١٣٩
:BasicInputفتظهر القائمة الفرعیة التالیة ونضغط على االمر
و الموضح بالسهم الرمزنافذة الرئیسیة للبرنامج وبالضغط على لفحصل على القائمة التالیة على ا .البرنامج فى المكان المحدد سابقا نافذةینقل الى
١٤٠
من القائمة الرئیسیة لنافذة البرنامج Helpوذلك بالضغط على الرمز ویمكن الحصول على معلومات عنفى الخانة االمشار الیها Productكتابة بو فنحصل على النافذة التالیة Help Browserثم الضغط على
. شرح لالمر وامثلة نحصل على Go االمر بالسهم والضغط على
١٤١
فى نافذة البرنامج ثم تنفیذ االمر فنحصل product?بكتابة Productویمكن الحصول على معلومات عن امر الضرب
:على
?Product
Productf, i, imax evaluates the product of
the expressions f as evaluated for each ifrom 1 to imax. Productf, i, imin, imaxstarts with i imin. Productf, i, imin,
imax, di uses steps di. Productf, i,imin, imax, j, jmin, jmax, ... evaluatesa product over multiple indices.More…
١٤٢
تستخرج حیث فى الجدول التالى ھموضحسواء صیغ االدخال او الصیع القیاسیة الصیغ المختلفة المر الضرب
.من نفس القائمة التى استخدمناھا فى الحصول على
الصیغة القیاسیة InputFormصیغة االدخال العمل الذى یقوم بهStandardForm
حاصل الضرب حسابi max
i 1
f
Product[f,{I,max}] i max
i 1
f
حساب حاصال الضرب i max
i i min
f
Product[f,{I,min,max}] i max
i i min
f
حساب حاصل الضرب
if منimin
بخطوة imaxالى stepمقدارها
Product[f,{I,min,max,step}] ال یوجد
حساب حاصل الضربjmaxi max
i i min jmin
f
Sum[f,{I,min,max },{j,min,max },]
jmaxi max
i i min jmin
f
مثال
) ا : ( ما یاتى المطلوب حساب 3
2i 1
1i
) ب ((x i) step=2بخطوة i=7الى i=1من
) ج (
7
i 1
x ^ i / i!) د (
5 ii j
i 1 j 1
x y
١٤٣
:الحل
لحساب حاصل الضرب ) ا (3
3i 1
1i
Product[1/i^2,{i,3}]
x) لحساب حاصل الضرب ) ب ( i) منi=1 الىi=7 بخطوةstep=2 :
Product[x+i,{i,1,7,2}] (1+x) (3+x) (5+x) (7+x)
7
i 1
x ^ i / i! لحساب حاصل الضرب) ج (
Product[x^i/i!,{i,7}]
5 i
i j
i 1 j 1
x y لحساب حاصل الضرب) د (
Product[(x^i)*(y^j),{i,1,5},{j,1,i}]
1
36
i1
3 1i2
1
36
x28
125411328000
i1
7xi
i
x28
125411328000
١٤٤
الحلول المضبوطة والتقریبیة للمعادالت )٤-٤(
Exact Solution of Equations الحلول المضبوطة للمعادالت باستخدام برنامج الماثیماتیكا یمكن الحصول على حلول مضبوطة لعدید من المعادالت واالنظمة من
تكتب المعادالت فى .او اقل الخامسةبوطة لمعادالت كثیرة الحدود من الدرجة ضالمعادالت بما فیها الحلول الم: البرنامج على الصورة التالیة
یوضع بین"==" حیث الرمز الطرف االیسر left-hand side و left-hand side==right-hand side . right-hand side االیمن الطرف: تكتب فى البرنامج على الشكل التالى المعادلةفعلى سبیل المثال 7=4+3
4+3==7 دالت فى الماثیماتیكا تعامل ااى ان المع. وهو یعنى اختبار ما اذا كان الطرف االیمن یساوى الطرف االیسر
: منطقیة فمثال عند ادخال المعادلة عالقاتعلى انھا 4+3==7
:یكون صواب كما یلى فان الناتج 4+37 True
:وعند ادخال المعادلة 2x 4x 3 2
:اذا كانت المعادلة اطیع اختبار متفان البرنامج یخرجھا كما ھى النھ لم یس 2x 4x 3 2
x صواب او خطا وذلك لعدم وجود قیمة مسبقة للمتغیر
:االمر Solve[lhs rhs,x]
lhs rhs ةیحل المعادل Solve[lhsایضا االمر . xفى rhs] یحل المعادلةlhs rhs فىx
lhs المجهول الوحید فى المعادله xاذا كان rhs ، 4وعلى ذلك لحل المعادلةx+3=6
Solve[4xكال االمرین 3 6],Solve[4x 3 6,x] یعطیان نفس النتیجة.
x55y35
i1
5j1
ix^iy^j
x55y35
x24x3 63 4x x2 6
١٤٥
عدة امثلة الحصول على وایضاSolveللحصول على معلومات عن االمر Help Browserسوف نستخدم االمر
: النافذة التالیةفى هو موضح كما
مـن اهـم المعـادالت التـى یـتم حلهـا باسـتخدام Polynomial equatiosكثیرات الحدود معادالت هذا وتعتبر . Solveاالمر
ل مثا
:حل المعادالت التالیة
2
3 2x 14x 8 10, 0,x x x 1 0x 1
:الحل
١٤٦
"=="ویجب التاكد من وجود الرمز .وذلك لحل المعادالت السابقة Solveفى كل حالة سوف نستخدم
:بین الجانب االیسر واالیمن لكل معادلة والحل هو
Solve[4x+810]
x = 0.5والذى یعنى ان الحل هو
:كالتالى Rootsكما یمكن استخدام االمر
x-1
: Rootsالصیغة العامة لالمر
Roots[lhs rhs,x]
{{x-1}}
x=-1والذى یعنى ان الحل هو
{{x-1},{x-},{x}}
xوالذى یعنى ان هناك ثالث حلول وهم 1,x i ,i 1
قــادر علــى ایجــاد حلــول صــریحة للعدیــد مــن معــادالت كثیــرات الحــدود ذات الدرجــة العالیــة خاصــة Solveاالمــر ـــــــــــــــــــــــــــى یمكـــــــــــــــــــــــــــن تحلیلهـــــــــــــــــــــــــــا ـــــــــــــــــــــــــــة المعـــــــــــــــــــــــــــادالت الت ـــــــــــــــــــــــــــال المعادل فعلـــــــــــــــــــــــــــى ســـــــــــــــــــــــــــبیل المث
2 3 4 5120 274x 225x 85x 15x x 0 یمكــــــن الحصــــــول علــــــى حــــــل صــــــریح لهــــــا :كالتالى
x 1
2
Rootsx21x1
0, x
Solvex21x1
0
Solvex3x2x1 0
١٤٧
{{x1},{x2},{x3},{x4},{x5}}
مـن الجـذور حتـى فـى حالـة وجــود nفانـه یعطـى nواذا كـان البرنـامج قـادر علـى ایجـاد حلـول لمعادلـة مـن الدرجـة :جذور مكررة كم فى المثال التالى
2(x 2)(x 1) 0 :
{{x-2},{x-1},{x-1}}
. موضع االهتمام) المتغیرات (عندما تحتوى المعادلة على اكثر من متغیر البد من تحدید المتغیر
2sinفعلى سبیل المثال الحل لـ (x) 2sin(x) 3 0
Solve[Sin[x]وعند استخدام االمر ^ 2 2sin(x) 3 0] فان البرنامج سوف یحل المعادلة فى
Sin[x] ــــد اســــتخدام االمــــر Solve[Sin[x]ولكــــن عن ^ 2 2sin(x) 3 0,x] ــــامج فــــان البرن . xسوف یحل المعادلة فى
فعلـى سـبیل المثـال . [ [ ] ]ر معینة من حل المعادلة وذلك باسـتخدام االقـواس المزدوجـة ذو یمكن الحصول على ج2االول من المعادلة ذرللحصول على الج 3 4 5120 274x 225x 85x 15x x 0
:كالتالى Solveنكتب االمر
{x1}
اوذلـك كمـ Solveوبرنامج الماثیماتیكا قادر على حل مجموعة من المعادالت فى ان واحد وذلـك باسـتخدام االمـر :یلى
الصیغة العامة لالمر العمل الذى یقوم به االمر بالنسـبة الـى جمیـع eqnsحل مجموعـة مـن المعـادالت
فـى صـورة eqnsالمتغیرات الموجودة فیهـا حیـث تكتـب { …,lh1==rh1,lh2==rh2 }قائمة
Solve[eqns]
بالنســــــبة الــــــى eqnsحـــــل مجموعــــــة المعـــــادالتكتـب فـى صـورة قائمـة ت varsحیـث varsالمتغیـرات
{x1,x2,…}
Solve[eqns,vars]
vars Solve[eqns,{vars},{elims}]ت بالنســبة الــى المتغیــراحــل مجموعــة المعــادالت
Solve120274x225x2 85x315x4x5 0
Solvex2x12 0
Solve120274x225x2 85x315x4x5 01
١٤٨
من النتائج elimsفقط وحذف المتغیرات
ل مثا
:حل النظم التالیة
2x) ا( y 5x y 4
) ب(
4x 2y 5z 72x 3y z 4x y z 1
)ج(
5x 2y 5z 72x y 4z 0
4x 2y 4z 1
)د(
2x 2y 2z 23x 2y 2z 2x 3y 3z 3
:الحل
aa1={2x-y5,x+y4} aa2=Solve[aa1,{x,y}] {{x3,y1}}
aa2 لحل نظام المعادالت والمسمى Solve وقد تم استخداماسم نظام المعادالت aa1 حیث )ا( :د من صحة النتیجة نتاكد وسوف
. x=3,y=1 یعنى ان {{x3,y1}} :االمر التالى بوضع القیم التى حصلنا علیھا من
aa1/.aa2 {{True,True}}
١٤٩
:فیما یلى ) ب(لـ الحل aa1= Solve[{4x-2y+5z7,2x+3y+z4,x+y-z1},{x,y,z}]
. x,y,z فى ثالث مجاھیل aa1 المعادلة فى االمر
) ج( Solve[{5x-2y+5z7,2x-y+4z0,-4x+2y-4z1},{x,y,z}]
:الحلول هى المتغیرات حیثلم یعطى حلول لكل النتیجة توضح ان النظام ) د (
{{x0,y-1+z}}
Solve[{-2x+2y-2z-2,3x-2y+2z2,x+3y-3z-3},{x,y,z}]
{{x0,y-1+z}}
ل مثا
:نظام التالى ال
y 2x 9x 3z 1
: فاذا تم حساب الحل بالنسبة الى x,y,z فى ثالث مجاھیل
x,y
:نحصل على التالى aa1={y-2x==9, x+3 z1} Solve[aa1,{x,y}] {{x1-3 z,y11-6 z}}
فى ثالث مجاھیل x,y,z فاذا تم حساب الحل بالنسبة الى aa1
المعادالت فى االمر
y مع حذف x
x 11
9, y
1
3, z
5
9
x 31
4, y
33
2, z
1
4
Solve ::svars : Equations may notgive solutions for all "solve " variables . More…
١٥٠
:نحصل على التالى
aa1={y-2x==9, x+3 z1} {-2 x+y9,x+3 z1} Solve[aa1,{x},{y}] {{x1-3 z}}
یمكن حذف عدد من المتغیرات من مجموعة المعادالت واعادة كتابتھا ویتم ذلك باالمر ایضا فى البرنامج :كالتالى Eliminate
aa1={y-2x==9, x+3 z1}; Eliminate[aa1,x] 11-6 zy
)او نظم المعادالت (المعادلة وفى حالة عدم استطاعة البرنامج الحصول على حلول جبریة صریحة فان البرنامج یترك
.فى صورتھا الرمزیة
كمــا ذلــك باالســتعانة بالرســم وللــنظم الغیــر خطیــة مــن المعــادالت االن ســوف نشــرح كیفیــة الوصــول الــى حلــول.یتضح من االمثلة التالیة
ل مثا
:حل النظام التالى
2 2
2 2
x y 6x 6y 8
الحل :: سوف نستخدم االمر. ellipses م للمعادلتین السابقتین عبارة عن قطوعلرسا
ContourPlot ثم استخدام االمر على التوالى aa1,aa2 لرسم كل معادلة وتسمیة النتائج
Show . للرسمتینالتقاطع الحلول للنظام السابق تمثل بنقط . ذلك الظهار الرسمتین معاو
١٥١
Show[aa1,aa2,Frame ->False,Axes->Automatic,AxesOrigin{0,0},DisplayFunction$DisplayFunction ]
Graphics
:للحصول على الحلول للنظام Solveوفى النهایة سوف نستخدم
ل مثا
:حل النظام التالى
aa1 ContourPlotx2 y26, x, 3, 3, y, 3, 3,Contours 0, ContourShading False,PlotPoints 60,DisplayFunction Identity;
aa2 ContourPlotx26y28, x, 3, 3, y, 3, 3,Contours 0, ContourShading False,PlotPoints 60, DisplayFunction Identity;
-2 -1 1 2
-2
-1
1
2
Solvex2 y2 6,x2 6y2 8
x 275, y 2
5, x 27
5, y 2
5,
x 275, y 2
5, x 27
5, y 2
5
١٥٢
2 2
2 2x y 6 , y mx ; a,b 0a b
الحل : a,b,m,x,yوالن المجاهیل فى المعادلة هم . للحصول على الحلول للنظام Solveایضا سوف نستخدم
.x,y فال بد ان نحدد فى االمر اننا نرید الحل فى
او اقــل فــان الخامســة علــى الــرغم مــن ان البرنــامج یوجــد الحــل المضــبوط الى معادلــة كثیــرة الحــدود مــن الدرجــة فى هذه الحالة فان البرنامج یمدنا بتقریبات للحلـول المضـبوطة .الحلول المضبوطة لبعض المعادالت ال تكون ذات معنى
:وذلك باستخدام اما االمر
N[expression]
: او االمر
expression // N
ل مثا
:اوجد حل تقریبى للمعادلة التالیة
3 2x 4x 1 x
الحل ::كما یلى بطریقتین سوف نوجد الحل المضبوط ثم نوجد الحل التقریبى : اوال
Solvex2
a2y2
b2 6, y m x, x, y
y
6 abm b2 a2m2
, x
6 ab b2 a2 m2
,
y6 abm
b2 a2 m2, x
6 ab b2 a2m2
Solvex34x2 1x
١٥٣
{{x3.8063},{x0.0968496 +0.503331 },{x0.0968496 -0.503331 }}
{{x3.8063},{x0.0968496 +0.503331 },{x0.0968496 -
0.503331 }}
3 ة للمعادلةدنا الحلول المضبوطجاوال او 2x 4x 1 x ثم بعد ذلك تم حساب حلول تقریبیة.
تحتـوى علــى اكثـر مـن متغیـر ولكــن لمتغیـر واحـد بداللـة المتغیــرات لـةبرنـامج الماثیماتیكـا قـادر علــى حـل معاد : االخرى
ل مثا
المعادلة حل 2rw
h
بداللةh :
الحل ::دلة تشتمل على اكثر من متغیر ولذلك ال بد من تحدید المتغیر التى سوف تحل المعادلة بداللتهاالمعهذه
x 4
31
3
119
23 597
2
13
1
3 12119 3 597
13,
x 4
31
61 3
119
23 597
2
13
1
613 1
2119 3597
13,
x 4
31
61 3
119
23 597
2
13
1
613 1
2119 3597
13
NSolvex34x2 1x
Solvex34x2 1x N
Solvew r2
h,h
١٥٤
فاننا hبدال من r ویجب ان نتذكر انھ عند الرغبة فى حل المعادلة فى .r , تاكد من وضع مسافة بین
نستخدم االمر 2 rSolve[w ,r]
h وعلى ذلك:
ل مثا
2حل المعادلة 2 2a b c بداللةa :
الحل ::دلة تشتمل على اكثر من متغیر ولذلك ال بد من تحدید المتغیر التى سوف تحل المعادلة بداللتهاالمعهذه
حلول عددیة تقریبیة للمعادالت
یمكن الحصول على حلول عددیة تقریبیة مباشرة لمعادلة او نظام من المعادالت بدون الحاجة الى ایجاد الحل
: اوامر لتقریب جذور المعادالت مثل المضبوط اوال وذلك باستخدام عدة FindRoot, NRoots, NSolve
:یستخدم االمر
NRoots :الصیغة العامة لالمر هى . كثیرة الحدود دلةااى مع للحصول على حل عددى تقریبى لجذور NRoots[poly1 poly2,x]
h r2
w
Solvew r2
h,r
r
h w
, rh w
Solvea2 b2 c2, a
a b2 c2 , a
b2 c2
r
h w
, rh w
١٥٥
:یمكن كتابة االمر السابق على الصیغة التالیة . x كثیرات الحدود فى poly1,poly2 حیث كال من NRoots[poly1 poly2,x,n]
. n معادلة كثیرة الحدود وبدقةى الى تقریبوذلك للحصول على حل .NRoots یعطى نفس نتیجة االمر NSolve االمر
یكون اكثر ) الخ...تحتوى على دوال مثلثیة او دوال اسیة او لوغاریتمیة (ایجاد حلول عددیة لمعادالت عامة . صعوبة
FindRoot االمر الیجاد انسب جذر تقریبى للمعادلة سوف نستخدم الصیغة العامة لالمرFindRoot هى :
FindRoot[lhs==rhs,{ x,firstguess}] .x= firstguess مبتدئا من النقطة lhs==rhs حیث یقوم بالبحث عن حل عددى للمعادلة
باستخدام lhs==rhs هو رسم كال من firstguess واحد من الطرق للحصول على القیمة المبدئیة .عند التقاطع x التقاطع وحساب قیم) نقط(نقطة وایجاد Plotاالمر
ل مثا
:اوجد حلول تقریبیة لمعادلة كثیرة الحدود
5 4 3 2x x 4x 2x 3x 7 0
:للحصول على حل تقریبى للمعادلة كالتالى NRoots رالن المعادلة كثیرة الحدود یمكن استخدام االم
x-2.74463||x-0.880858||x0.41452 -1.19996
||x0.41452 +1.19996 ||x1.79645 . "او "الذى یظهر فى المخرج یعنى الرمز //
.NSolve یمكن الحصول على نفس الحل مع االمر
{{x-2.74463},{x-0.880858},{x0.41452 -1.19996 },{x0.41452 +1.19996 },{x1.79645}}
وفى هذه الحالة البد من امداد .المعادلة یمكن استخدامه لتقریب كل جذر فى FindRoots اایضاالمر لـحلول ال. initial approximation االمر بنقطة البدایة
5 4 3 2x x 4x 2x 3x 7 0 :حیث الرسم x والمقابلة لقیم
5 4 3 2x x 4x 2x 3x 7 0 :لرسم Plot سوف نستخدم االمر. یقطع المحور االفقى
5 4 3 2x x 4x 2x 3x 7 0
NRootsx5x44x32x23x7 0, x
NSolvex5x44x32x23x7 0, x
Plotx5x44x32x23x7, x, 3, 2
١٥٦
Graphics
. x 2.5,x 1,x 1.5 عندیتضح لنا ان الرسم یقطع المحور االفقى قریبا
:وعلى ذلك ادخال . سوف نستخدم هذه القیم كنقط بدایة تقریبیة لكل حل
{x-2.74463}
.x=-2.5 تؤدى الى الحصول على حل تقریبي قریب من :بادخال
{x-0.880858}
.x=-1 تؤدى الى الحصول على حل تقریبي قریب من
:بادخال
{x1.79645}
.x=2تؤدى الى الحصول على حل تقریبي قریب من :یتضح من المثال التالى FindRoot تقریب لحلول نظام باستخدام االمر حصول علىال
ل مثا
اوجد تقریب لحلول النظام 2 2
2 2
x 4xy y 4,5x 4xy 2y 8
.
:الحل
-3 -2 -1 1 2
-30
-20
-10
10
20
FindRootx5x44x32x23x7 0, x, 2.5
FindRootx5x44x32x23x7 0, x, 1
FindRootx5x44x32x23x7 0, x, 2
١٥٧
Show[aa1,aa2,Axes->Automatic,AxesOrigin{0,0}, FrameFalse,DisplayFunction$DisplayFunction]
Graphics
بالتعویض فى كل من المعادلتین بالقیم . معادلتین لل (0,2),(0,-2) من الرسم یتضح ان الحلول الممكنة هى
الحلین . تیننتحقق من ان تلك النقاط تمثل الحلول المضبوطة للمعادلسوف x=0 and y=-2 and x=0,y=2
.FindRoot جاد تقریبات لهم من االمرایالباقیین یمكن
{x1.39262,y0.348155}
aa1 ContourPlotx24x y y2 4, x,4, 4, y, 4,4,PlotPoints 60, ContourShading False,Contours 0, ContourStyle Dashing0.01,DisplayFunction Identity;
aa2 ContourPlot5x24x y2y2 8, x, 4, 4,y,4, 4, PlotPoints 60,ContourShading False, Contours 0,ContourStyle Dashing0.01, DisplayFunction Identity;
-4 -2 2 4
-4
-2
2
4
FindRootx24xy y2 4, 5x24x y2y2 8, x, 1, y,.25
١٥٨
{x-1.39262,y-0.348155}
یمكن ان یستخدم فى الحصول Nsolve فان االمر NRoots و االمر FindRoot باالضافة الى االمر .على تقریبات لجذور بعض المعادالت
ل مثا
: اذا كانت3 2
2
f (x) x 8x 11x 10,x 1g(x) x3 6
. f(x)=g(x ) ـاوجد الحلول التقریبیة ل
الحل :.لتقریب الحلول للمعادلة NRoot اذا وجدا نستخدم االمر f,g للدالتین ةبعد ازالة كل التعریفات السابق
Clear[f,g]
NRoots[f[x]g[x],x] x0.605027 -1.00717 ||x0.605027 +1.00717 ||x7.12328
.NSolve وكما هو متوقع حصلنا على نفس النتیجة مع االمر NSolve[f[x]g[x],x] {{x0.605027 -1.00717 },{x0.605027 +1.00717 },{x7.12328}}
تطبیقات :الحصول على نقط التقاطع فى رسم الدوال
لتحدید امثلةهنا سوف نناقش عدة .فى العدید من االمثلة السابقة كنا نبحث عن نقط التقاطع عند رسم الدوال . نقط التقاطع عند رسم المنحنیات
FindRootx24x y y2 4, 5x24x y2y2 8, x, 1, y, .25
fx_: x38x211x10
gx_: x2
3x
16
١٥٩
ل مثا
:والتى عندها الرسمین التالیین یتقاطعان )ط انقال(نقطة الاوجد 2
2
f (x) 3x 12x 5,g(x) 2x 4x 3
الحل :
f(x),g(x) اوال سوف نرسم كل من الدالة
Clear[f,g]
Plot[{f[x],g[x]},{x,-1,5},PlotStyle{GrayLevel[0],GrayLevel[0]}]
Graphics
وسوف نحصل على الحل f(x)=g(x) سوف نحل المعادلة .مرتین وجود تقاطع للدالتین یالحظمن الرسم
.خمسة المضبوط النها معادلة كثیرة الحدود من درجة اقل من
aa1=Solve[f[x]g[x]]
aa1//N {{x0.130306},{x3.06969}} yy=f[x]/.aa1//Simplify
fx_: 3x2 12x5;gx_: 2x24x3;
-1 1 2 3 4 5
-20
-10
10
20
x 1
5836, x 1
5836
1
251366, 1
251366
١٦٠
yy//N {-3.48727,3.56727}
:یتقاطعان معا عند f,g ان رسموعلى ذلك یمكن استنتاج
(3.06969,3.56727), (0.130306, -3.48727)
NRoots او االمر ) FindRoot عند عدم الحصول على الحل المضبوط فان االمر .وذلك لتقدیر نقاط التقاطع انیستخدم )ذا كانت المعادلة على شكل كثیرة الحدودا
ل مثا
:یتقاطعان والتى عندها الرسمین التالیین )ط انقال(نقطة الاوجد
2
32
x( )
4 xf (x) ,e cos( )
5g(x) sin4
الحل :f(x),g(x) وقد وجد ان الدالتین قد تقاطعا سوف نرسم كل من الدالة : اوال
:مرتین كمایلى
Clear[f,g]
Plot[{f[x],g[x]},{x,0,5},PlotStyle{RGBColor[1,0,0],RGBColor[0,0,1]}] Graphics
fx_: Exp x42 Cos x
;
gx_: 54Sinx
32;
١٦١
. x 2.5,x 3 قریبا من تقاطعا ان المنحنین الرسم من یتضح لنا
:وعلى ذلك ادخال ،سوف نستخدم هذه القیم كنقط بدایة تقریبیة لكل حل aa1=FindRoot[f[x]g[x],{x,2.5}] {x2.54105}
y=0.461103 {x2.54105} وذلك عند وهو x=2.5 تؤدى الى الحصول على حل تقریبي قریب :والتى نحصل علیها من االمر التالى
aa2=f[x]/.aa1//Simplify 0.461103
:ادخال ا بایض aa3=FindRoot[f[x]g[x],{x,3}] {x2.9746}
:وذلك عند x=3 تؤدى الى الحصول على حل تقریبي قریب y= 0.336065
:والتى نحصل علیها من االمر التالى aa4=f[x]/.aa3//Simplify 0.336065
Listsالقوائم)٥-٤(
تستخدم القوائم فى برنامج الماثیماتیكا بشكل كبیر عندما یكون هناك حاجة الى تنظیم عدد من القیم بغرض التعامل معها الت كثیرة مثل الجبر اتتم على القوائم والجداول والتى تفید فى مج التىمبادئ العملیات البندیقدم هذا . كوحدة واحدة
.الخطى واالحصاء
1 2 3 4 5
0.5
1
1.5
2
١٦٢
القوائم تعریف )١-٥-٤(
:من العناصر تاخذ الشكل التالى nمن listالقائمة تتكون فى برنامج الماثیماتیكا
{elemene[[1]], elemene[[2]],…, elemene[[n-1]], elemene[[n]}
عادة القائمة . comma " , "فصلة العناصر فى القائمة تفصل فیما بینها . iالعنصر رقم elemene[[i]]حیث و aa1 ={4,5,6,7,8}فعلى سبیل المثال .كل قائمة فى البرنامج یجب ان یكون لها اسم . {…}تغلق بقوسین {4,5,6,7,8}= bb1 تمثالن قائمتان.
والذى یتضح من القائمة التالیة تمثل اى نوع من القیم مثل الرموز او الدوال او جمل ) القائمةعناصر (محتویات القائمة : a11والمسماه
a11=[3,dog,"read ",Pi,{5,3},{} ,Sin] {3,dog,read ,,{5,3},{},Sin}
العنصر السادس فى {}هو العنصر االخیر فى القائمة و Sinفمثال معروف ان وكل عنصر معروف موقعه فى القائمة ، .empty listالقائمة و یمثل قائمة ال تحتوى على اى عناصر وتسمى القائمة الفارغة
.ومما یجد االشارة الیه ان االوامر هنا بعض المراجع تعتبرها دوال
:التالى خذ الشكل یاللحصول على قائمة والتى List االمر ستخدم ی فى برنامج الماثیماتیكا فى الغالب
List [elemene[[1]], elemene[[2]],…, elemene[[n-1]], elemene[[n]]
:فعلى سبیل المثال
List[3,5,6,8,9] {3,5,6,8,9}
:بصیغة االدخال كالتالى بكتابتها وذلكویمكن تكوین القوائم
{1,4,6,9,10} {1,4,6,9,10}
. Arrayاو Tables القوائم من برامج اخري او یمكن تكوینها باستخدام اوامر الجداول الحصول على ویمكن
: nوعدد fبفرض دالة
:االمر
١٦٣
Table[f[i],{i,n}] كون قائمة مكوناتها ی {f[1], f[2],…, f[n] }.
:االمر
Table[f[i],{i,0,n}] كون قائمة مكوناتها ی {f[0], f[1],…, f[n] }.
: االمر
Table[f[i],{i,n,m}] كون قائمة مكوناتها ی {f[n], f[n+1],…, f[m-1], f[m]}.
:االمر
Table[f[i],{i,imin,imax,step}] ) حیث i منi=imin الىi=imax بخطوة مقدارهاistep مكوناتها قائمة تكون :كالتالى
{f[imin],f[imin+step],f[imin+2*step],…,f[imax]}.
.expressionباى تعبیر fهذا ویمكن ان تستبدل
مثال
:على سبیل المثال
Table[3k,{k,1,10,2}] {3,9,15,21,27}
: مثال اخر هناك و
Table[k,{k,1.5,6,.75}] {1.5,2.25,3.,3.75,4.5,5.25,6.}
:وهناك مثال اخر
Table[book,{5}] {book,book,book,book,book}
:وهناك مثال اخر
Table[Random[],{3}] {0.217321,0.389985,0.560344}
مثال
.المطلوب تكوین قائمة تحتوى على اول عشرة اعداد مثلثیة
١٦٤
:الحل
.Triangle numbrs لتكوین اول عشرة اعداد مثلثیة Tableاالمر نستخدمسوف
f=Sum[i,{i,1,n}]
Table[f,{n,1,10}] {1,3,6,10,15,21,28,36,45,55}
:كالتالى) وقد تسمى امر فى بعض المراجع ( Arrayویمكن استخدام الدالة
Array[f,n]
. { f[1], f[2],…, f[n]}والتى تكون القائمة
:على سبیل المثال Array[f,5] {f[1],f[2],f[3],f[4],f[5]}
:ویمكن استخدامھا كالتالى Array[f,{3,5}]
{{f[1,1],f[1,2],f[1,3],f[1,4],f[1,5]},{f[2,1],f[2,2],f[2,3],f[
2,4],f[2,5]},{f[3,1],f[3,2],f[3,3],f[3,4],f[3,5]}}
:الدالة سوف نعرف
n 1f[n _]2 2
.للحصول على القائمة Array ثم نستخدم االمر
aa2=Array[f,7]
Range االمرفیمكن تكوین قوائم االعداد باستخدام Table , Rangeاالمرین وباالضافة الى تكوین القوائم باستخدام
Range[n]تولد القائمة حیث{1,2,…,n} و
Range[ n1,n2] تولد القائمة{n1,n1+1,…,n2-1 , n2 } و
1
2n1n
fn_ n212;
1, 3
2, 2,
5
2, 3,
7
2, 4
١٦٥
Range[n1,n2 , step] من اعداد مرتبة من تولد القائمةn1 ى الn2 بخطوةstep
مثال
.{1,2,3,4,5,6,7,8,9,10}استخدم الماثیماتیكا لتولید القائمة
:الحل
فى الحقیقة كل من الخمسة اوامر التالیة تولد القائمة . عموما القائمة المعطاه یمكن تكوینها بعدة طرق {1,2,3,4,5,6,7,8,9,10}.
{1,2,3,4,5,6,7,8,9,10} {1,2,3,4,5,6,7,8,9,10} Table[i,{i,10}] {1,2,3,4,5,6,7,8,9,10} Table[i,{i,1,10}] {1,2,3,4,5,6,7,8,9,10}
{1,2,3,4,5,6,7,8,9,10} Range[10] {1,2,3,4,5,6,7,8,9,10}
مثال
}استخدم الماثیماتیكا لتولید القائمة 4, 1,2,5} .
:الحل
Range[-4,7,3] {-4,-1,2,5}
:فان الزیادة تكون واحد فى كل مرة فعلى سبیل المثال stepاذا لم تحدد القفزة
Range[4,8] {4,5,6,7,8}
مثال
استخدم الدالة Range لتولید اول عشرون عدد صحیح موجب
Tablei2, i, 2,20, 2
١٦٦
aa1=Range[20]
{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20}
مثال
.aa2باالسم {1,3/2,2,5/2,3,7/2,4}استخدم الماثیماتیكا لتولید القائمة
:الحل
.بطرق مختلفة aa2وسوف نكون aa2واالسم للقائمة الناتجة هو قائمةفى هذا المثال سوف نولد
:التالى باالضافة الى االوامر السابقة فهناك االمر
Table[g[i,j]{i,imin,imax],{j,jmin,jmax}]
aa2 1, 32, 2,
52, 3,
72, 4
1, 3
2, 2,
5
2, 3,
7
2, 4
aa2 Tablei, i, 1, 4, 12
1, 3
2, 2,
5
2, 3,
7
2, 4
١٦٧
list of listsقائمة قوائم اى نحصل على فى اكثر من بعد f تحتوى على قیم والذى یؤدى الى الحصول على قائمة :فى الشكل التقلیدى للمصفوفة باستخدام االمر المتداخلة كتابة القائمة ویمكن ).nested lists القوائم المتداخلة(
MatrixForm .
:على سبیل المثال
Table[i+j,{i,1,3},{j,1,4}] {{2,3,4,5},{3,4,5,6},{4,5,6,7}}
:والتى تختلف عن االمر التالى Table[i+j,{j,1,4},{i,1,3}] {{2,3,4},{3,4,5},{4,5,6},{5,6,7}}
.یظھر الناتج فى شكل مصفوفة TableFormوعند اضافة االمر
Table[i+j,{j,1,4},{i,1,3}]//TableForm
مثال
:نتبع التالى ,i=1,2,3,4 ; j=1,2,2,4حیث h(i,j)=i+j تحتوى على قیم الدالة aa3لتولید قائمة
h[i_,j_]:=i+j aa3=Table[h[i,j],{i,1,4},{j,1,5}] {{2,3,4,5,6},{3,4,5,6,7},{4,5,6,7,8},{5,6,7,8,9}} TableForm[aa3]
مثال
ثم وضع النتیجة Pascal's Triangleللحصول على الصفوف التسعة االولى من مثلث باسكال Tableاستخدم االمر .النهائیة فى صورة الجدول التقلیدیة
aa1=Table[Binomial[n,k],{n,0,8},{k,0,n}]; aa2=TableForm[aa1]
2 3 43 4 54 5 65 6 7
2 3 4 5 63 4 5 6 74 5 6 7 85 6 7 8 9
١٦٨
مثال
حیث Pascal's Triangleللحصول على العمود الثالث من مثلث باسكال Tableالمطلوب استخدام n
2
ووضع
:الناتج فى قائمة
:الحل
aa2=Table[Binomial[n,2],{n,1,10}] {0,1,3,6,10,15,21,28,36,45}
of Lists nDimensioالقوائم ابعاد )٢-٥-٤(
على سبیل المثال . Dimensionsودوال االبعاد Lengthالقائمة وذلك باستخدام دالة الطول sizeتقدیر حجم یمكن تعطى لنا Length functionفان دالة الطول) linearالخطیة ( un-nestedفى حالة القائمة البسیطة الغیر متداخلة
:فعلى سبیل المثال . عدد العناصر فى القائمة
Length[{a,b,c,d,e,f}] 6
.تمثل القائمة listحیث Length[list]هى Lengthالصورة العامة للدالة
وعلى ذلك فان الطول للقائمة . فان كل قائمة داخلیة تمثل عنصر nested listقوائم التى بداخلها فى حالة القائمة :لى سبیل المثال ولیس احجامها، فع inner listsالمتداخلة یمثل عدد القوائم الداخلیة
Length[{{{1,2},{3,4},{5,6}},{{a,b},{c,d},{e,f}}}] 2
11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 11 6 15 20 15 6 11 7 21 35 35 21 7 11 8 28 56 70 56 28 8 1
١٦٩
:فعلى سبیل المثال . Dimensions functionللحصول على معلومات اكثر عن القوائم الداخلیة تستخدم دالة االبعاد
Dimensions[{{{1,2},{3,4},{5,6}},{{a,b},{c,d},{e,f}}}] {2,3,2}
قائمتین داخل القائمة الرئیسیة وكل قائمة داخلیة تحتوى على ثالث قوائم وكل قائمة من الثالث قوائم والتى توضح وجود .تحتوى على عنصرین
Working with the Elements of aالقـوائم العمـل علـى عناصـر )٣-٥-٤(sList
Positions in a listالموقع فى القائمة ) أ(
.الموقع امرالموقع لعناصر خاصة فى القائمة یمكن تقدیره باستخدام
Position[{5,7,5,2,1,4},5] {{1},{3}}
.یظهر فى المكان االول والمكان الثالث من القائمة 5یوضح ان العدد اى ان المخرج
Positionیستخدم االمر rr1فى القائمة 19لمعرفة موقع العدد
rr1={1,4,6,9,19} Position[rr1,19] {{5}}
:او یكتب كالتالى
Position[{1,4,6,9,19},19] {{5}}
:فعلى سبیل المثال االوامر السابقة فىفى المخرج مفید وذلك لمنع اللبس }} {{ظهور االقواس على الشكل التالى
Position[{{a,b,c},{d,e,f}},f] {{2,3}}
. تظهر مرة واحدة فى المكان الثالث داخل القائمة الداخلیة الثانیة fوالتى تعنى ان
Extracting Elements and Rearranging Listsاستخالص عناصر واعادة ترتیب القائمة ) ب(
. Part الدالةباستخدام القائمة منیمكن استخالص العناصر بسهولة من موقع خاص . listفى القائمة iاى استخالص العنصر رقم Part[list,i] هى الدالة هلهذالصیغة العامة
یستخلص العنصر رقم ثالثة فى القائمة، فعلى سبیل المثال االمر التالى list[[i]] الدالة لها صیغة ادخال قیاسیة ههذ
١٧٠
Part[{2,3,7,8,1,4},3] 7
: للحصول على نفس نتائج list[[i]] قیاسیة الدخال االصیغة ال او باستخدام
{2,3,7,8,1,4}[[3]] 7
:للتسھیل یمكن اعطاء القائمة اسم كالتالى a={2,3,7,8,8,1,4,1} {2,3,7,8,8,1,4,1} Part[a,3] 7 a[[3]] 7
iو list[[i,j]]باستخدام الصیغة القیاسیة اذا كان اهتمامنا بالعناصر فى اكثر من موقع فانه یمكن استخالصهم j
:فعلى سبیل المثال
{2,3,7,8,1,4}[[{2,1}]] {3,2}
a[[{2,1}]] {3,2}
:لقائمة متداخلة وكمثال اخر {{1,4},{2,6},{5,4}}[[2,1]] 2 c11={{1,4},{2,6},{5,4}} {{1,4},{2,6},{5,4}} c11[[2,1]] 2
:وكمثال اخر للتوضیح aa1={1,4,5,6} {1,4,5,6} aa1[[1]] 1
یستخلص العنصر رقم واحد فى القائمة :للحصول على نفس نتائج االمر السابق Part[list,i ] او تستخدام الداله
Part[aa1,1] 1
:التالى االمر ایضا aa1[[{1,3}]] {1,5}
١٧١
.القائمة منالعنصر رقم ثالثة ویستخلص العنصر رقم واحد :یعتبر تعبیر Partاالمر
Part[{a,b,c,d,e},2] b
:كما یالحظ ان المعامل االول للتعبیر السابق یمثل نفسه تعبیر اخر :كتعبیر Partوكامثلة اخرى لالمر
Part[x+2y+z^2,3]
Part[x+2y+z^2,-3] x
عناصر اما من المقدمة او ص عناصر من اماكن خاصة فى القائمة فانة یمكن اخذ باالضافة الى انه یمكن استخال :المؤخرة للقائمة
Take[{2,3,7,8,1,4},2] {2,3}
.list من القائمة i اى استخالص العناصر االولى التى عددها Take[list,i] الصیغة العامة لهذه الدالة هى Take[{2,3,7,8,1,4},-2] {1,4}
.list من القائمة i عددهااى استخالص العناصر االخیرة التى Take[list,-i] الصیغة العامة لهذه الدالة هى :اذا كان اهتمامنا فى استخالص عدد من العناصر المتتالیة ولیس من الضرورى العناصر االمامیة او الخلفیة
Take[{2,3,7,8,1,4},{2,4}] {3,7,8}
:التالیة اى اختیار العناصر التى ترتیبها من الثانى الى الرابع والتى تختلف عن الدالة
Take[{2,3,7,8,1,4},{-5,-3}] {3,7,8}
:والتى تختلف عن الدالة التالیة اى اختیار العناصر التى ترتیبها من الخامس من الخلف الى الثالث من الخلف
Take[{2,3,7,8,1,4},{-5,4}] {3,7,8}
نستخلص عناصر Take عند استخدام الدالة .الرابع من االمام الىاى اختیار العناصر التى ترتیبها الخامس من الخلف . من القائمة وتحتفظ القائمة بعناصرها
Dropمن الممكن ازالة بعض العناصر من القائمة سواء من االمام او من الخلف او عناصر متتابعة باستخدام الدالة :قائمة بعد االزالة عبارة عن والمخرج
z2
١٧٢
Drop[{2,3,7,8,1,4},2] {7,8,1,4}
Drop[{2,3,7,8,1,4},-2] {2,3,7,8}
Drop[{2,3,7,8,1,4},{3,5}] {2,3,4}
مثال
االمر نستخدم سوف Range لتولید اول عشرون رقم صحیح موجب aa1=Range[20]
{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20}
:ثم نعرف االوامر التالیة
Drop[aa1,4]
{5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20}
aa1 القائمة بدایةاربعة عناصر من حیث یتم حذف
Drop[aa1,-4]
{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}
aa1 یتم حذف اربعة عناصر من نھایة القائمة حیث
Drop[aa1,{3}]
{1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20}
العنصر الثالث من القائمةحیث یتم حذف
Drop[aa1,{4,8}]
{1,2,3,9,10,11,12,13,14,15,16,17,18,19,20}
.حیث یتم حذف العناصر من الرابع الى الثامن من القائمة
Drop لالمروفیما یلى الصیغ المختلفة
لالمرالصیغة العامة االمرقوم به یالعمل التى
list Drop[list,n] من العناصر من بدایة القائمةn حذف
list Drop[list,-n] من العناصر من نهایة القائمةn حذف
١٧٣
list Drop[list,{n}] من القائم nالعنصر رقم حذف
nابتداء من العنصر رقم listحذف عناصر من القائمة mالى العنصر رقم
Drop[list,{m,n}]
:الزالة العنصر الثانى من القائمة كما یلى Deleteیستخدم االمر . یمكن ازالة عناصر عند مواقع خاصة
Delete[{2,3,7,8,1,4},2] {2,7,8,1,4}
وفى االمر التالى یستخدم الزالة العنصر الثانى والخامس من القائمة
Delete[{2,3,7,8,1,4},{{2},{5}}] {2,7,8,4}
9 فى Insert ، فعلى سبیل المثال الدخال العنصرنصر فى موقع معین عیستخدم الدخال ایضا االمر الموقع الثانى من القائمة
Insert[aa1,9,2]
{1,9,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20}
Insert[list,element,n] الصیغة العامة لھذا االمر ھو
.n فى الموقع رقم list فى القائمة element اى اضافة العنصر
5 فى ستبدلت فى االمر التالى فعلى سبیل المثال .یمكن استبدالھا بعناصر اخرى العناصر فى القائمة 3 بـ
:االمر التالى ReplacePart[{2,3,7,8,1,4},5,2] {2,5,7,8,1,4}
listتستخدم فى ایجاد العنصر االول فى القائمة First[list] االمر
First[{2,3,7,8,1,4}] 2
listتستخدم فى ایجاد العنصر االخیر فى القائمة Last[list] االمر
Last[{2,3,7,8,1,4}] 4
بعد حذف العنصر االول فى القائمة listتستخدم فى الحصول على القائمة Rest[list] االمر
Rest[{2,3,7,8,1,4}] {3,7,8,1,4}
اى التى تحقق الصواب عندما تطبق دالة التنبا (العناصر التى تحقق شروط معینة ضستخلص بعامر یایضا ھناك Predicate function علیھم(
Select[{2,3,7,8,1,4},EvenQ]
١٧٤
{2,8,4}
Reverseباالمر الترتیب لعناصر القائمة یمكن عكسة
Reverse[{2,3,7,8,1,4}] {4,1,8,7,3,2}
اى ان االرقام اوال ثم الحروف ، كما ان Canonical orderالعناصر یمكن اعادة ترتیبھا فى ترتیب یسمى Sortویتم ذلك باالمر االرقام ترتب تصاعدیا اما الحروف فترتب ابجدیا
Sort[{2,7,e,1,a,5}] {1,2,5,7,a,e}
على القائمة المتداخلة فان الدالة تستخدم العنصر الول فى كل قائمة متداخلة فى الترتیب ھذا االمروعند تطبیق
Sort[{{2,c},{7,9},{e,f,g},{1,4.5},{x,y,z}}] {{1,4.5},{2,c},{7,9},{e,f,g},{x,y,z}}
ترتیب عناصر القائمة بحیث یتم ترتیب االعداد تصاعدیا ثم حیث یتم Sort[list] ة لهذه الدالة الصیغة العام .list ترتیب الحروف ابجدیا فى القائمة
:كل العناصر یمكن تدویرھا حسب موقع رقم معین اما من الیسار او من الیمین كالتالى
RotateLeft[{2,e,1,a,5},2] {1,a,5,2,e} RotateRight[{2,e,1,a,5},2] {a,5,2,e,1}
اى یمكن ازالة كل االقواس والحصول على القائمة الخطیة من .امتدادات مختلفة یمكن ان نفرد القائمة المتداخلة الى :ویتم ذلك باالمر التالى العناصر
Flatten[{{{3,1},{1,2}},{{5,3},{7,4}}}] {3,1,1,2,5,3,7,4}
ان لدینا قائمتین مثال اذا ك. ازالة بعض القوائم المتداخلة یمكن على سبیل المثالف یمكن تحدید درجة االزالة ، اوالى قائمة واحدة تحتوى على اربعة ازواج مرتبة متداخلتین وكل واحدة تحتوى على زوجین مرتبین یمكن تحویلها
Flatten[{{{3,1},{1,2}},{{5,3},{7,4}}},1] {{3,1},{1,2},{5,3},{7,4}}
.خلة تعید ترتیب عناصر القائمة وذلك للحصول على قائمة متدا Partitionالدالة
Partition[{2,3,7,8,1,4},2] {{2,3},{7,8},{1,4}}
١٧٥
.فعلى سبیل المثال اخذ العناصر التى فى موقع فردى .یمكن اختیار بعض العناصر من القائمة
Partition[{2,3,7,8,1,4},1,2] {{2},{7},{1}}
.هو العنصر االول فى الزوج الذى یلیه ىالثاى رایضا یمكن وضع العناصر فى ازواج بحیث ان العنص
Partition[{2,3,7,8,1,4},2,1] {{2,3},{3,7},{7,8},{8,1},{1,4}}
:االمر :عمل كالتالى ی Transpose
Transpose[{{5,2,7,3},{4,6,8,4}}] {{5,4},{2,6},{7,8},{3,4}} Transpose[{{5,2,7,3},{4,6,8,4},{6,5,3,1}}] {{5,4,6},{2,6,5},{7,8,3},{3,4,1}}
.عناصر یمكن ان تضاف فى المقدمة او فى الخلف او فى مكان خاص فى القائمة
Append[{2,3,7,8,1,4},5] {2,3,7,8,1,4,5}
Append[list,element] االمر االصیغة العامة لھذ
. list فى نهایة القائمة element اى اضافة العنصر هذا االمر یمثل تعبیر
Append[w+xy,z] w+xy+z
ایضا المعامل االول فى التعبیر یمثل تعبیر FullForm[w+xy] Plus[w,xy]
فعلى سبیل المثال .ایضا ناتج االمر یمثل تعبیر FullForm[w+xy+z] Plus[w,xy,z]
Prepend القائمة باستخدام االمر ةایضا یمكن اضافة عناصر فى بدای
Prepend[{2,3,7,8,1,4},5] {5,2,3,7,8,1,4}
١٧٦
Prepend[list,element] ھى االمر االصیغة العامة لھذ
. list فى بدایة القائمة element اى اضافة العنصر
5 الثانى بالعنصر فعلى سبیل المثال یمكن استبدال العنصر العناصر فى القائمة یمكن احاللھا بعناصر اخرى ،
ReplacePart[{2,3,7,8,1,4},5,2] {2,5,7,8,1,4}
مثال
{1,4,6,9,19}یمكن توضیح الدوال السابقة من خالل القائمة
rr1={1,4,6,9,19} {1,4,6,9,19}
:للحصول على عدد العناصر فى القائمة
Length[rr1] 5
على العنصر االول القائمة للحصول First[rr1] 1
للحصول على العنصر االخیر فى القائمة Last[rr1] 19
الذى ترتیبھ الرابع فى القائمة للحصول على العنصر rr1[[4]] 9
rr1[[5]] Part بدال من فى القائمة باستخدام االمر الخامسللحصول على العنصر الذى ترتیبھ Part[rr1,5] 19
للحصول على العنصراالول والرابع فى القائمة rr1[[{1,4}]] {1,9}
rr1[[{1,4}]] بدال من االمر Part ویمكن الحصول على الناتج السابق باستخدام االمر Part[rr1,{1,4}] {1,9}
ةللحصول على الثالث اعداد االولى فى القائم Take[rr1,3]
١٧٧
{1,4,6} حصول على العدد الرابع والخامس فى القائمة لل
Take[rr1,{4,5}] {9,19}
للحصول على الرقمین االخیرین فى القائمة Take[rr1,-2] {9,19}
Several Lists Working withقوائم مع عدةالعمل )٤-٥-٤(
:التى تتم على القوائم والموضحة فى الجدول التالى )االوامر( دوالالهناك العدید من
الصیغة العامة للدالة العمل الذى یقوم به
ضافة القوائم على بعضها بحیث تحتوى القائمة الناتجة اعلى عدد من العناصر یساوى مجموع اعداد العناصر فى
كل قائمة
Joint[]list1,list2,…]
list1اتحاد الفئات list2 list3 ... حیث
یتم حذف العناصر المكررة فى القوائم Union[list1,list2,...]
list1تقاطع الفئات list2 list3 ... Intersec tion[list1,list2,...]
الى قوائم فرعیة متباعدة كل منها یحتوى listالقائمة تجزئة من العناصرn على
Partition [list,n]
، اى …,e1,e2بالنسبة للفئات eallایجاد مكملة الفئة والغیر موجودة فى الفئات eallایجاد العناصر فى الفئة
e1,e2,…
Complement[eall,e1,e2,…]
qq1,qq2,qq3 بفرض القوائم
qq1={a,b,c,d} {a,b,c,d} qq2={c,d, e,h} qq3={a,c,j,k} {a,c,j,k}
١٧٨
اضافة القوائم qq1,qq2,qq3 معا بحیث تحتوى القائمة الناتجة على عدد من العناصر یساوى مجموع العناصر فى كل فئة
Join[qq1,qq2,qq3] {a,b,c,d,c,d,e,h,a,c,j,k}
qq1 qq2 qq3 اتحاد الفئات حیث یتم حذف العناصر المكررة فى القوائم
Union[qq1,qq2,qq3] {a,b,c,d,e,h,j,k}
qq1 qq2 تقاطع الفئتین
qq1,qq2وتمثل فئة العناصر المشتركة فى الفئتین
Intersection[qq1,qq2] {c,d}
qq2 بالنسبة للفئة qq1 ایجاد مكمل الفئة Complement[qq1,qq2] {a,b}
Order Functions -High الدوال العالیة الرتبة )٥-٥-٤(
هذه الدوال تسمى الدوال و argumentsمحتویات لهارى كتتخذ دوال اخ االوامر تعتبر دوال وهناك عدد من وتستخدم هذه االوامر فى الحصول على قوائم باستخدام .عالیة الرتبة والتى تعتبر اداه قویة فى البرمجة
. الدوال
قیم من الجدول ال قیمة من عند كل fكون قائمة عناصرها نحصل علیها بتقدیر یوالذى Map[f,list] االمرانه اذا رویجب ان نتذك . fللدالة domainالنطاقكل عنصر فى القائمة هو عنصر فى ن والذى یؤدى الى ا
لمنع الوقوع فى اخطار ال بد من . Map[f,list]تؤدى نفس نتیجة f[ist] إن قابلة لتكوین قائمة ف fكانت قیم Map[f,list] االمروذلك قبل البدا فى استخدام fموجود فى النطاق للدالة listالتحقق ان كل كل عنصر فى
:فعلى سبیل المثال .
Map[f,{3,5,7,2,6}] {f[3],f[5],f[7],f[2],f[6]}
١٧٩
:تالیة نتعرف علیها من خالل االمثلة ال لهذا االمرهناك اشكال اخرى Map یمكن عكس ترتیب مع االمر Reverse استخدام الدالة العكسیة
العناصر فى كل قائمة من القوائم المتداخلة Map[Reverse,{{a,b},{c,d},{e,f}}] {{b,a},{d,c},{f,e}}
:العناصر فى كل قائمة متداخلة یمكن ترتیبهم Map[Sort,{{2,6,3,5},{7,4,1,3}}] {{2,3,5,6},{1,3,4,7}}
االمرفى حالة القائمة المفردة ال نحتاج الى Map ویمكن تطبیق اللوغاریتم على كل عنصر
Log[{1.2,.916,1.3}] {0.182322,-0.0877389,0.262364}
:نفس النتائج نحصل علیھا كالتالى Map[Log,{1.2,.916,1.3}] {0.182322,-0.0877389,0.262364}
سوف نرى ان التالیة دالة الغیر معرفة باستخدام g والقائمة المتداخلة فى االمر التالى g : كالتالى قوائم الداخلیةال علىتطبق
MapThread[g,{{a,b,c},{x,y,z}}] {g[a,x],g[b,y],g[c,z]}
یمكن رفع كل عنصر فى القائمة االولى الى القوى المعطاه من العنصر المقابل فى القائمة الثانیة MapThread[Power,{{2,6,3},{5,1,2}}] {32,6,9}
االمر التالى یتم عمل قائمة تضم العنصر االول من القائمة الداخلیة االولى مع العنصر االول من القائمة فىالقائمة الداخلیة الثانیة والقائمة الداخلیة الثالثةالداخلیة الثانیة مع العنصر االول من القائمة الداخلیة الثالثة وهكذا
MapThread[List,{{5,3,2},{6,4,9},{4,1,4}}] {{5,6,4},{3,4,1},{2,9,4}}
الداخلیة قوائمالكل التبادیل للعناصر فى على f تطبق الدالة Outer فى االمر Outer[f,{a,b},{2,3,4}] {{f[a,2],f[a,3],f[a,4]},{f[b,2],f[b,3],f[b,4]}}
ائمة االولى مع العنصر المقابل لھ فى القائمة الثانیةتجمع كل عنصر فى القالعملیة التالیة {4,6,3}+{5,1,2} {9,7,5}
١٨٠
)بشرط ان عدد العناصر واحدة فى كل قائمة داخلیة )
:تماثل التالیة
MapThread[Plus,{{4,6,3},{5,1,2}}] {9,7,5}
لمثا
.القیم تكعیب ثم نحصل على رقم فردیا 20اول تتكون من المطلوب تكوین قائمة
:الحل
.kkkرقم فردیا ونسمى القائمة 20لتكوین اول Tableسوف نبدا باستخدام االمر
kkk=Table[2i-1,{i,1,20}] {1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39}
3f (x) x یلى ذلك تعریف الدالة
:فى القائمة عنصرلكل f(x) لحساب Map ثم استخدام االمر
Map[f,kkk] {1,27,125,343,729,1331,2197,3375,4913,6859,9261,12167,156 25,19683,24389,29791,35937,42875,50653,59319}
:نفس النتیجة نحصل علیها من االمر f/@kkk
{1,27,125,343,729,1331,2197,3375,4913,6859,9261,12167,15625,19683,24389,29791,35937,42875,50653,59319}
ایضا نفس النتیجة نحصل علیها من االمر
f[kkk]
{1,27,125,343,729,1331,2197,3375,4913,6859,9261,12167,15625,19683,24389,29791,35937,42875,50653,59319}
.listویستخدم لجمع العناصر للقائمة Apply[Plus,list] لصیغة العامة لالمر التالى هوا
fx_: x3
١٨١
Apply[Plus,{1,4,5,3}] 13
واالمر التالى یؤدى نفس الغرض
Plus@@{1,4,5,3} 13
.Plus@@list والصیغة العامة لهذا االمر هى
:یمكن التعرف علیھم من خالل االمثلة التالیة Apply ھناك اشكال كثیرة لالمر Apply[f,List[1,4,5,3]] f[1,4,5,3]
Apply[f,{{1,2,3},{5,6,7}}] f[{1,2,3},{5,6,7}] Apply[Plus,{{1,2,3},{5,6,7}}] {6,8,10} Apply[f,{{1,2,3},{5,6,7}},2] {f[1,2,3],f[5,6,7]} Apply[Plus,{{1,2,3},{5,6,7}},2] {6,18}
یستخدم االمر لضرب العناصر فى القائمة Apply[Times,list] كالتالى
Apply[Times,{1,4,6,9,19}] 4104
Time@@listاالمر المماثل له هو Times@@{1,4,6,9,19} 4104
فى القائمة jعلى الجزء رقم fوالذى یطبق MapAt[f,list,j] مع االمر اجزاء من القائمة یمكن تقدیرها بالدوالlist ویعید القائمة:
{list[[1]],…,list[[j-1]],f[list[[j]]] وبنفس الشكل:
MapAt[f,list,{j1,j2,…,jk}]
[[j1,j2,…jk]]على القائمة fطبق الذى یو
١٨٢
ل مثا
.tt2باالسم وتسمیة القائمة الناتجة 4,4-عدد عشوائى بین 20المطلوب تولید ) أ( .الى الباقى من قسمته على واحد tt2الرابع فى القائمة العدداختزل ) ب( .اختزل كل االعداد فى القائمة الى الباقى للعدد بعد قسمتة على واحد ) ت(
:الحل
ویجب االنتباه انه . 4,4-بین عدد 20لتولید جدول من Randomو Table االمرین سوف نستخدم . فان المستخدم عند ادخال الحسابات التالیة لن یحصل على نفس النتائج Randomباستخدام االمر
tt2=Table[Random[Real,{-4,4}],{20}] {-0.55778,-1.65726,3.6507,1.88323,-2.85322,-3.06029,2.78841,3.84913,3.66665,-2.84051,1.71095,-3.65474,1.09272,-0.408193,2.92652,3.51407,1.9031,3.30308,0.0242689,3.42642}
(a modulo b) a/b Mode[a,b] من خارج قسمة یمثل الباقى االمر الدالة f تعرف الباقى من خارج قسمة x على 1 :
f[x_]:=Mod[x,1]
نستخدم االمر الى الباقى من قسمته على واحد tt2فى القائمة ) استبداله او احالله ( ل الرقم الرابع اختز ال .التالى
MapAt[f,tt2,4] {-0.55778,-1.65726,3.6507,0.883227,-2.85322,-3.06029,2.78841,3.84913,3.66665,-2.84051,1.71095,-3.65474,1.09272,-0.408193,2.92652,3.51407,1.9031,3.30308,0.0242689,3.426 42}
:نستخدم االمر التالى الى الباقى للعدد بعد قسمتة على واحد tt2 ل كل االعداد فى القائمةاختز ال
Map[f,tt2]
{0.44222,0.342744,0.650698,0.883227,0.146781,0.93971,0.788415,0.849131,0.666652,0.159493,0.710951,0.345263,0.0927212,0.591807,0.926524,0.514069,0.9031,0.303078,0.0242689,0.426423}
ل مثا
١٨٣
. علیهم Sum,Productثم حساب اعداد موجبة 100 عمل قائمة باول المطلوب
:الحل
aa1=Range[200]; Apply[Plus,aa1] 20100 Plus@@aa1 20100 N[Apply[Times,aa1]]
N[Times@@aa1]
ویمكن استخدام ، یستخدمان للجمع والضرب على التوالى Sum, Productفى هذا المثال
:بدال منهما كالتالى
Sum[i,{i,1,200}] 20100
20100 N[Product[i,{i,1,200}]]
.النهما یمثالن الجمع والضرب على القیم المنتظمة
ویمكن وضعھ فى صورة Apply[operation,list] ھو Apply الصیغة العامة لالمر
كما یتضح من یمكن عمل اختصارات لھ Map ایضا االمر . operation@@list مختصرة كالتالى :المثال التالى
ل مثا
:الحدود تتكون من ةلتمثل فئة من كثیر aa1عرف
2 2 2 215x 6x 9,14x 24x 8,8x 17x 21,4x 39x 56
7.88657867364790510374
7.88657867364790510374
i1
200i
7.88657867364790510374
Ni1
200i
7.88657867364790510374
١٨٤
aa1الحدود فى ةثیر كاوجد المجموع ) ب( لكل منهما Factorاستخدم االمر ) أ(
:الحل Clear[aa1,x]
)ا(
Map[Factor,aa1] {3 (-1+x) (3+5 x),2 (2+x) (-2+7 x),(-3+x) (7+8 x),(-8+x) (-7+4 x)} aa1//Factor {3 (-1+x) (3+5 x),2 (2+x) (-2+7 x),(-3+x) (7+8 x),(-8+x) (-7+4 x)} Factor/@aa1 {3 (-1+x) (3+5 x),2 (2+x) (-2+7 x),(-3+x) (7+8 x),(-8+x) (-7+4 x)}
)ب( Plus@@aa1
رسم قوائم من النقاط وقوائم الدوال )٦-٥-٤(
Graphing Lists of Points and Lists of Functins
:التالیة listالقائمة ان لدینابفرض
List={element[[1]], element [[2]],…, element [[n]]} فان االمر:
ListPlot[List] یرسم النقاط:
(1,element[[1]]),(2,element[[2]]) ,…,n,element[[n]])
ونرغب فى عدم اظهار كل 1000عددهم ( x , sin x)للتوضیح بفرض اننا نرغب فى رسم فئة من النقاط ولكن فى بعض Tableفى هذه الحالة سوف نضع الفاصلة المنقوطة فى نهایة االمر .النقاط فى نافذة البرنامج
والذى یظهر سطر واحد من Shortاالمر باستخدام االحیان نحتاج الى مشاهدة بعض النقاط ویتم ذلكمن العناصر nوالذى یعنى ان <<n>> یشتمل على عنصر على الشكل Shortالمخرج فى االمر . المخرجات
:المثال التالى یوضح ذلك و قد تم حذفها
aa1 15x26x9,14x2 24x8, 8x2 17x21,4x239x56;
18 38x 41x2
١٨٥
aa1=Table[N[Sin[x]],{x,1,1000}]; Short[aa1] {0.841471,998,0.82688} ListPlot[aa1]
Graphics
.قد تم حذفها 997و aa1 من القائمة ینفقط عناصر فى المخرج له نرى نافإنShort بالنسبة لالمر ف
ل مثا
.فى وظیفة ما المطلوب تمثیلها بیانیا 1998-2004تمثل البیانات التالیة عدد الموظفین خالل االعوام
عدد الموظفین السنة
1998 670
1999 690
2000 740
2001 780
2002 900
2003 870
2004 910
2004 920
:سوف نوضح الرسم بثالث طرق كالتالى :الطریقة االولى
a11={1998,1999,2000,2001,2002,2003,2004,2005} {1998,1999,2000,2001,2002,2003,2004,2005} a22={670,690,740,780,900,870,910,920} {670,690,740,780,900,870,910,920}
200 400 600 800 1000
-1
-0.5
0.5
1
١٨٦
aa3={{1998,670},{1999,690},{2000,740},{2001,780},{2002,900},{2003,870},{2004,910},{2005,920}} aa3=Transpose[{a11,a22}] {{1998,670},{1999,690},{2000,740},{2001,780},{2002,900},{2003,870},{2004,910},{2005,920}} {{1998,670},{1999,690},{2000,740},{2001,780},{2002,900},{2003,870},{2004,910},{2005,920}}
.فى ازواج aa1,a22 االمر السابق یضع قیم ListPlot[aa3]
Graphics
.م بدون خیارات سیر الرسم السابق امر
:الطریقة الثانیة
Transpose تم بطریقة مختلفة عن االمر aa3 للحصول على Map استخدام االمر : aa3 المستخدم فى الطریقة االولى للحصول على
Map[Point,aa3] {Point[{1998,670}],Point[{1999,690}],Point[{2000,740}],Point[{2001,780}],Point[{2002,900}],Point[{2003,870}],Point[{2004,910}],Point[{2005,920}]} aa4=Show[Graphics[{PointSize[0.03],Map[Point,aa3]}],AxesAutomatic]
1999 2000 2001 2002 2003 2004 2005
750
800
850
900
١٨٧
Graphics
.خیارات بم سالسابق یر الرسم مرا
:الطریقة الثالثة
ListPlot[aa3,PlotStyle->PointSize[0.03]]
Graphics
.مثل الطریقة االولى ولكن امر الرسم بخیارات
العملیات الحسابیة على قائمتیناجراء )٧-٥-٤(
ناظرة فى القائمتینتتنفیذ العملیات الحسابیة من جمع وطرح وضرب وقسمة على قائمتین یتم على العناصر الم .ویمكن توضیحة بالمثال التالى بشرط ان یكون القائمتین بهما نفس العناصر
ل مثا
: ww1,ww2بفرض ان لدینا القائمتین
1999 2000 2001 2002 2003 2004 2005
750
800
850
900
1999 2000 2001 2002 2003 2004 2005
750
800
850
900
١٨٨
ww1={1,2,3,4} {1,2,3,4} ww2={3,4,5,6} {3,4,5,6}
للقائمتین یتم بجمع العناصر المناظرة ww1,ww2 جمع القائمتین ww1+ww2 {4,6,8,10}
یتم بطرح العناصر المناظرة فى القائمتین ww1,ww2طرح القائمتین
ww1-ww2 {-2,-2,-2,-2}
یتم بقسمة العناصر المناظرة فى القائمتین ww1,ww2قسمة القائمتین
حیث یتم 10على العدد الثابت ww1ویمكن اجراء اى عملیة حسابیة بین قائمة وعدد ثابت فمثال جمع القئمة :لكل عنصر فى القائمة 10اضافة العدد
ww1+10 {1,2,3,4} {11,12,13,14}
یتم بضرب العناصر المناظرة فى القائمتین ww1,ww2ضرب القائمتین
ww1*ww2 {3,8,15,24}
فى خمسة ww1 ضرب كل عنصر فى القائمةفعلى سبیل .عدد ثابت فى ww1ضرب القائمة
5ww1 {5,10,15,20}
الى ھذا االس العددى حیث یتم رفع كل عنصر فى القائمةعددى الى اس قائمة الویمكن رفع
ww1^3 {1,8,27,64}
ویمكن رفع اى قیمة عددیة الى اس عبارة عن قائمة
4^ww1 {4,16,64,256}
ww1ww2 13,1
2,3
5,2
3
١٨٩
اس عبارة عن قائمة اخرى الى ویمكن رفع قائمة
ww1^ww2 {1,16,243,4096}
ویمكن تطبیق الدوال على القوائم حیث یتم تطبیق الدالة على كل عنصر فى القائمة
{1.,1.41421,1.73205,2.} Cos[ww1]//N {0.540302,-0.416147,-0.989992,-0.653644}
Applying Functions toصورة متكررة بتطبیق الدوال على القوائم )٨-٥-٤( Lists Repeatedly
الدالة مرة اخرى ثم تطبق الناتج على الدالة ثم تطبق) قیمة ما مبدئیة ( Argumentیمكن تطبیق الدالة على :فان aبقیمة داوتم الب gالة غیر معرفة دبفرض .لعد محدد من المرات الناتج وهكذا ،على
Nest[g,a,5] g[g[g[g[g[a]]]]]
:ترجع كل القیم الداخلیة من عملیة التداخل NestList) الدالة (االمر
NestList[g,a,5] {a,g[a],g[g[a]],g[g[g[a]]],g[g[g[g[a]]]],g[g[g[g[g[a]]]]]}
یمكن تولید القائمة 0.85والقیمة المبدئیة هى cosدالة الباستخدام
NestList[Cos,.85,10]
{0.85,0.659983,0.790003,0.703843,0.76236,0.723208,0.749687,0.731902,0.743904,0.73583,0.741274}
Cos[.85] , Cos[Cos[.85] , 85. االقائمة السابقة هماالوائل فى فعلى سبیل المثال العناصر الثالثة
فیمكن ان نرى
{.85,Cos[.85],Cos[Cos[.85]]} {0.85,0.659983,0.790003}
ww1 N
١٩٠
تطبق الدالة على ثم ،اول عنصر فى القائمة و على تطبق الدالة على القیمة المبدئیة Folderباستخدام االمر .العنصر الثالث من القائمة وهكذا عندئذ تطبق الدالة على الناتج و .والعنصر الثانى من القائمة الناتج
Fold[f,0,{a,b,c,d}] f[f[f[f[0,a],b],c],d]
Fold یمكن مشاهدة كل النتائج الوسطیة لالمر FoldList عند استخدام االمر FoldList[f,0,{a,b,c,d}] {0,f[0,a],f[f[0,a],b],f[f[f[0,a],b],c],f[f[f[f[0,a],b],c],d]}
:وذلك بالعمل مع العملیة الحسابیة التالیة یمكن بسهولة مشاهدة ما یحدث فى االمر
FoldList[Plus,0,{a,b,c,d}] {0,a,a+b,a+b+c,a+b+c+d} FoldList[Plus,0,{3,5,2,4}] FoldList[Times,1,{3,5,2,4}] {0,3,8,10,14} {1,3,15,30,120}
:یمكن معرفة كیف یعمل االمر التالى f , gباستخدام الدالتین الغیر معرفتین
Inner[f,{a,b,c},{d,e,f},g] Inner[Times,{a,b,c},{d,e,f},Plus}
: االوامر التالیةوفى النھایة
Inner[f,{a,b,c},{d,e,f},g] g[f[a,d],f[b,e],f[c,f]] Inner[Times,{a,b,c},{d,e,f},Plus] a d+b e+c f Inner[List,{a,b,c},{d,e,f},Plus] {a+b+c,d+e+f}
)٩-٥-٤( lsCal sNested Function
dataمعظم ھذه االوامر تطبق مرة واحدة على حیث ) الدوال (تناولنا الكثیر من االوامر فى البنود السابقة object فعلى سبیل المثال .ثم ترجع النتیجة:
Mod[5,3] 2 Sort[{1,6,2,5,4,3}] {1,2,3,4,5,6}
١٩١
والتى تسمى argumentsایضا تناولنا العدید من االوامر والتى تعتبر دوال و تتخذ دوال اخرى كمحتویات لها عالیة الرتبة
Fold[Plus,0,{a,b,c,d}] a+b+c+d
تلك الدوال لیست محددة فى استخدام دالة . nested function callالتطبیق المتتابع لعدة دوال یعرف :، ولكن یمكن الحصول على ھذه الدالة باستخدام عدة دوال كما فى المثال التالى مفردة تكرر عدة مرات
Cos[Sin[Tan[4.0]]] 0.609053
. على النتیجة cosinسب تعلى النتیجة ثم بعد ذلك sinتحسب تحسب وبعد ذلك tan(4.0)قى ھذه الدالة فان :للتوضیح یمكن اجراء ذلك على عدة خطوات كالتالى
Tan[4.0] 1.15782 Sin[%] 0.915931 Cos[%] 0.609053
:لتوضیح الخطوات كالتالى Traceویمكن استخدام االمر
Trace[Cos[Sin[Tan[4.0]]]]
{{{Tan[4.],1.15782},Sin[1.15782],0.915931},Cos[0.915931],0.609053}
على سبیل .حیث تبدا من الداخل الى الخارج تقرا االوامر بنفس انشائھا nested function callالدالة :المثال
Apply[And,Map[EvenQ,{2,4,6,7,8}]] False
:یمكن وصف العملیات كالتالى
:كالتالى {2,4,6,7,8}لكل عنصر فى القائمة EvenQیطبق االمر ) أ(
Map[EvenQ,{2,4,6,7,8}] {True,True,True,False,True}
:الخطوة السابقة على نتیجة And االمر المنطقى طبق ی) ب(
Apply[And,%] False
اكبر من االعداد ىوالت ) التى تحتوى على اعداد موجبة (كمثال اخر اكثر تعقیدا حیث تستخرج العناصر من القائمة :السابقة لھا فى القائمة
Union[Rest[FoldList[Max,0,{3,1,6,5,4,8,7}]]]
١٩٢
{3,6,8}
:للتوضیح Traceباستخدام االمر
Trace[Union[Rest[FoldList[Max,0,{3,1,6,5,4,8,7}]]]] {{{3 FoldList[Max,0,{3,1,6,5,4,8,7}],{3 Max[0,3],3 3},{3 Max[3,1],3 Max[1,3],3 3},{3 Max[3,6],3 6},{3 Max[6,5],3 Max[5,6],3 6},{3 Max[6,4],3 Max[4,6],3 6},{3 Max[6,8],3 8},{3 Max[8,7],3 Max[7,8],3 8},3 {0,3,3,6,6,6,8,8}},3 Rest[{0,3,3,6,6,6,8,8}],3 {3,3,6,6,6,8,8}},6 Union[{3,3,6,6,6,8,8}],8 {3,6,8}}
nested function call العملیات السابقة التى تقوم بها الدالة :یمكن توضیحھا كالتالى
. Max,0,{3,1,6,5,4,8,7}یطبق اوال على الدالة FoldListاالمر ) أ(
FoldList[Max,0,{3,1,6,5,4,8,7}] {0,3,3,6,6,6,8,8}
: ةیطبق على ناتج الخطوة السابق Restاالمر ) ب(
Rest[%] {3,3,6,6,6,8,8}
.یطبق على نتیجة الخطوة السابقة Union )وفى النھایة االمر ) ج Union[%] {3,6,8}
:التالیة nested function call بفرض الدالة Flatten[Outer[List,{c,d,d,s},Join[Range[2,10],{J,Q,K,A}]],1] {{c,2},{c,3},{c,4},{c,5},{c,6},{c,7},{c,8},{c,9},{c,10},{c,J},{c,Q},{c,K},{c,A},{d,2},{d,3},{d,4},{d,5},{d,6},{d,7},{d,8},{d,9},{d,10},{d,J},{d,Q},{d,K},{d,A},{d,2},{d,3},{d,4},{d,5},{d,6},{d,7},{d,8},{d,9},{d,10},{d,J},{d,Q},{d,K},{d,A},{s,2},{s,3},{s,4},{s,5},{s,6},{s,7},{s,8},{s,9},{s,10},{s,J},{s,Q},{s,K},{s,A}}
:السابقة نتبع الخطوات التالیة nested function callلفھم ما تقوم بعملھ الدالة
یقوم بدمج القائمة من االعداد من التالى 2 الى 10(والتى تم Join )االمر )ا :من اربعة عناصر كالتالى {J,Q,K,A} القائمةمع (Range[2,10] االمرالحصول علیھا من
١٩٣
Join[Range[2,10],{j,Q,K,A}] {2,3,4,5,6,7,8,9,10,j,Q,K,A}
: Outer من االمر ) ب( عنصر من القائمة السابقة والعنصر االول ناتج عمل القائمة التالیة من ازواج من القیم حیث العنصر الثانى یتم
13من عنصر من القائمة من ـد من الواح . {c,d,d,s}]
Outer[List,{c,d,d,s},%] {{{c,2},{c,3},{c,4},{c,5},{c,6},{c,7},{c,8},{c,9},{c,10},{c,j},{c,Q},{c,K},{c,A}},{{d,2},{d,3},{d,4},{d,5},{d,6},{d,7},{d,8},{d,9},{d,10},{d,j},{d,Q},{d,K},{d,A}},{{d,2},{d,3},{d,4},{d,5},{d,6},{d,7},{d,8},{d,9},{d,10},{d,j},{d,Q},{d,K},{d,A}},{{s,2},{s,3},{s,4},{s,5},{s,6},{s,7},{s,8},{s,9},{s,10},{s,j},{s,Q},{s,K},{s,A}}}
Flatten من االمر .نحصل على النتیجة النهائیة
Flatten[%,1] {{c,2},{c,3},{c,4},{c,5},{c,6},{c,7},{c,8},{c,9},{c,10},{c,j},{c,Q},{c,K},{c,A},{d,2},{d,3},{d,4},{d,5},{d,6},{d,7},{d,8},{d,9},{d,10},{d,j},{d,Q},{d,K},{d,A},{d,2},{d,3},{d,4},{d,5},{d,6},{d,7},{d,8},{d,9},{d,10},{d,j},{d,Q},{d,K},{d,A},{s,2},{s,3},{s,4},{s,5},{s,6},{s,7},{s,8},{s,9},{s,10},{s,j},{s,Q},{s,K},{s,A}}
:ویفضل تسمیة العملیة السابقة باسم یمكن الرجوع الیه كالتالى
aa1=Flatten[Outer[List,{c,d,d,s},Join[Range[2,10],{J,Q,K,A}]],1] {{c,2},{c,3},{c,4},{c,5},{c,6},{c,7},{c,8},{c,9},{c,10},{c,J},{c,Q},{c,K},{c,A},{d,2},{d,3},{d,4},{d,5},{d,6},{d,7},{d,8},{d,9},{d,10},{d,J},{d,Q},{d,K},{d,A},{d,2},{d,3},{d,4},{d,5},{d,6},{d,7},{d,8},{d,9},{d,10},{d,J},{d,Q},{d,K},{d,A},{s,2},{s,3},{s,4},{s,5},{s,6},{s,7},{s,8},{s,9},{s,10},{s,J},{s,Q},{s,K},{s,A}}
: السابقة النتیجة نفس فعند كتابة االسم التالى نحصل على aa1 {c,2},{c,3},{c,4},{c,5},{c,6},{c,7},{c,8},{c,9},{c,10},{c,J},{c,Q},{c,K},{c,A},{d,2},{d,3},{d,4},{d,5},{d,6},{d,7},{d,8},{d,9},{d,10},{d,J},{d,Q},{d,K},{d,A},{d,2},{d,3},{d,4},{d,5},{d,6},{d,7},{d,8},{d,9},{d,10},{d,J},{d,Q},{d,
١٩٤
K},{d,A},{s,2},{s,3},{s,4},{s,5},{s,6},{s,7},{s,8},{s,9},{s,10},{s,J},{s,Q},{s,K},{s,A}}
ویفید اعطاء االسم حتى یمكن استخدامها فى عملیة اخرى كالتالى aa1=Flatten[Outer[List,{c,d,d,s},Join[Range[2,10],{J,Q,K,A}]],1] {{c,2},{c,3},{c,4},{c,5},{c,6},{c,7},{c,8},{c,9},{c,10},{c,J},{c,Q},{c,K},{c,A},{d,2},{d,3},{d,4},{d,5},{d,6},{d,7},{d,8},{d,9},{d,10},{d,J},{d,Q},{d,K},{d,A},{d,2},{d,3},{d,4},{d,5},{d,6},{d,7},{d,8},{d,9},{d,10},{d,J},{d,Q},{d,K},{d,A},{s,2},{s,3},{s,4},{s,5},{s,6},{s,7},{s,8},{s,9},{s,10},{s,J},{s,Q},{s,K},{s,A}} Partition[aa1,26] {{{c,2},{c,3},{c,4},{c,5},{c,6},{c,7},{c,8},{c,9},{c,10},{c,J},{c,Q},{c,K},{c,A},{d,2},{d,3},{d,4},{d,5},{d,6},{d,7},{d,8},{d,9},{d,10},{d,J},{d,Q},{d,K},{d,A}},{{d,2},{d,3},{d,4},{d,5},{d,6},{d,7},{d,8},{d,9},{d,10},{d,J},{d,Q},{d,K},{d,A},{s,2},{s,3},{s,4},{s,5},{s,6},{s,7},{s,8},{s,9},{s,10},{s,J},{s,Q},{s,K},{s,A}}} Transpose[%] {{{c,2},{d,2}},{{c,3},{d,3}},{{c,4},{d,4}},{{c,5},{d,5}},{{c,6},{d,6}},{{c,7},{d,7}},{{c,8},{d,8}},{{c,9},{d,9}},{{c,10},{d,10}},{{c,J},{d,J}},{{c,Q},{d,Q}},{{c,K},{d,K}},{{c,A},{d,A}},{{d,2},{s,2}},{{d,3},{s,3}},{{d,4},{s,4}},{{d,5},{s,5}},{{d,6},{s,6}},{{d,7},{s,7}},{{d,8},{s,8}},{{d,9},{s,9}},{{d,10},{s,10}},{{d,J},{s,J}},{{d,Q},{s,Q}},{{d,K},{s,K}},{{d,A},{s,A}}} Flatten[%,1]
{{c,2},{d,2},{c,3},{d,3},{c,4},{d,4},{c,5},{d,5},{c,6},{d,6},{c,7},{d,7},{c,8},{d,8},{c,9},{d,9},{c,10},{d,10},{c,J},{d,J},{c,Q},{d,Q},{c,K},{d,K},{c,A},{d,A},{d,2},{s,2},{d,3},{s,3},{d,4},{s,4},{d,5},{s,5},{d,6},{s,6},{d,7},{s,7},{d,8},{s,8},{d,9},{s,9},{d,10},{s,10},{d,J},{s,J},{d,Q
},{s,Q},{d,K},{s,K},{d,A},{s,A}}
:بشكل مختصر كالتالى ویمكن كتابه العملیة السابقة Flatten[ Transpose[Partition[aa1,26]],1]
{{c,2},{d,2},{c,3},{d,3},{c,4},{d,4},{c,5},{d,5},{c,6},{d,6},{c,7},{d,7},{c,8},{d,8},{c,9},{d,9},{c,10},{d,10},{c,J},{d,J},{c,Q},{d,Q},{c,K},{d,K},{c,A},{d,A},{d,2},{s,2},{d,3},{s,3},{d,4},{s,4},{d,5},{s,5},{d,6},{s,6},{d,7},{s,7},{d,8},{s,8},{d,9},{s,9},{d,10},{s,10},{d,J},{s,J},{d,Q
},{s,Q},{d,K},{s,K},{d,A},{s,A}}
١٩٥
)١٠-٥-٤( Anonymous Functions ھى دالة ال یوضع لھا اسم فى البرنامج ویمكن استخدامھا فى نفس اللحظة التى ننشاھا anonymous الدالة
او Mapوغالبا ما تستخدم اذا كانت الدالة سوف تستخدم مرة واحدة فقط كما فى الدوال ذات الرتبة العالیة مثل .فیھا Fold.
2fولتوضیح طریقة كتابتھا بفرض تعریف الدالة (x) x . عرفنا من قبل طریقة تعریف ھذه الدالة كالتالى:
2f (x) x . كتابة الدالة السابقة فى صورة دالة یمكنanonymous كالتالى:
فى حالة وجود اكثر من متغیر فى الدالة نضع ( #بـ الرمز xحیث تستبدل 2xوذلك بدال من &(2^#)
ك الرمز لبین قوسین ویلى ذ 2xوتوضع الصیغة المقابلة لـ )…,#,#
موضوعة بین argument values بـویمكن تطبیق ھذه الدالة باالسلوب العادى وذلك بكتابتھا متبوعة . & : على سبیل المثال قوسین مربعین
(#^2)&[6]
36
:والتى یمكن حسابها بطریقة اخرى كالتالى 26 اى اننا حسبنا
f[6] 36
anonymousوكمثال اخر على تطبیق دالة
:بفرض القائمة المتداخلة التالیة
aa1={{1,3,2,4},{5,8,9,1},{12,13,15}} {{1,3,2,4},{5,8,9,1},{12,13,15}}
:وبفرض الدالة التالیة f[x_]:=x>3
aa1 القائمة فى كل قائمة داخلیة فى تقوم باختیار القیم التى اكبر من ثالثة الدالة التالیة Map[(Select[#,f])&,aa1] {{4},{5,8,9},{12,13,15}}
:التالیة nested function callالدالة
Apply[And,Map[EvenQ,{2,3,4,5,6}]]
fx_: x2
١٩٦
False :یمكن كتابتھا على الشكل التالى
aa1={2,3,4,5,6} {2,3,4,5,6} (Apply[And,Map[EvenQ,#]])&[aa1] False
:او یمكن كتابتها على الشكل التالى f[x_]:=Apply[And,Map[EvenQ,x]] f[aa1] False
على سبیل ) .متداخلة( nested anonymous ایضا یمكن الحصول على دالة :المثال
(Map[(#^2)&,#])&[{3,2,7}] {9,4,49}
:كالتالى Function كتابتها یمكن استخدام الدالةواذا كان هنال صعوبة فى Function [y,Map[Function[x,x^2],y]][{3,2,7}] {9,4,49}
Transformation Rules قواعد التحویل )١١-٥-٤(
سوف نشرح الصیغة العامة . فى بعض االحیان نحتاج الى وضع قید على تعبیر معین وذلك باستخدام قاعدة ما علیھ : لكتابة التعبیر بطریقتین
:تكتب الصیغة كالتالى الطریقة االولى ففى
Expression/.Rule[ihs,rhs]
: تكتب فى صیغة االدخال كالتالى Rule[ihs,rhs] دالة القاعدةحیث
ihs->rhs
.وھذه الطریقة االكثر شیوعا من الطریقة التالیة
:حیث تكتب الصیغة على الشكل التالى
Expression/.RuleDelayed[ihs,rhs]
:تكتب فى صیغة االدخال كالتالى Rule[ihs,rhs] دالة القاعدةحیث
ihs:>rhs
التعبیرین السابقین لھما نفس الناتج ولكن یختلفوا فى اولویة التنفیذ للتعبیر والذى یتضح من المثال التالى وذلك باستخدام : Traceاالمر
Table[x,{5}]/.xRandom[]
١٩٧
{0.156218,0.156218,0.156218,0.156218,0.156218} Trace[Table[x,{5}]/.xRandom[]] {{Table[x,{5}],{x,x,x,x,x}},{{Random[],0.771537},x0.771537,x0.771537},{x,x,x,x,x}/. x0.771537,{0.771537,0.771537,0.771537,0.771537,0.771537}} Table[x,{5}]/.x:>Random[] {0.61346,0.913524,0.160735,0.220387,0.21172} Trace[Table[x,{5}]/.x:>Random[]] {{Table[x,{5}],{x,x,x,x,x}},{xRandom[],xRandom[]},{x,x,x,x,x
}/. xRandom[],{Random[],Random[],Random[],Random[],Random[]},{Random[],0.842305},{Random[],0.343925},{Random[],0.322344},{Random[],0.125731},{Random[],0.640212},{0.842305,0.343925,0.322344,
0.125731,0.640212}}
:سبیل المثال فعلى
{a,b,c,d}/.ListPlus a+b+c+d
{a,b,c,d}/.List:>Plus
a+b+c+d :وكمثال اخر {{3,4},{7,2},{1,5}}/.{x_,y_}->{y,x} {{4,3},{2,7},{5,1}} {a,b,c}/.{cb,ba} {a,a,b}
:وكمثال اخر
10+x^2/.x->2 14
:وكمثال اخر x^2+2y^2+3/.{x->2,y3} 25
:وكمثال اخر {a,b,c}//.{ca,ba}
١٩٨
{a,a,a}
.الصیغ الریاضیةسوف نستخدم قواعد التحویل فى التحقق من صحة
، اى حساباول اعداد صحیحة من nبفرض اننا نبحث عن صیغة لجمع مربعات n
2
i 1i
لـ صغیرة نبدا بقیمسوفn
Sum[i^2,{i,1,2}]
5 2 21 2 تساوى واحد الى اثنین اى i والماخوذة من i هذا االمر یجمع مربعات
Sum[i^2,{i,1,3}] 14 Sum[i^2,{i,1,4}] 30 Sum[i^2,{i,1,5}] 55
n2
i 1i n(2n 1)(n 1) / 6
من المعروف ان : الصیغة السابقةبفرض اننا یوجد لدینا شك فى صحة
n2
i 1i
عدد صحیح ثم نقوم باستخدام االمر سوف نقوم بتولید 1000
n(2n 1)(n 1) / 6 ثم الصیغة .وسوف نثبت انهما متساویین مجموع مربعات االعداد من واحد الى الف فى حساب
aa1=Random [Integer,{1,1000}] 556 Sum[i^2,{i,1,aa1}] 57447866 ((2aa1+1)(aa1+1)aa1)/6 57447866
:وللتحقق اكثر سوف نتبع التالى
r[x_]:=Sum[i^2,{i,1,x}] Table[(r[x]((2x+1)(x+1)x)/6)/.x->Random[Integer,{1,1000}],{10}]
{True,True,True,True,True,True,True,True,True,True}
.جیدا للریاضین ولكن استخدمناھا فقط للتوضیح صیغة الجمع التى تحققنا منھا معروفة
Strings and Characterالحروف ومتتابعة من الحروف )٢١-٥-٤(
١٩٩
مثل "" ""التى تظهر فى شاشة نافذة البرنامج بین objectsبانها الـ Charactersیمكن تعریف الحروف ""a"" او ""3""او"T."الكبیرة عموما تشمل الحروفA,B,C,…,Z او الحروف الصغیرةa,b,c,…,a االعداد
! و .و النقطة ,والمسافة والفصلة 9,…,0,1,2
عندما . stringsتسمى "" ""التى توضع بین Sequences Charactersعموما المتتابعة من الحروف InputForm ولكن یمكن استخدام االمر "" ""فى المخرج تظهر بدون stringsیطبع البرنامج
" "لرؤیة
"Book" Book InputForm["Book"] "Book"
یمكن استخدام االوامر و )مثل االعداد والقوائم (هى قیمة مثلها مثل القیم االخرى stringیجب ان نعرف ان تلك العملیات معروفه باسمائها . للتعامل معها
StringLength["Book"] 4 StringReverse["abcd"] dcba StringTake["abcd",3] abc StringDrop["abcd",-1] abc StringPosition["abcd","bc"] {{2,3}} StringInsert["abcd","t",3] abtcd StringReplace["abcd","cd"->"uv"] abuv
characters الى قائمة من string یمكن تحویل string التعامل مع دام االوامر فىتخباالضافة الى اس Characters باستخدام االمر
Characters["abcd"] {a,b,c,d}
ایضا یمكن استخدام االوامر التالیة Take[%,{2,3}] {b,c} StringJoin[%] bc
٢٠٠
Procedureمنظومة االجراءات) ١٣-٥-٤(
غالبا ما نحتاج ان نربط مجموعة من االوامر معا ویمكن ان یتم عند بناء الحسابات فى برنامج الماثیماتیكا
بحیث یفصل بین نظومة االجراءات وهى عبارة عن متتابعة من اوامر البرنامجذلك باستخدام م :الصیغة العامة له هو . وقیمة االمر االخیر یمثل الناتج النهائى المنقوطة كال منهما عالمة الفصلة ;
Command1;Command2;…
: كتب على الشكل التالى ) ٩-٥-٤(الذى سبق ذكره فى للتوضیح بفرض المثال
Range[2,10]; Join[Range[2,10],{j,Q,K,A}]; Outer[List,{c,d,d,s},%]; aa1= Flatten[%,1]
{{c,2},{c,3},{c,4},{c,5},{c,6},{c,7},{c,8},{c,9},{c,10},{c,j},{c,Q},{c,K},{c,A},{d,2},{d,3},{d,4},{d,5},{d,6},{d,7},{d,8},{d,9},{d,10},{d,j},{d,Q},{d,K},{d,A},{d,2},{d,3},{d,4},{d,5},{d,6},{d,7},{d,8},{d,9},{d,10},{d,j},{d,Q},{d,K},{d,A},{s,2},{s,3},{s,4},{s,5},{s,6},{s,7},{s,8},{s,9}
,{s,10},{s,j},{s,Q},{s,K},{s,A}} بفصلة منقوطة فى ھذا المثال نالحظ ان منظومة االجراءات تتكون من اربعة اوامر یفصل كل منھا عن االخر
:كما نالحظ ان الناتج النھائى ھو قیمة االمر االخیر .فى منظومة االجراءات aa1= Flatten[%,1]
حیث والتى عند ادخالھا ال نحصل على مخرج g مكن الحصول على الحل لھذا المثال بتعریف الدالة وی
لتوضیح ان كل االجراءات معا تمثل الدالة و () خدم االقواستتس
g[x_,y_]:=(Flatten[Outer[List,{c,d,d,s},Join[Range[x,y],{J,Q,K,A}]],1])
: فى مثالناف، وكتابة الجانب االیسر من الدالة معرفة بقیمة مرغوب فیها ویمكن استدعاء الدالة : x=2,y=10
g[2,10]
{{c,2},{c,3},{c,4},{c,5},{c,6},{c,7},{c,8},{c,9},{c,10},{c,J},{c,Q},{c,K},{c,A},{d,2},{d,3},{d,4},{d,5},{d,6},{d,7},{d,8},{d,9},{d,10},{d,J},{d,Q},{d,K},{d,A},{d,2},{d,3},{d,4},{d,5},{d,6},{d,7},{d,8},{d,9},{d,10},{d,J},{d,Q},{d
٢٠١
,K},{d,A},{s,2},{s,3},{s,4},{s,5},{s,6},{s,7},{s,8},{s,9},{s,10},{s,J},{s,Q},{s,K},{s,A}}
:عند وضع قیمة اخرى لمحتوى الدالة نحصل على نتیجة مختلفة كالتالى
g[2,18]
{{c,2},{c,3},{c,4},{c,5},{c,6},{c,7},{c,8},{c,9},{c,10},{c,11},{c,12},{c,13},{c,14},{c,15},{c,16},{c,17},{c,18},{c,J},{c,Q},{c,K},{c,A},{d,2},{d,3},{d,4},{d,5},{d,6},{d,7},{d,8},{d,9},{d,10},{d,11},{d,12},{d,13},{d,14},{d,15},{d,16},{d,17},{d,18},{d,J},{d,Q},{d,K},{d,A},{d,2},{d,3},{d,4},{d,5},{d,6},{d,7},{d,8},{d,9},{d,10},{d,11},{d,12},{d,13},{d,14},{d,15},{d,16},{d,17},{d,18},{d,J},{d,Q},{d,K},{d,A},{s,2},{s,3},{s,4},{s,5},{s,6},{s,7},{s,8},{s,9},{s,10},{s,11},{s,12},{s,13},{s,14},{s,15},{s,16},{s,17},{s,
18},{s,J},{s,Q},{s,K},{s,A}} .ویمكن كتابة الدالة السابق بدون اقواس كالتالى
g[x_,y_]:=Flatten[Outer[List,{c,d,d,s},Join[Range[x,y],{J,Q,K,A}]],1] g[2,10]
{{c,2},{c,3},{c,4},{c,5},{c,6},{c,7},{c,8},{c,9},{c,10},{c,J},{c,Q},{c,K},{c,A},{d,2},{d,3},{d,4},{d,5},{d,6},{d,7},{d,8},{d,9},{d,10},{d,J},{d,Q},{d,K},{d,A},{d,2},{d,3},{d,4},{d,5},{d,6},{d,7},{d,8},{d,9},{d,10},{d,J},{d,Q},{d,K},{d,A},{s,2},{s,3},{s,4},{s,5},{s,6},{s,7},{s,8},{s,9},{s,10},{s,J},{s,Q},{s,K}
,{s,A}}
یفضل اما الخروج من برنامج ولذلك بعد كل برنامج كثیرا ما یحدث لبس فى اسماء المتغیرات مع برامج اخرى
المستخدمة كمتغیرات اجراءات نجعل المتغیرات ة ثم الدخول مرة اخرى او عند استخدام منظوم الماثیماتیكا فقطبمعنى ان ھذا المتغیرات تحتفظ بالقیم داخل منظومة اجراءات Local موضعیة
ت فى المنظومة والخروج منھا ویتم ذلك باستخدام االمراھاء الحسابتولكن تفقد ھذه القیم بعد ان Block او :الصیغة العامة لالمرین ھى . Module االمر
Block[{x,y,…},Procedure] و Module[{x,y,…},Procedure]
تمثل متغیرات موضعیة داخل منظومة االجراءات x,y,… وذلك لالعالن ان المتغیرات
.Procedure : للمتغیرات فان الصیغة العامة لالمرین تصبح …,x=xo,y=yo مبدئیة القیم ال د وعند تحدی
Block[{x=xo,y=yo,… },Procedure] و Module[{x=xo,y=yo,…},Procedure]
وعلى ذلك باستخدام احدى االمرین السابقین یمكن تعریف اى متغیرات داخل منظومة االجراءات دون التاثیر على القیم
.بخارج المنظومة وبالتالى یمكن تعریف نفس المتغیر الموضعى داخل اكثر من منظومة اجراءات :لالمر فمثال بالنسبة
٢٠٢
aa1=Flatten[Outer[List,{c,d,d,s},Join[Range[2,10],{J,Q,K,A}]],1]
: امر اخرى ف وبفرض استخدامھ
Flatten[Transpose[Partitation[aa1,26]],1]
:یمكن ضمھم معا فى منظومة كالتالى فانھ
Module[{aa1},aa1=Flatten[Outer[List,{c,d,d,s},Join[Range[2,10],{J,Q,K,A}]],1];Flatten[Transpose[Partition[aa1,26]],1]] {{c,2},{d,2},{c,3},{d,3},{c,4},{d,4},{c,5},{d,5},{c,6},{d,6},{c,7},{d,7},{c,8},{d,8},{c,9},{d,9},{c,10},{d,10},{c,J},{d,J},{c,Q},{d,Q},{c,K},{d,K},{c,A},{d,A},{d,2},{s,2},{d,3},{s,3},{d,4},{s,4},{d,5},{s,5},{d,6},{s,6},{d,7},{s,7},{d,8},{s,8},{d,9},{s,9},{d,10},{s,10},{d,J},{s,J},{d,Q},{s,Q},{d,K},{s,K},{d,A},{s,A}}
Coditional functions الشرطیة ) االوامر(الدوال )١٤-٥- ٤(
فى بناء منظومة االجراءات غالبا ما نحتاج الى تنفیذ بعض العملیات اذا تحققت شروط معینة الماثیماتیكا وفى برنامج باعادة القیم لتعبیرات مختلفة بناء على والمسماه بالدوال الشرطیة والتى تقوم ویتم ذلك باستخدام دوال االنتقال المشروط
:سوف نتناول الدوال التالیة . شروط
: او الصیغة العامة لھا ھىIf دالة
1 2If[Cond,expr ,exp 2exprوتعید القیمة لـ صواب Condاذا كان 1exprوالتى تعید القیمة لـ [ x
If[nعلى سبیل المثال .غیر ذلك Condاذا كان 0,5,9] اذا كانت قیمة 5تعیدn غیر 9وتعید 5اكبر من .ذلك
:فعلى سبیل المثال
aa1=5;aa2=9;If[aa1>aa2,Print[x],Print[y]] y
ن ان .ثم طباعة العدد االكبر aa1,aa2حیث یتم ادخال قیم ث كیویمك ة حی ى الصورة التالی ابق عل ر الس ب االم تPrint[x],Print[y] استبدل بـ Print["x"],Print["y"].
aa1=5;aa2=9;If[aa1>aa2,Print["x"],Print["y"]] y
:وكمثال اخر g[x_]:=If[x>0,4,-4];Plot[g[x],{x,-4,4}]
٢٠٣
Graphics
.ثم رسم الدالةg فى تعریف الدالة If حیث تم استخدام االمر ھ Ifفى بعض االحیان نحتاج الى متتابعة من الدالة ك .وكل امر یاتى من الجزء الخطا من االمر السابق ل ى ذل وعل
ات ارات للمتنئ ن االختب ة م ل متتابع ابات تمث ة الحس ان تركیب ون Predicatesف دة تك ى واح ول ال ى الوص حت :الصیغة العامة لھذه المتتابعة تكون كالتالى .نتیجتھا صواب
1 1
2 2
n n
n 1
If[Cond ,result ],If[Cond ,result ],
If[Cond ,result ],If[True,result ]
ق ى iCondفى المتتابعة السابقة اذا تحق ةف ـ المتتابع ان f Iل ذ كنتیجة iresultف ن تؤخ ق اى م م یتحق واذا ل
nو Trueھو n+1الذى رقمھ Ifفان الشرط فى االمر nالشروط التى عددھا 1result تؤخذ كنتیجھ.
ابقة فى Ifبدال من Whichاالمر استخدمفى الحقیقة یمكن ة الس ر .المتتابع ة لالم سوف Whichالصیغة العام :تكون كالتالى
1 1
2 2
n n
n 1
Which[Cond , result ,[Cond ,result ,
Cond ,result ,True, result ]
:فعلى سبیل المثال
f[x_]:=Which[x<0,x^3,x>0&&x<3,2x,True,6];Plot[f[x],{x,-4,4}];
-4 -2 2 4
-4
-2
2
4
٢٠٤
.ثم رسمھا f[x]فى تعریف الدالة Whichحیث استخدم االمر
:كمثال اخر
.ثم رسمھا f[x]فى تعریف الدالة Whichحیث استخدم االمر
.سوف نستخدم امثلة وضیحیة للدوال الشرطیة
ل مثا
العنصر االول فى القائمة ال بد ان یحتوى على واحد حیث والتى دالة فى قائمة ApplyCharسوف نستخدم الدالة تطبق دالة ApplyCharالدالة .یتبعة بقیة االعداد فى القائمة ثم "/"او "*"او "-"او "+"الحروف من
:فى الحساب If اوال سوف نستخدم ،باسم الحرف على االعداد فى القائمة بعد استبعاد الحرف من القائمة applyChar[lis_]:= Module[{op=First[lis],nums=Rest[lis]}, If[op=="+",Apply[Plus,nums], If[op=="-",Apply[Minus,nums], If[op=="*",Apply[Times,nums], If[op=="/",Apply[Divide,nums],
-4 -2 2 4
-12.5
-10
-7.5
-5
-2.5
2.5
5
fx_: Whichx 0,x^2, x 0&&x 5,5x, True,5;Plotfx, x, 8,8;
-7.5 -5 -2.5 2.5 5 7.5
2
4
6
8
10
12
٢٠٥
Print["bad argument to applyChar"]]]]]] applyChar[{"+",1,2,3,4}] 10
:فى الحساب Whichاالن سوف نستخدم
applyChar[lis_]:= Module[{op=First[lis],nums=Rest[lis]}, Which[op=="+",Apply[Plus,nums], op=="-",Apply[Minus,nums], op=="*",Apply[Times,nums], op=="/",Apply[Divide,nums], True,Print["bad argument to applyChar"]]] applyChar[{"+",1,2,3,4}] 10
ل مثا
:ح مثال اخر للتوضی
فى المستوى حسب التصنیف {x,y}تصنیف للنقطة والتى وظیفتھا pointLogسوف نعرف الدالة : جدول التالىفى ال الموضح
النقطة التصنیف0 {0,0} -1 y=0 على محورx -2 x=0 على محورy الربع االول 1 الربع الثانى 2 الربع الثالث 3 الربع الرابع 4
٢٠٦
:الحل االول لھذا المثال ھو
PointLog[{0,0}]:=0 PointLog[{x_,0}]:=-1 PointLog[{0,y_}]:=-2 PointLog[{x_,y_}]:=1/;x>0&&y>0 PointLog[{x_,y_}]:=2/;x<0&&y>0 PointLog[{x_,y_}]:=3/;x<0&&y<0 PointLog[{x_,y_}]:=4(*/;x>0&&y<0*)
:{9-,5}بتطبیق الدالة على القائمة
PointLog[{5,-9}] 4
:Ifلھذا المثال ھو استخدام الثانىالحل
PointLog[x_,y_]:= If[x0&&y0,0, If[y0,-1, If[x0,-2, If[x>0&&y>0,1, If[x<0&&y>0,2, If[x<0&&y<0,3,(*x>0&&y<0*)4]]]]]]
:{9-,5}بتطبیق الدالة على القائمة
PointLog[-5,-9] 3
: Whichالحل الثالث لھذا المثال ھو استخدام
PointLog[x_,y_]:= Which[ x0&&y0,0, y0,-1, x0,-2, x>0&&y>0,1, x<0&&y>0,2, x<0&&y<0,3, True(*x>0&&y<0*),4]
:{9-,5}بتطبیق الدالة على القائمة
٢٠٧
PointLog[-5,-9]
3
x==0الخطوة االولى تقدیر .{9-,5-}سوف نوضح خطوات العمل على الدالة السابقة عند تطبیقھا على القائمة
دیر y==0وبما انھا خطا فان المرافق و تق ا y==0ال یقدر یلى ذلك الخطوة الثانیة وھ ا انھ الى وبم ى السطر الت فدر x==0خطا نذھب الى الخطوة الثالثة وھى تقدیر فى السطر الثالث وبما انھا خطا نذھب الى الخطوة الرابعة ونق
x>0 فى السطر التالى وبما انھا خطا فان المرافقy>0 دیر ك الخطوة الخامسة وھى تق ى ذل ى x<0ال یقدر یل فوالنتیجة y<0و x<0ذھب الى الخطوة السادسة حیث ن وبما انھا خطا y>0 نقدرالسطر التالى وبما انھا صواب
. 3سوف تكون الجابة صواب وبالتالى ا
: واختصار فى العملیات Which, Ifالحل الرابع لھذا المثال ھو استخدام
PointLog[x_,y_]:= Which[ x==0,If[y==0,0,-2], x>0,Which[y>0,1, y<0,4, True,-1], True, Which[y<0,3, y>0,2, True,-1]] PointLog[{-5,-9}]
3 : لھذا المثال كالتالى الخامسواخیرا الحل
PointLog[{0,0}]:=0 PointLog[{x_,0}]:=-1 PointLog[{0,y_}]:=-2 PointLog[{x_,y_}]:=If[x<0,2,1]/;y>0 PointLog[{x_,y_}]:=If[x<0,3,4](*/;y<0*) PointLog[{-5,-9}] 3
Loops الحلقات التكراریة )١٥-٥- ٤(
٢٠٨
فى . منظومة االجراءات یتم تنفیذ مجموعة من االوامر وفقا لترتیب هذه االوامر داخل منظومة االجراءات فى بعض االحیان نحتاج الى تنفیذ بعض العملیات بصورة متكررة داخل البرامج باستخدام اوامر خاصة بالحلقات
االوامر بصورة متكررة لعدد محدود من على تكرار مجموعة متتالیة من المتكررة حیث تعمل الحلقات المتكررة ومن اوامر البرنامج الخاصة .المرات مع امكانیة التغییر االوتوماتیكى لقیم المتغیرات داخل الحلقات التكراریة
حیث یكرر Do[expression,{i,imin,imax,step}] وقد یاخذ الصیغة التالیة Doبالحلقات التكراریة االمر expression مع المتغیرi والذى یاخذ القیمmini,imin+step وهكذا حتى الوصول الى القیمةimax. وعلى
فاننا stepواكثر من ذلك عند تجاهل القفزة .من المرات imax-imin/stepذلك الحلقة تكرر مجموع عدد وقد . یساویات واحد صحیح نعتبرهم i,imin فان كال i,imaxوعندما تعطى .نعتبرها تساوى واحد صحیح
:الصیغة التالیة Doیاخذ االمر
Do[]expr,{n}] حیث یتم حسابexpr عددn كما قد یاخذ الصورة التالیة .من المراتexpr,{I,imin,imax},{j,imin,imax}]][Do حیث یتم حسابexpr لقیمi,j االمر وسوف نتكلم عن .المعطاه
Do یوتن للحصول على جذور بعض الدوالبالتفصیل عند استخدام طریقة ن.
:فعلى سبیل اامثال
Do[c=i^2;Print[c],{i,4}] 1 4 9 16
i وذلك لكتابة قیم c=i^2 عند تغییر قیم Do الى االمر Print یالحظ اننا اضفنا .ثالثة ىمن واحد ال
تنفیذهاكما یمكن ان یكتب بالشكل التالى وذلك لطبع كل القیمة مع خطوات Do[c=i^2;Print[" c ",i," : ",c],{i,4}] c 1 : 1 c 2 : 4 c 3 : 9 c 4 : 16
:وكمثال اخر Do[c=i^2+j;Print[c],{i,3},{j,1,2}] 2 3 5 6 10 11
٢٠٩
یمثل cond حیث While[cond,expression]والذى یاخذ الشكل التالى Whileمر االن سوف نتكلم عن االتقدیر االختبار واذا كان :ا حیث یعمل هكذ . bodyمثل الجسم ی expressionواو الشرط testاالختبار
.فعندئذن یقدر الجسم صواباالختبار اذا كان ،االختبار مرة اخرى ثم یكررصواب فانه یقدر الجسم اذا كان (ویجب ان نتذكر ان الجسم قد ال یقدر .بار خطا یستمر على هذه الطریقة حتى یصبح تقدیر االخت
وسوف نتكلم عن هذا .وقد یقدر مرة واحدة وقد یقدر االف من المرات )االختبار خطا فى المرة االولى تقدیر :فعلى سبیل اامثال .االمر بالتفصیل عند استخدام طریقة نیوتن للحصول على جذور بعض الدوال
i=1;While[i<10,Print[i];i=i+2] 1 3 5 7 9
Matrices and Vectorsالمصفوفات والمتجهات )٦-٤(
مقدمة )١-٦-٤(
اجراء العملیات الریاضیة الخاصة بالمصفوفات والتى كانت تستغرق یمكن استخدام برنامج الماثیماتیكا فى وقبل البدء فى عرض العملیات فى جبر .. الكثیر من الوقت وخاصة اذا كانت المصفوفات فى ابعاد كبیرة
list ofمن قوائم قائمةالمصفوفة فى برنامج الماثیماتیكا عبارة عن . المصفوفات ال بد من تعریف المصفوفة lists )قوائم متداخلة Nested Lists ( على ذلكو . حیث كل قائمة تمثل صف من المصفوفة
: mxn من البعد التالیة المصفوفة
11 12 13 1n
21 22 23 2n
31 32 33 3n
m1 m2 m3 mn
a a a aa a a a
A a a a a
a a a a
:بصورة قوائم كالتالى یمكن ادخالھا
11 12 1n 21 22 2n m1 m 2 mnA {{a ,a ,...,a },{a ,a ,...,a },...,{a ,a ,..., a }
:على سبیل المثال الستخدام البرنامج لتعریف المصفوفة
٢١٠
11 12
21 22
a aa a
:فاننا ندخل االمر
11 12 21 22aa1 {{a ,a },{a ,a ,}}.
االمر Array یعطى نفس النتیجة aa1=Array[a,{2,2}] {{a[1,1],a[1,2]},{a[2,1],a[2,2]}}
)صفوف واعمدة ( الشكل التقلیدىیمكن تحویلھا الى A وبمجرد دخول المصفوفة
.MatrixForm[A] وذلك باستخدام االمر وذلك باستخدام القائمة BasicTypesetting والتى 2X2 یمكن بسھولة تكوین مصفوفة
من نافذة البرنامج ثم الذھاب الى Palettes ثم File نحصل علیھا بالذھاب الى االمر :فنحصل على القائمة التالیة BasicTypesettingالى
وكبدیل یمكن الحصول على مصفوفات باى ابعاد وذلك .والمشار له بالسهم الرمزضغط على ثم بالذهاب الى
Creat Table/Matrix/Palette من نافذة البرنامج ثم الذھاب الى Input الى :كما ھو موضح فیما یلى وبالضغط علیھا
٢١١
: نحصل على الصندوق التالى
وندخل عدد الصفوف Matrixالنشاء مصفوفة نختار .Palettesوالذى منه یمكن تكوین مصفوفات وجداول وفتظهر المصفوفة المرغوبة مكان Ok على االمر ثم الضغط فى خانة الصفوف وعدد االعمدة فى خانة االعمدة
.فى نافذة البرنامج مؤشر الفارة
ل مثا
٢١٢
: تیناستخدم الماثیماتیكا لتعریف المصفوف
11 12 13
21 22 23
31 32 33
a a aa a aa a a
:و
11 12 13 14
21 22 23 24
b b b bb b b b
:الحل
: یناالمر كال هذه الحالة فى
i, jTable[a {i,1,3},{j,1,3}]
:او
Array[a,{3,3}]
:یستخدمان عند تعریف المصفوفة التى على الشكل
11 12 13
21 22 23
31 32 33
a a aa a aa a a
یستخدمان لعرض النتیجة فى الشكل التقلیدى للمصفوفة TableFormاو MatrixFormاالمر
. traditional matrix form Clear[a,b,aa1,aa2]
aa2=MatrixForm[aa1]
aa1=Array[a,{3,3}]
aa1 Tableai,j, i, 1, 3, j, 1, 3a1,1, a1,2, a1,3, a2,1, a2,2, a2,3, a3,1, a3,2, a3,3
a1,1 a1,2 a1,3a2,1 a2,2 a2,3a3,1 a3,2 a3,3
٢١٣
{{a[1,1],a[1,2],a[1,3]},{a[2,1],a[2,2],a[2,3]},{a[3,1],a[3,2],a[3,3]}} aa2=MatrixForm[aa1]
Array االمر باستخدامیمكن استخدام البرنامج للحصول على مصفوفة غیر مربعة aa3=Array[b,{2,4}] {{b[1,1],b[1,2],b[1,3],b[1,4]},{b[2,1],b[2,2],b[2,3],b[2,4]}} aa2=MatrixForm[aa3]
:نتائج مماثلة یمكن الحصول علیها باستخدام االمر
i, jTable[b {i,1,2},{j,1,4}]
:االمرین عموما
Table[f [i, j],{i,i max},{j, jmax}],Array[f ,{i,i max},{j, jmax}]
imaxتقابل المصفوفة من البعد nested listsقوائم متداخلة یؤدیان الى الحصول على jmax.
f [1,1] f[1,2] f [1, jmax]f [2,1] f[2,2] f[2, jmax]
f[i max,1] f[i max,2] f[i m x, jmax]
:االمر
Table[f[i, j],{i,imin,imax,istep},{j, jmin, jmax, jstep}]
: یحسب قائمة القوائم
{f [i min, jmin], f [i min, jmin jstep],...f [i min, jmax],...,{f [i min istep, jmin],..., f [i min istep, jmax]},...,{f [i max, jmin],..., f [i m ax, jmax]}}
a1, 1 a1, 2 a1, 3a2, 1 a2, 2 a2, 3a3, 1 a3, 2 a3, 3
b1, 1 b1, 2 b1, 3 b1, 4b2, 1 b2, 2 b2, 3 b2, 4
٢١٤
:واالمر Table[f[i, j,k,...],{i,imin,imax,istep},{j, jmin, jmax, jstep},{k,k min,k max,kstep},...]
فان القفزة سوف تكون واحد istepاذا حذف .هى االكثر شیوعا iالقائمة الخاصة بـ .قائمة متداخلة حسب ی .صحیح
ل مثا
3من البعد Aعرف المصفوفة 4 حیث العنصرija فى الصفith والعمودjth هو القیمة9i ـ العددیة ل j.
:الحل
,a[iاذا كانت موجودة فاننا نعرف aبعد حذف كل التعریفات التى تخص j] هو القیمة العددیة لـ
9 i j ثم نستخدمArray 3للحصول على مصفوفة من البعد 4
Clear[a,aa1] a[i_,j_]:=9i+j aa1=Array[a,{3,4}] {{10,11,12,13},{19,20,21,22},{28,29,30,31}} MatrixForm[aa1]
ل مثا
:القطریة التالیةعرف المصفوفة
a 0 0 00 b 0 00 0 c 00 0 0 d
:الحل
10 11 12 1319 20 21 2228 29 30 31
٢١٥
:المصفوفة
a 0 0 00 b 0 00 0 c 00 0 0 d
4تمثل مصفوفة من البعد 4 واالمرDiagonalMatrix[{a,b,c,d}] یستخدم للحصول على هذه .المصفوفة
aa1=DiagonalMatrix[{a,b,c,d}] {{a,0,0,0},{0,b,0,0},{0,0,c,0},{0,0,0,d}} MatrixForm[aa1]
nمن الرتبة A لحساب مجموع عناصر القطر الرئیسى فى المصفوفة المربعة n التالى یستخدم االمر:
Sum[f[I,j],{I,n}] . فعلى سبیل المثال
aa1=DiagonalMatrix[{2,3,4,5}] Sum[aa1[[i,i]],{i,4}] {{2,0,0,0},{0,3,0,0},{0,0,4,0},{0,0,0,5}} 14
لمثا
:الصفریة التالیةعرف المصفوفة
0 0 0 00 0 0 00 0 0 00 0 0 0
:الحل
:المصفوفة
a 0 0 00 b 0 00 0 c 00 0 0 d
٢١٦
0 0 0 00 0 0 00 0 0 00 0 0 0
4تمثل مصفوفة من البعد 4 واالمرTable[0,{i,4},{j,4}] یستخدم للحصول على هذه المصفوفة.
aa1=Table[0,{i,4},{j,4}] {{0,0,0,0},{0,0,0,0},{0,0,0,0},{0,0,0,0}} MatrixForm[aa1]
لمثا
:الوحدة التالیة عرف مصفوفة
1 0 00 1 00 0 1
:الحل
:المصفوفة
1 0 00 1 00 0 1
3من البعد identityتمثل مصفوفة الوحدة 3 االمر وIdentityMatrix[n] یستخدم
.للحصول على هذه المصفوفة
aa1=IdentityMatrix[3] {{1,0,0},{0,1,0},{0,0,1}} MatrixForm[aa1]
0 0 0 00 0 0 00 0 0 00 0 0 0
1 0 00 1 00 0 1
٢١٧
نافذة البرنامج ثم الذھاب من من Input نفس النتیجة یمكن الحصول علیها وذلك بالذهاب الى Creat Table/Matrix/Palette نحصل على الصندوق التالى وبالضغط علیھا
فى خانة 3و Number of Rowsعدد الصفوف فى خانة 3وبوضع Matrixوباختیار
Number of Columns فى خانة 0عدد االعمدة وFill with : 1و
. Fill diagonal: فى خانة
.مؤشر الفارة فى نافذة البرنامج یمكن لحصول على المصفوفة التالیة مكان Okوبالضغط على االمر
:ملئها تصبح على الشكل التالى والتى بعد
ل مثا
1 0 00 1 00 0 1
٢١٨
4كون مصفوفة من البعد 4 6,6-حیث عناصرها تختار عشوائیا وتكون اعداد صحیحة بین.
:الحل
وعند ادخال االمر التالى فان . للحصول على هذه المصفوفة Table , Random , Integer سوف نستخدم .الن اختیار االعداد یتم عشوائى تختلف نتیجتنا دائما عند اعادة كتابة االمر
aa1=Table[Random[Integer,{-6,6}],{4},{4}] {{-1,4,-3,2},{-3,2,-6,0},{-3,-5,-6,-2},{-1,2,-2,-1}} MatrixForm[aa1]
.وخالف لك صفر 1القطر اسفلفى عناصرها Lower Triangular سفلىللحصول على مصفوفة مثلثیة 4 لتكوین مصفوفة مثلثیة سفلى من البعد فعلى سبیل المثال Table. یستخدم االمر 4 نتبع التالى:
Table[If [i>=j,1,0],{i,4},{j,4}] {{1,0,0,0},{1,1,0,0},{1,1,1,0},{1,1,1,1}}
TableForm[%]
. وخالف لك صفر 1عناصرها فى اعلى القطر Upper Triangularللحصول على مصفوفة مثلثیة علیا
4فعلى سبیل المثال لتكوین مصفوفة مثلثیة علیا من البعد Table. یستخدم االمر 4 نتبع التالى:
Table[If [i<=j,1,0],{i,4},{j,4}] {{1,1,1,1},{0,1,1,1},{0,0,1,1},{0,0,0,1}} TableForm[%]
الستخدام البرنامج فى .فى البرنامج المتجه هو قائمة من االعداد وعلى ذلك یدخل بنفس طریقة ادخال القوائم 1على الشكل aa1تعریف متجه 2 3 4 5(a ,a ,a ,a ,a 1ندخل ( 2 3 4 5aa1 (a ,a ,a ,a ,a ). بنفس الشكل
:لتعریف متجه عمود على الشكل
1 4 3 23 2 6 03 5 6 21 2 2 1
1 0 0 01 1 0 01 1 1 01 1 1 1
1 1 1 10 1 1 10 0 1 10 0 0 1
٢١٩
1
2
3
4
5
6
aaaaaa
1 ندخل 2 3 4 5aa1 (a ,a ,a ,a ,a ) 1او 2 3 4 5aa1 ({a },{a },{a },{a },{a }).
2للمتجة 1 من الرمزیمكن استخدامBasicTypesetting Palette. البرنامج الیحتاج للتفریق .للمتجهات والمصفوفات طالما الحسابات عرفت جیدا الصف والعمود فى الكتابة
. Array[f,n]نستخدم االمر f[i] من العناصر على الصورة nلتكوین مصفوفة على شكل صف به
. ل مثا
.عناصر 10كون قائمة تحتوى على صف من
:الحل
Array[f,9] {f[1],f[2],f[3],f[4],f[5],f[6],f[7],f[8],f[9]}
ل مثا
:التالیینعرف المتجهین
245
g ,d 5 5 5 5 5 5968
:الحل
٢٢٠
g={2,4,-5,9,6,8} {2,4,-5,9,6,8} g={{2},{4},{-5},{9},{6},{8}} {{2},{4},{-5},{9},{6},{8}} MatrixForm[g]
aa2=Table[5,{6}] {5,5,5,5,5,5}
من نافذة البرنامج ثم الذھاب Input یمكن الحصول علیها وذلك بالذهاب aa2 نفس النتیجة لـ
Creat Table/Matrix/Palette وبالضغط علیھا نحصل على الصندوق التالى:
ى ة 1وبوضع Matrixوبالضغط عل ى خان ة 5 و Number of Rowsف ى خان Number ofفColumns وFill with :0 وFill Diagonal :1.
.مكان مؤشر الفارة فى نافذة البرنامج المتجه التالى یمكن الحصول على OK االمروبالضغط على
:صبح كالتالى یوالتى بعد ملئه .
245968
5 5 5 5 5
٢٢١
Extractingعناصر من المصفوفات)استخراج (استخالص )٢-٦-٤(Elements of Matrices
11فى المصفوفة 12 21 22g {{a ,a },{a ,a }} 2ذات البعد 2 فانg[[1]]
11او القائمة g یعطى العنصر االول فى المصفوفة 12{a ,a g[[2,1]]ایضا . gاو الصف االول من {
مصفوفة من البعد gاذا كانت عموما .21aاى gمن المصفوفة الصف الثانى یعطى العنصر االول من من m n فانg[[i, j]] اوPart[g,i,j] الوحید فى الصف العنصریعطىith العمودjth . واكثر توضیحا
:فان
g[[i, j]] یعطى الجزءjth من الجزءith منg . عموماlist[[i]] اوPart[list,i] تعطى الجزءith من,list[[iوالقائمة j]] اوPart[list,i, j]] تعطى الجزءjth من الجزءith القائمة منlist.
ل مثا
:لمصفوفة التالیة ا بفرض
5 4 2A 9 1 4
9 8 3
الثانىمن الصف االولاستخلص العنصر و Aاستخلص الصف الثانى من المصفوفة
.فى الشكل التقلیدى Aاعرض المصفوفة وA من المصفوفة
:الحل
و الى عرض الصف الثانى من المصفوفة تؤدى aa1[[2] ]حیث aa1بتعریف المصفوفة سوف نبدا aa1[[2,1]] من المصفوفة الحصول على العنصر االول فى الصف الثانى تؤدى الى.
aa1={{5,4,2},{9,1,4},{9,-8,2}} {{5,4,2},{9,1,4},{9,-8,2}} aa1[[2]] {9,1,4} aa1[[2,1]] 9 MatrixForm[aa1]
٢٢٢
. A لحساب مدور المصفوفة واالعمدة اى تغییر الصفوفل Transpose[A] یستخدم االمر
ل مثا
:بفرض المصفوفة التالیة
5 4 2A 9 1 4
9 8 2
ث من المصفوفة الالثالعمود و والصف الثالث العمود االول الصف االول و استخلصاوجد مدور الصفوفة و A .
:الحل
ثم نستخدم aa1الیجاد مدور المصفوفة Transposeثم نستخدم aa1سوف نعرف المصفوفة : اوال : االمر
aa1[[1]]
:ثم االمر للحصول على الصف االول
Transpose[aa1][[1]]
ونفس الشئ للحصول على العمود االول
.بالنسبة للصف الثالث والعمود الثالث
5 4 29 1 49 8 2
٢٢٣
aa1={{5,4,2},{9,1,4},{9,-8,2}} {{5,4,2},{9,1,4},{9,-8,2}} aa2=Transpose[aa1];MatrixForm[aa2]
aa1[[1]] {5,4,2} Transpose[aa1][[1]] {5,9,9} aa1[[3]] {9,-8,2} Transpose[aa1][[3]] {2,4,2}
من الحزم الجاهزة اوامر اخري تخص المصفوفات یمكن الحصول علیها
MatrixManipulation الموجودة فى دلیلLinear Algebra
.ویمكن من النافذة التالیة الحصول على معلومات عن هذه الحزمة وامثلة
5 9 94 1 82 4 2
٢٢٤
:التالى لتحمیل هذه الحزمة نكتب <<LinearAlgebra'MatrixManipulation"
او TakeRows وذلك الستخالص اعمدة او صفوف من TakeCplumns یمكن استخدام اوامر مثل :بادخال . المصفوفة المعطاه
<<LinearAlgebra`MatrixManipulation` aa1={{5,4,2},{9,1,4},{9,-8,2}} {{5,4,2},{9,1,4},{9,-8,2}} TakeColumns[aa1,{2}]//MatrixForm
.وعرض الناتج فى الصورة التقلیدیة للعمود نحصل على العمود الثانى
:فة وذلك بادخال فو على العمود االول و الثانى وعرض الناتج فى الصورة التقلیدیة للمص ویمكن الحصول TakeColumns[aa1,{1,2}]//MatrixForm
418
5 49 19 8
٢٢٥
االولیة على المصفوفات والمتجهاتالحسابات )٣-٦-٤(
Basic Computation with Matrices and Vectors
فعلى سبیل لمثال جمع .كل العملیات العادیة التى تجرى على المصفوفات یقدم برنامج الماثیماتیكا (kB) Scale multiplication وضرب المصفوفة فى ثابت (A+B) Matrix addition
. والجمع بین تلك العملیات متاحة فى البرنامج (AB) Multiplication Matrix وضرب مصفوفتین
الصفوف فى علیه حیث تحول یمكن الحصول و A هو A المدور للمصفوفة
.Transpos الى اعمدة وذلك باستخدام االمر A المصفوفة .De[A] لها باستخدام االمر Determinant اذا كانت المصفوفة مربعة فیمكن ایجاد المحدد
B یسمى المعكوس فان AB BA I n یحققان الشرط n البعدمصفوفتان من A,B اذا كانت . Inverse[A] ویمكن الحصول علیھ من االمر
1Aویرمز لھ بالرمز A للمصفوفة
ل مثا
:بفرض المصفوفة التالیة
5 4 2A 9 1 4
9 8 2
:والمصفوفة
4 5 6B 7 8 9
10 5 2
Aاحسب B و A Bالمعكوس للمصفوفة وAB المحدد للمصفوفة وA.B
:الحل
aa1={{5,4,2},{9,1,4},{9,-8,2}}; aa2={{4,5,6},{7,8,9},{10,5,2}}; aa1+aa2//MatrixForm
٢٢٦
aa1-aa2//MatrixForm
Inverse[aa1.aa2]//N {{0.797917,-0.641667,0.735417},{-2.42083,1.98333,- 2.04583},{1.55625,-1.275,1.24375}} MatrixForm[%]
Det[aa1.aa2] -480
ل مثا
:التالیة تانبفرض المصفوف
2 1 12 3 4 4 3 3 2
A , B=1 5 6 7 5 2 1
6 4 3
.AB,BAاحسب
:الحل
2من البعد Aالن 4 والمصفوفةB 4من البعد 3 فان المصفوفةAB 2سوف تكون فى البعد 3 .
الى من نافذة البرنامج ثم الذھاب Input وذلك بالذهاب الى aaa سوف نعرف المصفوفة :اوال Creat Table/Matrix/Palette ى الى وبالضغط عل وبالضغط علیھا نحصل على الصندوق الت
Matrix فى خانة 2وبوضعNumber of Rows فى خانة 4وNumber of Columns:
.Fill Diagonal :1و Fill with :0و
9 9 816 9 1319 3 4
1 1 42 7 51 13 0
0.797917 0.641667 0.7354172.42083 1.98333 2.045831.55625 1.275 1.24375
٢٢٧
.مكان مؤشر الفارة فى نافذة البرنامج المصفوفة التالیة یمكن الحصول على OK االمروبالضغط على
:والتى بعد ملئها وتسمیتها تصبح كالتالى
{{2,3,4,4},{1,5,6,7}}
: aa2 وبنفس الشكل نكون المصفوفة التالیة
{{2,1,1},{3,3,2},{5,2,1},{6,4,3}}
:باالوامر التالیة aa2 والمصفوفة aa1 وكبدیل وبصیغة االدخال یمكن تعریف المصفوفة aa1={{2,3,4,4},{1,5,6,7}} {{2,3,4,4},{1,5,6,7}} aa2={{2,1,1},{3,3,2},{5,2,1},{6,4,3}} {{2,1,1},{3,3,2},{5,2,1},{6,4,3}}
ا فى الشكل التقلیدى للمصفوفة ھووضع : aaa المسماه AB االن یمكن حساب المصفوفة
aaa=aa1.aa2
aa1 2 3 4 41 5 6 7
aa2
2 1 13 3 25 2 16 4 3
٢٢٨
{{57,35,24},{89,56,38}} MatrixForm[aaa]
.ال تعرف ونحصل على رسالة خطا عندما نحاول حسابها BAفى بعض االحیان فان المصفوفة
bbb=aa2.aa1
{{2,1,1},{3,3,2},{5,2,1},{6,4,3}}.{{2,3,4,4},{1,5,6,7}}
.الحسابات مع المتجهات تتم بنفس الطریقة
:تعریف
1 اى اذا كان لدینا النقطة.من االبعاد Pلھ اذا كان لدینا نقطة فى فراغ 2 pP (x ,x ,...,x ) فان المسافة
0بینها وبین نقطة االصل (0,0,...,0) هى:
2 2 21 2 pd(0,P) x x ,...,x
.norm ) او االقلیدیة (وتسمى المسافة الخطیة
ل مثا
:بفرض المتجهات التالیة
2 43 3
c , d=4 25 -1
dاحسب ) أ( 5c )ب (dc )ج (d c , d[0,d] d[0,c]
.
:الحل
c={2,3,4,5} {2,3,4,5}
57 35 2489 56 38
Dot::dotsh :
Tensors 2, 1, 1, 3, 3, 2, 5, 2, 1, 6, 4, 3 and2, 3, 4, 4, 1, 5, 6, 7 have incompatible shapes . More…
٢٢٩
d={4,3,2,1} {4,3,2,1} d+5c {14,18,22,26} d.c 30
ویجب التفریق ..MarixPower[aa1,n]من المرات یستخدم االمر nفى نفسها aa1 لضرب المصفوفة
وسوف نوضح الفرق بین . nرفع كل عنصر فى المصفوفة الى االس فهو n^(aa1)التعبیر امابین :وذلك من خالل المثال التالى االعملیتین النه یحدث لبس فیهم
ل مثا
:بفرض المصفوفة التالیة
2 3 4 15 2 3 1
A2 3 4 11 2 4 3
2احسب 3A ,A احسب و بامرین مختلفین(A) ^ 2,(A) ^ .وذلك لتوضیح الفرق بینها 3
:الحل
aa1={{2,3,4,1},{5,2,3,1},{2,3,4,1},{1,2,4,3}} {{2,3,4,1},{5,2,3,1},{2,3,4,1},{1,2,4,3}} MatrixForm[aa1.aa1]
MatrixForm[MatrixPower[aa1,2]]
normx_:x.xaa1
cnormc
2
3
3,
16
,
223
3,
5
36
aa2d
normd
28 26 37 1227 30 42 1328 26 37 1223 25 38 16
٢٣٠
MatrixForm[aa1^2]
MatrixForm[aa1.aa1.aa1]
MatrixForm[MatrixPower[aa1,3]]
MatrixForm[aa1^3]
Recursion العالقات المتكررة )٤-٦-٤(
فعلى . هفى الماثیماتیكا مفیدة جدا، فكثیر من العملیات فى البرنامج تسخدم recursionاستخدام فى الحقیقة وزیع الهندسى الزائدى تستخدم تالمثال فى التوزیعات االحتمالیة المتقطعة مثل توزیع ذى الحدین والسبیل
recursion ات حیث فى حساب االحتماالت لهذه التوزیعات وعمل الجداول االحصائیة التى تخص هذه التوزیعفى هذا .وهكذا x=2واستخدامها فى حساب x=1یمكن حساب recursionومن x=0یحسب فقط احتمال
.وشرح كیف تكتب الدوال recursionالجزء سوف نقدم عدد من االمثلة على
Fibonacciاعداد
مجموع ابة االعداد باضافة توواحد صحیح ثم نستمر فى ك 0نكتب :كاالتى Fibonacciیمكن تعریف اعداد :اخر عددین تم كتابتهم
28 26 37 1227 30 42 1328 26 37 1223 25 38 16
4 9 16 125 4 9 14 9 16 11 4 16 9
272 271 386 127301 293 418 138272 271 386 127263 265 383 134
272 271 386 127301 293 418 138272 271 386 127263 265 383 134
8 27 64 1125 8 27 18 27 64 11 8 64 27
٢٣١
0 1 2 3 4 5 6 7 8
0 1 1 2 3 5 8 13 21F F F F F F F F F
:اقرب طریق لتعریفه یكون كالتالى
0
1
n n 2 n 1
F 0F 1F F F , n 1
:فاننا نغیرها الى الشكل التالى عندما نفكر فى هذه المتتابعة كدالة
F[0] 0F[1] 1F[n] F[n 2] F[n 1] , n 1
:التعریف الى ماثیماتیكا كالتالى بهذا الشكل یمكن تحویل
F[0]:=0 F[1]:=1 F[n_]:=F[n-2]+F[n-1]/;n>1 F[6] 8
Table[F[i],{i,0,8}] {0,1,1,2,3,5,8,13,21}
حساب الحلول النظمة خطیة من المعادالت )٥-٦-٤(
Calculation Solution of Linear of Systems of Equations
Axنظام من المعادالت الخطیة لحل b حیث A مصفوفة المعامالت وتمثلb تمثل المتجة المعرف
1موجودة فان 1Aاذا كانت . تمثل المتجه المجهول x و 1A Ax A b وعلى ذلك. 1x A b
ل مثا
:Matrix Equation حل معادلة المصفوفة
2 1 2 x 103 2 2 y 15 4 3 z 4
٢٣٢
:الحل
:اى ان الحل هو
1x 2 1 2 10y 3 2 2 1z 5 4 3 4
فى حساب aa1وسوف نستخدم معكوس المصفوفة bوالمتجه aa1سوف نعرف المصفوفة Inverse[aa1].b
aa1={{2,1,-2},{3,2,2},{5,4,3}} {{2,1,-2},{3,2,2},{5,4,3}} b={10,1,4} {10,1,4} {x,y,z}=Inverse[aa1].b {1,2,-3}
والن النتیجة تساوى . aa1.{x,y,z}یمكن التحقق من صحة الحل وذلك بحساب ي1014
فاننا نستنتج ان
:حل لهذا النظام هو ال
123
:اى ان اىاى اى
aa1.{x,y,z} {10,1,4}
اوامر عدیدة وذلك لحل انظمة من المعدالت الخطیة والتى ال تعتمد على حساب المعكوس یقدم البرنامج :االمر . Aللمصوفة
Solve[{eqn1,eqn2,...,eqnn},{var1,var 2,...,var n}]
حیث كال من المعادالت والمتغیرات )nومتغیرات عددها nمعادالت عددها ( یؤدى الى حل معادالت خطیة . تدخل فى صورة قوائم
٢٣٣
: تكافئ النظام التالى السابقة معادلة المصفوفة
2x y 2z 103x 2y 2z 15x 4y 3z 4
:كالتالى Solveوالتى یمكن حلها باالمر
Solve[{2x+y-2z10,3x+2y+2z1,5x+4y+3z4},{x,y,z}] {{x1,y2,z-3}}
:یمكن استخدام االمر التالى والذى یعطى نفس النتیجة Solve[{2x+y-2z,3x+2y+2z,5x+4y+3z}=={10,1,4}] {{x1,y2,z-3}}
:ویمكن الحل باسلوب اخر كالتالى .
aa1={{2,1,-2},{3,2,2},{5,4,3}} {{2,1,-2},{3,2,2},{5,4,3}} Clear[x,y,z] ss=Thread[aa1.{x,y,z}{10,1,4}] {2 x+y-2 z10,3 x+2 y+2 z1,5 x+4 y+3 z4} Solve[ss] {{x1,y2,z-3}}
هذا النظام من المعادالت یكافئ . (Ax=b (اسلوب اخر یعتمد على شكل المصفوفة لنظام المعادالت :معادلة المصفوفة
2 1 2 x 103 2 2 y 15 4 3 z 4
:الحل یكون كالتالى
aa1={{2,1,-2},{3,2,2},{5,4,3}};b={10,1,4};xx={x,y,z};Solve[aa1.xxb,xx]
{{x1,y2,z-3}}
:باالضافة الى ذلك یمكن استخدام االمر التالى
LinearSolve[A,b]
٢٣٤
كما نرى Solve عن االمراسرع عموما هذا االمر یحسب النظام .Ax=b مللنظا x الحل والذى یحسب . التالیة Help Browser فى التعلیقات فى نافذة
ل مثا
:حل النظام التالى من ثالث معادالت
٢٣٥
2x y 2z 103x 2y 2z 15x 4y 3z 4
الحل:.لحل النظام LinearSolve سوف نستخدم
aa1={{2,1,-2},{3,2,2},{5,4,3}};b={10,1,4};xx={x,y,z};aa2=LinearSolve[aa1,b] {1,2,-3}
ل مثا
:حل النظام التالى من ثالث معادالت
2 1 2 x 103 2 2 y 15 4 3 z 4
الحل :: مختلفینسوف نحل هذا المثال باسلوبین
Solve[{2x[1]+x[2]-2x[3],3x[1]+2x[2]+2x[3],5x[1]+4x[2]+3x[3]}{10,1,4}] {{x[1]1,x[2]2,x[3]-3}} Clear[aa1] aa1= {{2,1.-2},{3,2,2},{5,4,3},b={10,1,4}} {{2,-1.},{3,2,2},{5,4,3},{10,1,4}} LinearSolve[aa1,b] {1,2,-3}
ل مثا
٢٣٦
:الخطیة التالى حل نظام المعادالت
x
1 3 4 2 5y
0 2 5 1 2z
0 1 3 0 4w
الحل : aa1={{1,-3,4,-2},{0,2,5,1},{0,1,-3,0}} {{1,-3,4,-2},{0,2,5,1},{0,1,-3,0}} LinearSolve[aa1,{5,2,5}]
تم حساب لذلكنظام المعادالت هنا یتكون من ثالث معادالت فى اربعة مجاهیل وله عدد النهائى من الحلول
ثالث مجاهیل بداللة المجهول الرابع وناتج الحل یمثل حل نظام المعادالت بعد اخذ قیمة عددیة للمجهول الرابع
dan Elimination rJo-Gaussطریقة
: matrix equationبفرض معادلة المصفوفة
Ax حیث :
1 1
11 12 1n 2 2
21 22 2n
m1 m2 mn
n m
x ba a a x ba a a . .
A , x ,b. .
a a a . .x b
mمن البعد Aالمصفوفة n تسمى مصفوفة المعامالتCoefficient Matrix لمعادلة المصفوفةAx b والمصفوفة من البعدm (n 1) هى:
18011
,31
11,
8
11, 0
٢٣٧
11 12 1n 1
21 22 2n 2
m1 m2 mn m
a a a ba a a b
(A | b)
a a a b
A)م الحزم الجاهزة فى ایجاد المصفوفة خدسوف نست | b) فى واستخدامها فى ایجاد الحل لنظم المعادالت .المثال التالى
ل مثا
:حل النظام التالى من ثالث معادالت
2 1 2 x 103 2 2 y 15 4 3 z 4
الحل : (A | b) المصفوفة سوف نخصل على
:واستخدامها فى الحل كالتالى <<LinearAlgebra`MatrixManipulation` aa1={{2,1,-2},{3,2,2},{5,4,3}};b={{10},{1},{4}}; aa2=AppendRows[aa1,b] {{2,1,-2,10},{3,2,2,1},{5,4,3,4}} MatrixForm[aa2]
?RowReduce
RowReduce[aa2]//MatrixForm
:ومن النتیجة النهائیة نستنتج ان الحل هو
2 1 2 103 2 2 15 4 3 4
RowReducem gives the row
reduced form of the matrix m.More…
1 0 0 10 1 0 20 0 1 3
٢٣٨
x 1y 2z 3
:ویمكن التحقق من صحة النتیجة كالتالى Clear[x,y,z] {2x+y-2z,3x+2y+2z,5x+4y+3z}/.{x1,y2,z-3} {10,1,4}
Gauss Eliminationطریقة
والن االمر . لحساب الحلول النظمة خطیة من المعادالت عمل برنامج نفى هذا الجزء سوف نتعلم كیف یمك Linear Solve فى هذا الجزء سوف نقدم .ویفشل فى ایجاد الحل .مثل اى امر لهذه المشكلة لیس دائما یعمل
بفرض اننا نرید حل نظام . Gauss Eliminationطریقة بسیطة وتقلیدیة لحل مثل هذا النظام تسمى طریقة :ه على الشكل التالى مظنوسوف ن Sخطى
1 11 1 1n n 1
2 21 1 2n n 2
n n1 1 nn n n
E : a x a x bE : a x a x b
E : a x a x b
n-1 وعلى االخص نظام اصغرسوف نفترض اننا قادرین على حل Recursion باستخدام اساسیات التتابع
.من المجاهیل ونسال انفسنا كیف نحل هذا النظام االصغر ونستخدمه فى حل النظام n-1 فى
2 . فعلى سبیل المثال سوف 2 2E ,E ,...,E من المعادالت 1x حذف كلهى الفكرة فى طریقة جاوس
: 2E من 1x نوضح كیف یمكن حذف
21
11
aa
فى 1E یتم ضرب)ا(
21 2111 1 12 2 1n n 1
11 11
a a(a x a x ... a x ) ba a
:والتى تبسط الى الشكل التالى
٢٣٩
21 21 2121 1 12 2 1n n 1
11 11 11
a a a(a x a x ... a x ) ba a a
: 2E وبطرحها من المعادلة)ب(
21 1 22 2 2n n 2
21 21 2121 1 12 2 1n n 1
11 11 11
a x a x ... a x b
a a a(a x a x ... a x ) ba a a
:نحصل على
21 21 2122 12 2 2n 1n n 2 1
11 11 11
a a aa a x ... a a x ) b ba a a
iE معادلة حیث نحول على كل ذلك یطبقسوف .من المتغیرات n-1 نحصل على سوفوبالتالى معادلة بها
S ثم نوجد الحل لهذا النظام ویسمى هذا النظام i1i i 1
11
aE E ( )Ea
الى i 2,...,n من i لجمیع
:كالتالى 1x نستخدمها فى حساب قیمة 2 nx ,...,x وبعد الحصول على قیم
1 12 2 1n n1
11
b (a x ... a x )xa
. ib من المعامالت مع المتجه من قیم n n الطریقة فان النظام یمثل بمصفوفة من البعد فى برمجة تلك
.االخیرفى العمود ib حیث (n 1) n تمثیل النظام بمصفوفة من البعدفى الحقیقة یكون من المالئم
والتى تعید قیم (n 1) n مصفوفة من البعد S حیث t[S] عند تنفیذ البرنامج سوف نعرف
:من المجاهیل n t[S_]:=Module[{E1=First[S], x2toxn=h[elimx1[S]]}, Module[{b1=Last[E1], a11=First[E1], a12toaln=Drop[Rest[E1],-1]}, Join[{(b1-a12toaln.x2toxn)/a11},x2toxn]]]
:مسبوقة بالدوال التالیة f[S_]:=Map[Last[#]&,S] g[S_]:=Map[Drop[#,-1]&,S] h[S_]:=LinearSolve[g[S],f[S]]
٢٤٠
.والتى تنتج النظام االصغر elimx1[S] االن نحتاج الى تعریف الدالة :صف من المصفوفة لمرة اخرى عملیة الحذف تاخذ ك
i1 i2 in ia ,a ,...,a ,b :الى وتحولها
i1 i1 i1i2 12 in 1n i 1
11 11 11
a a aa ( )a ,...,a ( )a ,b ( )ba a a
:باستخدام الدالة التالیة elimx1[S_]:= Map[substractE1[S[[1]],#]&,Rest[S]]
substractE1[E1_,Ei_]:=Module[{z=Ei[[1]]/E1[[1]]}, Module[{newE1=z*Rest[E1]},
:االن البرنامج سوف یكون على الشكل التالى f[S_]:=Map[Last[#]&,S] g[S_]:=Map[Drop[#,-1]&,S] h[S_]:=LinearSolve[g[S],f[S]] substractE1[E1_,Ei_]:=Module[{z=Ei[[1]]/E1[[1]]}, Module[{newE1=z*Rest[E1]}, Rest[Ei]-newE1]] elimx1[S_]:= Map[substractE1[S[[1]],#]&,Rest[S]] t[S_]:=Module[{E1=First[S], x2toxn=h[elimx1[S]]}, Module[{b1=Last[E1], a11=First[E1], a12toaln=Drop[Rest[E1],-1]}, Join[{(b1-a12toaln.x2toxn)/a11},x2toxn]]]
ل مثا
:حل النظام التالى من ثالث معادالت
x 2y z 43x 2y z 8
x 3y 5z 0
:الحل
٢٤١
f[S_]:=Map[Last[#]&,S] g[S_]:=Map[Drop[#,-1]&,S] h[S_]:=LinearSolve[g[S],f[S]] substractE1[E1_,Ei_]:=Module[{z=Ei[[1]]/E1[[1]]}, Module[{newE1=z*Rest[E1]}, Rest[Ei]-newE1]] elimx1[S_]:= Map[substractE1[S[[1]],#]&,Rest[S]] t[S_]:=Module[{E1=First[S], x2toxn=h[elimx1[S]]}, Module[{b1=Last[E1], a11=First[E1], a12toaln=Drop[Rest[E1],-1]}, Join[{(b1-a12toaln.x2toxn)/a11},x2toxn]]];
p بالرمز (A | b) سوف نعرف المصفوفة p={{1,-2,1,-4},{3,2,-1,8},{-1,3,5,0}} {{1,-2,1,-4},{3,2,-1,8},{-1,3,5,0}};
t[p]ونكتباالمر t[p] {{1,-2,1,-4},{3,2,-1,8},{-1,3,5,0}} {1,2,-1}
{1,2,-1} اى ان النتیجة
ل مثا
:حل النظام التالى من معادلتین
x 2y 34x 5y 6
:الحل
f[S_]:=Map[Last[#]&,S] g[S_]:=Map[Drop[#,-1]&,S] h[S_]:=LinearSolve[g[S],f[S]] substractE1[E1_,Ei_]:=Module[{z=Ei[[1]]/E1[[1]]}, Module[{newE1=z*Rest[E1]}, Rest[Ei]-newE1]] elimx1[S_]:= Map[substractE1[S[[1]],#]&,Rest[S]] t[S_]:=Module[{E1=First[S],
٢٤٢
x2toxn=h[elimx1[S]]}, Module[{b1=Last[E1], a11=First[E1], a12toaln=Drop[Rest[E1],-1]}, Join[{(b1-a12toaln.x2toxn)/a11},x2toxn]]] p={{1,2,3},{4,5,6}} {{1,2,3},{4,5,6}} t[p] {-1,2}
{-1,2} اى ان النتیجة
القیم الممیزة والمتجهات الممیزة )٥-٦- ٤(
Eigenvalues and Eigenvectors
تسمى القیمة الممیزة للصمفوفة A اذا القیمة . بمكونات حقیقیة n m مصفوفة من البعد A لتكن
هذا المتجه الغیر صفرى یسمى المتجه الممیز . Av v یحقق المعادلة v وجد متجه غیر صفرى
A I هى المصفوفة A للمصفوفة characteristic matrix المصفوفة الممیزة . A للمصفوفة Characteristic equation القیم الممیزة هى الجذور للمعادلة. تمثل مصفوفة الوحدة الممیزة I حیث
| A I | 0 المحدد یسمى كثیرة الحدود الممیزة وهذا ، A I | المحدد للمصفوفة هو A I | حیث
. n جذور المعادلة السابقة عددهم على االكثر والتى تمثل القیم الممیزة . Characteristic polynomial .فى حساب القیم الممیزة والمتجهات الممیزة االن سوف نبدا بمناقشة االوامر التى تستخدم
CharacteristicPolynomial[A.x] االمر
. x كثیرة الحدود فى A لمصفوفة مربعة | A I | والذى یعطى
.A والذى یعطى قائمة بالقیم الممیزة للمصفوفة المربعة Eigenvalues[A] االمر
.A بالمتجهات الممیزة للمصفوفة المربعةوالذى یعطى قائمة Eigenvectors[A] االمر االمر Eigensystem[A] والمتجهات الممیزة المقابلة لها والذى یعطى قائمة بالقیم الممیزة
. A للمصفوفة المربعة
ل مثا
٢٤٣
:بفرض المصفوفة التالیة
4 3 4A 1 3 1
1 1 5
.والقیم الممیزة والمتجهات الممیزة Aللمصفوفة الممیزةكثیرة الحدود اوجد
:الحل
وذلك بحساب Aللمصفوفة كثیرة الحدود الممیزةوبعد ذلك نحسب . aa1سوف نبدا بتعریف المصفوفة A للمصفوفة الممیزة المحدد I حیثI 3)مصفوفة الوحدة من البعد 3) وذلك باستخدام االمرDet
ثم استخدام االمر
CharacteristicPolynomial ثم استخدام االمر .للحصول على نفس النتیجةSolve
: للحصول على تقریب للجذور الممیزة NSolveثم االمر aa1={{4,-3,4},{1,-3,1},{-1,-1,5}} {{4,-3,4},{1,-3,1},{-1,-1,5}} Det[aa1- IdentityMatrix[3]]
p=CharacteristicPolynomial[aa1,]
Solve[p0]
N[Solve[p0]]
54 62 3
54 62 3
2180 2840713
323
11
3180 2840713,
213 180 2840713
2323
111 3
23180 2840713,
213 180 2840713
2323
111 3
23180 2840713
٢٤٤
{{-2.46704},{4.23352 -1.99144 },{4.23352 +1.99144 }}
ل مثا
:بفرض المصفوفة التالیة
1 5 1A 3 6 6
4 1 7
.المضبوطة والتقریبیة اوجد القیم الممیزة
:الحل
Clear[aa1] aa1={{1,5,1},{-3,6,-6},{-4,1,7}} {{1,5,1},{-3,6,-6},{-4,1,7}} Eigenvalues[aa1]
Eigenvalues[N[aa1]] {8.68668,2.65666 +5.17562 ,2.65666 -5.17562 }
1هذه المصفوفة لها قیمة ممیزة وحیدة 8.68668 وزوج مركب مرتبط:
2,3 2.65666 5.17562i
فى بعض االحیان یالحظ ان البرنامج لم یتمكن من حساب القیم الممیزة الن عناصر المصفوفة اعداد صحیحة فمثال (ویمكن التغلب على هذه المشكلة عن طریقة كتابة االعداد الموجودة فى المصفوفة فى الصورة العشریة
. 4بدال من 4.0 یكتب
ل مثا
:بفرض المصفوفة التالیة
Root294 80#1 14#12 #13 &, 1,Root294 80#1 14#12 #13 &, 3,Root294 80#1 14#12 #13 &, 2
٢٤٥
0 3A
4 4
.Eigensystem والمتجهات الممیزة باستخدام االمر اوجد القیم الممیزة
:الحل
لحساب القیم الممیزة والمتجهات المقابلة لها Eigensystemثم نستخدم aa1سوف نعرف المصفوفة .aa2والمسماه
aa1={{0,3},{4,-4}} {{0,3},{4,-4}} aa2=Eigensystem[aa1] {{-6,2},{{-1,2},{3,2}}}
:والمتجھات الممیزة المقابلة ھما 1 26, 2 هما وعلى ذلك القیم الممیزة
1 2
1 3v ,v
2 2
aa2 القیم الممیزة تمثل العنصر االول من aa2[[1]] {-6,2}
aa2 من الثانىالممیزة تمثل العنصر المتجھات
aa2[[2]] {{-1,2},{3,2}}
:اى ان 1 1 2 2Av v ,Av v للتحقق من صحة النتائج سوف نثبت ان 1 1
A 62 2
و
3 3A 2
2 2
aa1.aa2[[2,1]]aa2[[1,1]]aa2[[2,1]] True aa1.aa2[[2,2]]aa2[[1,2]]aa2[[2,2]] True
٢٤٦
ل مثا
:بفرض المصفوفة التالیة
3 5 4A 5 6 3
3 2 2
.وللمتجهات الممیزة اوجد تقریبات للقیم الممیزة
:الحل
لحساب القیم الممیزة والمتجهات المقابلة لها Eigensystemثم نستخدم aa1سوف نعرف المصفوفة .aa2 والمسماه
aa1={{3,-5,-4},{-5,6,3},{-3,2,-2}} {{3,-5,-4},{-5,6,3},{-3,2,-2}} aa2=Eigensystem[N[aa1]] {{10.9879,-3.77071,-0.217222},{{-0.601654,0.756787,0.255509},{0.505049,-0.00654559,0.863066},{0.651499,0.68315,-0.329933}}}
:كالتالى aa2 القیم الممیزة تستخلص من aa2[[1]] {10.9879,-3.77071,-0.217222}
:كالتالى aa2 تستخلص من المتجهات الممیزة aa2[[2]] {{-0.601654,0.756787,0.255509},{0.505049,-0.00654559,0.863066},{0.651499,0.68315,-0.329933}}
.نتحقق ان تلك النتائج تمثل القیم التقریبیة للقیم الممیزة ومتجهاتها المقابلةسوف :سوف نتحقق ان : اوال
1 1Av v :وسوف نثبت انها صحیحة
aa1.aa2[[2,1]]==aa2[[1,1]]aa2[[2,1]] True
:سوف نتحقق ان : ثانیا 2 2Av v
٢٤٧
:صحیحة غیر انهاوسوف نثبت aa1.aa2[[2,2]]==aa2[[1,2]]aa2[[2,2]] False
2 2Av v المقدار فى هذه الحالة نحسب aa1.aa2[[2,2]]-aa2[[1,2]]aa2[[2,2]]
:باستخدام االمر صغیر جدا ویقترب من الصفر ویمكن اثبات ذلك ان الفرق وقد وجدنا
?Chop
Chop[aa1.aa2[[2,2]]-aa2[[1,2]]aa2[[2,2]]] {0,0,0}
:سوف نتحقق ان : لثاثا
3 3Av v :صحیحة وسوف نثبت انها
aa1.aa2[[2,3]]==aa2[[1,3]]aa2[[2,3]] True
8.881781016, 1.585541015, 8.881781016
Chopexpr replaces approximate
real numbers in expr that are closeto zero by the exact integer 0.More…
٢٤٨
الفصل الخامس
التفاضل والتكامل
٢٤٩
للدوال الریاضیة لتفاضل والتكامل لالجراء عملیات ااالوامر االزمة یقدم برنامج الماثیماتیكا فى هذا الفصل .المختلفة سواء فى متغیر واحد او فى متغیرات متعددة
Computing Limitsحساب النهایات) ١- ٥(
النھایات سواء عددیا حصول على لل یستخدم البرنامج . واحد من المواضیع الرئیسیة فى التفاضل والتكامل ھو النھایات Limit[f[x],xیستخدم االمر . او بیانیا a] الیجاد نھایة
x alim f(x)
f ( x(النھایة للدالة اى ایجاد
السھم ). (او نھایة سالبة ) (قد تكون عدد محدود او نھایة موجبة aحیث aالى القیمة x عندما تؤول " " ل علیھ بكتابة عالمة السالب ویمكن الحص" " یتبعھا عالمة اكبر من" ".
مثال
االستعالم عن استخدم الرسم وجدول من القیم فى x 0
sin 3x lim x
:الحل
:ثم نعرف fالزالة اى تعریفات سابقة لـ Clearسوف نسنخدم االمر
sin 3x f (x) x
]فى الفترة fوبعد ذلك نرسم , ] باستخدام االمرPlot .
Clear[f];
Plot[f[x],{x,-,}]
fx_: Sin3xx
;
٢٥٠
Graphics
x 0
sin 3x lim 3x
یتضح من الرسم ان
x 0
sin 3x lim 3x
عموما للتاكد من ان
. القریبة من الصفر x لقیم f(x) یتم حساب قیم
. اعداد حقیقیة عشوائیة ستةوالتى تمثل قائمة من aa1 لتعریف Random االن سوف نستخدم ویجب التذكیر عند تولید هذه. وهكذا والعدد الثانى یقع بین 1/10,1/10- -1,1 العدد االول یقع بین
.شوائیا االعداد مرة اخرى من قبل المستخدم سوف تختلف النتائج الن هذة اعداد تم تولیدها ع
aa2=Map[f,aa1] {2.88405,2.99901,3.,3.,3.,3.} aa3=Table[{aa1[[i]],aa2[[i]]},{i,1,6}]
TableForm[aa3]
-3 -2 -1 1 2 3-0.5
0.5
1
1.5
2
2.5
3
fx_: Sin3xx
aa1 TableRandomReal, 10n, 10n, n, 0, 50.161466, 0.0148057, 0.0004633,
0.000745624, 0.0000983324, 4.75616106
0.161466, 2.88405, 0.0148057, 2.99901,0.0004633, 3., 0.000745624, 3.,0.0000983324, 3., 4.75616106, 3.
0.161466 2.884050.0148057 2.999010.0004633 3.0.000745624 3.0.0000983324 3.4.75616106 3.
٢٥١
x 0
sin 3x lim 3x
من الجدول یتضح ان
x 0
sin 3x lim 3x
بالطبع هذه النتائج ال تثبت ان
x 0
sin 3x lim 3x
ولكن تساعدنا فى الحل ان
Factoring بعض النهایات والتى تخص الدوال النسبیة یمكن حسابها وذلك عن طریق فك .البسط والمقام
مثال
2احسب
2x 1
x x 2x 1lim
:الحل
یدوى : سوف نقوم بحل المثال اوال 2
2(x 1)(x 1)x 1 x 1(x 2)(x 1) x 2x x 2x 1 x 1 x 1
lim lim lim .
2لیمثل التعبیر aa1سوف نعرف
2x 1
x x 2
2سوف نحاول حساب قیمة
2x 1
x x 2
ولكن سوف نجد انها x=1عند
. قیمة غیر معرفة
Indeterminate
Cancel لتوضیح كیف یمكن تبسیط التعبیر ثم نستخدم االمر Factor بفك البسط والمقام وذلك باالمر
aa2 االسمx 1x 2 سوف نعطى لـ
x 1x 2 الى
2
2x 1
x x 2
لتبسیط
. x=1 عند هونحسب
aa1x21
x2x2aa1.x 1
1 x2
2x x2
Power ::infy : Infinite expression1
0encountered . More…
::indet :
Indeterminate expression 0 ComplexInfinity encountered . More…
٢٥٢
Factor[Numerator[aa1]] (-1+x) (1+x) Factor[Denominator[aa1]] (-1+x) (2+x) aa2=Cancel[aa1]
aa2/.x1
: Limitاالن سوف نستخدم االمر
Limit[aa1,x1]
:وعلى ذلك یمكن القول ان
2
2x 1
x x 2x 1
2lim .3
مثال
2احسب
23x 5x 1x x 2x
lim
:الحل
یدوى : سوف نقوم بحل المثال اوال
2
2
2
2 23x 5x 1
2x x 2x x x
22
3x 5x 1 5 13 3x x xlim lim lim 3.1 2x x 2 11
x xx
فى المثال .فى المقام xاعلى اس لـ nحیث nxبصورة عامة یتم قسمة البسط والمقام للتعبیر على . n=2السابق
aa1x21
x2x21 x2
2 x x2
1 x
2 x
2
3
2
3
٢٥٣
: Limitباستخدام االمر : ثانیا
3
مثال
3احسب
2x 8x 4x
lim
:الحل
یدوى : سوف نقوم بحل المثال اوال
3
2
2
2x 8x 4x x x x
(x 2x 4) 4x 2(x 2x 4)(x 2) x xlim lim lim lim .(x 2) 2(x 2)(x 2) 1
x x
: Limitباستخدام االمر : ثانیا
مثال
2xاحسب 1x 1x
lim
:الحل
یدوى : سوف نقوم بحل المثال اوال
2x 1x 1x x x
(x 1)(x 1)lim lim lim(x 1) .(x 1)
: Limitباستخدام االمر : ثانیا
Limit3x25x1x2x2
,x
Limitx38x24
,x
٢٥٤
مثال
2احسب
2x 4
2x 5xlim
:الحل
یدوى : سوف نقوم بحل المثال اوال
2
2
2
2 2x 4
22x 5x x x
22
x 4 41 1x xlim lim lim .52x 5 22
xx
: Limitباستخدام االمر : ثانیا
مثال
3احسب
2x 75x 1x
lim
:الحل
یدوى: سوف نقوم بحل المثال اوال
Limitx21x1
,x
Limit x242x25
, x
1
2
٢٥٥
3
2
3
2 2x 7
25x 1x x x
22
x 7 7x
x xlim lim lim .15x 1 5xx
: Limitباستخدام االمر : ثانیا
-
مثال
2xاحسب 53x 1x
lim
:الحل
یدوى: سوف نقوم بحل المثال اوال
2x 53x 1x x x
2x 5 52 2x xlim lim lim .3x 1 1 33
x x
: Limitباستخدام االمر : ثانیا
مثال
Limit x375x21
, x
Limit 2x53x1
, x 2
3
٢٥٦
2احسب
3x 1
2x xxlim
:الحل
یدوى: سوف نقوم بحل المثال اوال
2
3
2
3 3x 1
32x xx x x
23
x 1 1 10x x xlim lim lim =0 .12x x 22
xx
: Limitباستخدام االمر : ثانیا
0
مثال
5احسب x
xlim x e
و
x
x
elimx!
:الحل
0
0
النهایات من طرف واحد :االمر . بعض االحیان فان البرنامج یستطیع حساب النهایة من طرف واحد فى
Limit[f[x],x->a,Direction->-1]
+x alim f(x)
والذى یحاول حساب
:بینما االمر اي النهایة من الیمین Limit[f[x],x->a,Direction->1]
-x alim f(x)
والذى یحاول حساب
Limit x212x3x
, x
Limitx5Expx, x
LimitExpxx
, x
٢٥٧
.النهایة من الیساراى
امثلة
:احسب
-x 1lim x-1
0
1x
2
lim 1-2x
0
4x
3
lim 4-3x
0
x -1lim x+1
0
x 0
1lim x
-
x 0
1lim x
Limitx1,x 1, Direction 1
Limit12x, x12, Direction 1
Limit43x, x43, Direction 1
Limitx1,x 1,Direction 1
Limit1x, x 0, Direction 1
Limit1x, x 0, Direction 1
٢٥٨
x 0
|x|lim x
1
-x 0
|x|lim x
-1
Differentiationالتفاضل ) ٢- ٥(
عند fنعلم من التفاضل ان مشتقة . یمكن للبرناج اجراء عملیات التفاضل للدوال الریاضیة المختلفة والتعبیرات x تعطى كالتالى:
f (x h) f (x)hh 0
f (x) lim
مع االمر Simplify یساعد فى تقدیر المشتقة لدالة Limit االمر. النهایة موجودة بشرط ان . باستخدام تعریف االشتقاق
مثال
fاحسب وبسط (x h) f (x)h واحسبf (x h) f (x)
hh 0lim
2g(x)اذا كانت 3x 7x 1
:الحل
فاننا نحسب ونبسط gبعد تعریف g(x h) g(x)
h
aa1 وتسمیة الناتج
Clear[g]
Limit Absxx
, x 0, Direction 1
Limit Absxx
, x 0, Direction 1
gx_: 3x27x1
٢٥٩
-7+3 h+6 x
f (x h) f (x)hh 0
lim
یلى ذلك استخدام االمر Limit لحساب
g (x)
النتیجة aa2 والمسماه
g(x)و g (x) لرسم Plot سوف نستخدم االمر
g بخطوط متقطعة (x) باللون االسود والرسم للدالة g(x) حیث الرسم للدالة
aa2=Limit[aa1,h0] -7+6 x Plot[{g[x],aa2},{x,-1,4},PlotStyle {GrayLevel[0],Dashing[{.01}]},PlotRange{-8,20},AspectRatio1]
Graphics
مثال
fاحسب وبسط (x h) f (x)h واحسبf (x h) f (x)
hh 0lim
2اذا كانت
x 3 2g(x)x 1
:الحل
g(xفاننا نحسب ونبسط gبعد تعریف h) g(x)h
aa1 Simplifygxh gxh
-1 1 2 3 4
-5
5
10
15
20
٢٦٠
aa1ونسمى الناتج
Clear[g]
f (x h) f (x)
hh 0lim
یلى ذلك استخدام االمر Limit لحساب
aa2 والمسماه g (x)
النتیجة و
aa2=Limit[aa1,h0]
باكثر من طریقة f(x) قابلة للتفاضل فان البرنامج یمكنه حساب المشتقة للدالة لدالة العندما تكون :الخاصة بالمشتقات وفیما یلى االوامر وبمجرد تعریف الدالة .
f [x] االمر . x بالنسبة للمتغیر f(x) یقوم بحساب المشتقة للدالة
D[f[x],x] االمر
. x بالنسبة للمتغیر f(x) للدالة یقوم بحساب المشتقة D[f[x],{x,n}] االمر
. x من المرات بالنسبة للمتغیر n f(x) یقوم باشتقاق الدالة
D[ Expression ,Variable] االمر . Variable بالنسبة للمتغیر Expression التعبیر یقوم باشتقاق
D[ Expression , {Variable ,n } ] االمر . Variable من المرات بالنسبة للمتغیر n Expression التعبیر یقوم باشتقاق
.وذلك من النافذة التالیة D للحصول على تفصیالت تخص HelpBrowser یمكن استخدام
gx_:x3 2x2 1
aa1 Togethergxh gxh
2h2 4hx 3 x h2 3 x 2hx 3 x
x2 3 x 3 h x x2 3 h x
h1 x2 1 h2 2hxx2
13x2 4x3 2 3 x
2 3x 1 x22
٢٦١
ایضا یمكن استخدام الرمز BasicInput ثم Palettes ثم على File لحصول على هذا الرمز بالضغط علىا ویتم
:كما یتضح فیما یلى
٢٦٢
التالیة فى نافذة البرنامجفتظهر القائمة
٢٦٣
الرمزوبالضغط على
.والموضح فى القائمة السابقة والموضح بالسهم وذلك فى مكان ادخالة فى نافذة البرنامج نحصل على المطلوب
امثلة
:احسب
3 2d 4x 3x 7dx
:یمكن الوصول الى الحل بطریقتین كالتالى
D4x33x27,x6x 12x2
٢٦٤
:احسب
22
d 33udu u
:یمكن الوصول الى الحل بطریقتین كالتالى
:احسب
d 1ydy y
:یمكن الوصول الى الحل بطریقتین كالتالى
:احسب
4 2d 3x (2x 1)dx
x 4x3 3x276x 12x2
D3u2 3u2, u
6
u3 6u
u 3u2 3u2
6
u3 6u
Dy 1
y, y
1
2y32
1
2y
y
y
1y
1
2y32
1
2y
٢٦٥
:یمكن الوصول الى الحل بطریقتین كالتالى
:احسب
d 1tdt t
:یمكن الوصول الى الحل بطریقتین كالتالى
:اذا كانت
5 6xf (x) x e اوجدf (x)
:كالتالى الحل یمكنف
D[f[x],x]
.الطرق الثالث السابقة وقد وجدنا ان نفس النتیجة حصلناعلیها باستخدام كل :كما یمكننا استخدام صیغة االدخال او الصیغة القیاسیة كما فى المثال التالى
:اذا كانت
D3x42x12, x12x3 41 2xx 3x4 2x1212x3 41 2x
Dt 1t, t
11
t2
t t1t
11
t2
fx_: x5Exp6x
56xx4 66x x5
x fx56xx4 66x x5
fx56xx4 66x x5
٢٦٦
2 90g(r) 4 rr اوجدg (r)
g[r_]:=4Pir^2+90Pi/r D[g[r],r]
D[g[r],r]
فبعد ازالة كل . الخ من البرنامج ...یمكن التعرف على قوانین التفاضل المشهورة مثل قاعدة الضرب والقسمة و
f (x)f (x), ,(f g)(x) f (g(x))g(x)
التعریفات السابقة ان وجدت یمكن حساب المشتقة لكل من
.فى قاعدة القسمة حتى تظهر الصیغة المعتادة للقاعدة Together سوف نستخدم االمر
Clear[f,g]
:االمثلة التالیة تبسط طریقة ایجاد الدرجات العلیا من المشتقات
90
r2r gr90
r2gr90
r2
gr_: 4r2 90r
90
r2r gr90
r2gr90
r2
x fxgxgx fx fx gxTogetherx
fxgx
gx fx fx gx
gx2x fgxfgx gx
٢٦٧
امثلة
:احسب
2
4 3 22
d 3x 7x 5x 8dx
:احسب
2
2
d (x 7)(2x 9dx
D[(x-7)(2x-9),{x,2}] 4
2
22
d x 2cos(x)dx
2-2 Cos[x]
3
23
d x 2cos(x)dx
2 Sin[x]
امثلة
2اذا كان
7g(y) 2y
فان:
D3x47x35x28, x, 210 42x 36x2
x,2 x2 2Cosx
x,3 x2 2Cosx
gy_: 2 7y2
gy42y4
y,22 7
y2
٢٦٨
Location Critical Points and Inflection Pointsالقیم الحرجة ونقط االنقالب
. ولما كانت مشتقات الدوال تمثل تعبیرات فان البرنامج یمكن استخدامه فى ایجاد النقط الحرجة ونقط االنقالب التى عندها خط المماس یكون افقیا او راسیا ، بینما نقط االنقالب fالنقط الحرجة تمثل النقط على الرسم للدالة
االن سوف نوضح بامثلة كیفیة ایجاد النقط . ى او الى اسفل مقعر الى اعل fتمثل النقط التى عندها الرسم للدالة
الحرجة ونقاط االنقالب لدوال مختلفة التالیة
مثال
:بفرض الدالة التالیة
2
x 2f (x)(x 5)
fثم حساب f(x)سوف نزیل كل التعریفات السابقة للدالة : اوال (x),f (x) مع تسمیة النتائجaa1,aa2 :على الترتیب
Clear[f]
f (x) 0,f (x) 0
االن البد من حل المعادلتین
Solve[aa1==0] {{x1}} Solve[aa2==0] {{x4}}
x 1 f ھو (x) 0 ان الحل للمعادلة من النتائج نجد
x 4 f ھو (x) 0 و الحل للمعادلة :االن نحسب f (1),f (4)
42
y4
fx_: x2x52
aa1 Togetherxfx1 x
5 x3aa2 Togetherx,2fx 24x5 x4
٢٦٩
{1,f[1]}
{4,f[4]}
. (4,2/27)ونقطة انقالب واحدة وهى (1,1/12)وهى fنستنتج ان هناك نقطة حرجة واحدة للدالة
استخدام المشتقات فى رسم الدوال Using Derivatives in Graphics Functions
:تساعد المشتقات من الدرجة االولى والثانیة فى توصیف الرسم للدوال كالتالى
fالتى عندها xهى نفسها قیم increasingمتزایدة fالتى عندها xقیم - (x)موجبة. fالتى عندها xهى نفسها قیم decreasingمتناقصة fالتى عندها xقیم - (x)سالبة fالتى عندها xهى نفسها قیم concave upمقعرة من اعلى fالتى عندها xقیم - (x)موجبة fالتى عندها xهى نفسها قیم concave downمقعرة من اسفل fالتى عندها xقیم - (x)سالبة
.ما یتضح من االمثلة التالیة كوذلك
مثال
:بفرض الدالة التالیة
4 3 2f (x) x 2x 72x 70x 24
fثم حساب f(x)سوف نزیل كل التعریفات السابقة للدالة : اوال (x),f (x) مع تسمیة النتائجaa1,aa2 :على الترتیب
Solve[aa1==0]
1, 1
12
4, 2
27
fx_: x42x372x270x24aa1 xfx70 144x 6x2 4x3
aa2 x,2fx 144 12x12x2
٢٧٠
Solve[aa2==0] {{x-4},{x3}}
x 7,x 1/ 2,x 5 f ھو (x) 0 ان الحل للمعادلة نجد السابقة من النتائج
. x 4,x 3 f ھو (x) 0 و الحل للمعادلة :االن نحسب
f ( 7),f (1/ 2),f (5),f ( 4),f (3) {-7,f[-7]} {-7,-2279} {1/2,f[1/2]}
{5,f[5]} {5,-551} {3,f[3]} {3,-279} {-4,f[-4]} {-4,-1280}
(2279-,7-)و (1/2,661/16) و(551-,5) وهم fنستنتج من ذلك ان هناك ثالث نقاط حرجة للدالة fاالن نرسم . (279-,3) و (1280-,4-)ونقطتین انقالب وهما (x) فى الفترة[ 8,6] ونرسمf (x)
]فى الفترة 5,4] . والنتائج كالتالى:
aa3=Plot[aa1,{x,-8,6},DisplayFunctionIdentity] Graphics aa4=Plot[aa2,{x,-5,4},DisplayFunctionIdentity] Graphics Show[GraphicsArray[{aa3,aa4}]]
GraphicsArray
fیتضح ان ) على الیسار( من الرسم (x) 7-موجبة اذا كانت<x<1/2 5<او x وسالبة اذا كانتx<-7 .x<5>1/2او
x 7, x 1
2, x 5
12,661
16
-8 -6 -4 -2 2 4 6
-400
-200
200
400
-4 -2 2 4
-150
-100
-50
50
100
٢٧١
fیتضح ان ) على الیمین( من الرسم (x) موجبة اذا كانتx<-4 3<او x وf (x) سالبة اذا كانت4<x<3 - . وعلى ذلكf متناقصةdecreasing ومقعرة من اعلىconcave up فى الفترة( , 7)
اسفلمتزایدة ومقعرة من f و (4-,7-)فى الفترة concave up اعلىومقعرة من increasingمتزایدة f وconcave down فى الفترة( 4,1/ 2) و f متناقصةdecreasing ومقعرة من اسفلconcave down
/1)فى الفترة متزایدة ومقعرة f و (3,5)فى الفترة concave upمتناقصة ومقعرة من اعلى f و (2,3,5)فى الفترة concave upمن اعلى ) .
:وفى النهایة سوف نرسم الدالة لتسهیل هذه المالمح
Plot[f[x],{x,-9,7}]
Graphics
مثال
:الدالة التالیة ارسم
3 2f (x) 2x 9x 24x 20
fثم حساب f(x)سوف نزیل كل التعریفات السابقة للدالة : اوال (x),f (x) مع تسمیة النتائجaa1,aa2 :على الترتیب
Clear[f]
-7.5 -5 -2.5 2.5 5
-2000
-1500
-1000
-500
fx_: 2x39x224x20aa1 xfx
٢٧٢
-18+12 x Solve[aa1==0] {{x-1},{x4}} Solve[aa2==0]
x 1,x 4 f ھو (x) 0 ان الحل للمعادلة نجد التالیة من النتائج
x 3/ 2 f ھو (x) 0 و الحل للمعادلة :االن نحسب
3f ( 1),f (4),f ( )2
{-1,f[-1]} {-1,33} {4,f[4]} {4,-92} {3/2,f[3/2]}
ونقطة انقالب واحدة وهى (92-,4)و (1,33-)وهما fنستنتج من ذلك ان هناك نقطین حرجتین للدالة fاالن نرسم . (59/2-,3/2) (x) وf (x) والنتائج كالتالى ) . 2,6-( فى الفترة:
aa3=Plot[aa1,{x,-2,6},DisplayFunctionIdentity] Graphics aa4=Plot[aa2,{x,-2,6},DisplayFunctionIdentity] Graphics Show[GraphicsArray[{aa3,aa4}]]
GraphicsArray
fمن الرسم یتضح ان (x) موجبة اذا كانتx<-1 4<او x 1-وسالبة اذا كانت<x<3/2 3/2او<x<4
fبینما (x) موجبة اذا كانتx>3/2 اوf (x) سالبة اذا كانتx<3/2 . وعلى ذلكf متزایدة ومقعرة)من اسفل فى الفترة , 1) و f ومتناقصة (1,3/2-)ومقعرة من من اسفل فى الفترة متناقصة f ومقعرة
/3)من اعلى فى الفترة ,4)متزایدة و مقعرة من اعلى فى الفترة f و (2,4 ) وفى النهایة سوف نرسم :الدالة لتسهیل هذه المالمح
24 18x6x2
aa2 x,2fx
x 3
2
32,
59
2
-2 2 4 6
-40-20
20406080
-2 2 4 6
-40-20
2040
٢٧٣
Plot[f[x],{x,-5,10}]
Graphics
مثال
الدالة التالیة ارسم
2f (x) x 6x 7
:الحل
fثم حساب f(x)سوف نزیل كل التعریفات السابقة للدالة : اوال (x),f (x) مع تسمیة النتائجaa1,aa2 :على الترتیب
Clear[f]
-6+2 x
2 Solve[aa1==0] {{x3}} Solve[aa2==0] {}
x 3 f ھو (x) 0 ان الحل للمعادلة نجد السابقة من النتائج
f (x) 0 للمعادلةوال یوجد حل :االن نحسب
f (3)
{3,f[3]}
-4 -2 2 4 6 8 10
-300
-200
-100
100
200
fx_: x26x7aa1 xfx
aa2 x,2fx
٢٧٤
{3,-2}
.وال یوجد نقطة انقالب (2-,3) وهى fحرجة واحدة للدالة نقطةنستنتج من ذلك ان هناك
fاالن نرسم (x) [1,4-]فى الفترة .
aa3=Plot[aa1,{x,-1,4}]
Graphics x>3 متزایدة لقیم f(x) وھذا یعنى ان x<3 وسالبة لقیم x>3 یتضح من الرسم ان الدالة موجبة لقیم
:فیما یلى f(x) كما یتضح من رسم الدالة x<3 وتناقصیة لقیم Plot[f[x],{x,0,5}]
Graphics
fومن الرسم یتضح ان الدالة مقعرة من اعلى وذلك الن (x) 2 0 . كما یتضح من الرسم ان الدالة لها (2-,3)عند صغرىطة قن
-1 1 2 3 4
-8
-6
-4
-2
2
1 2 3 4 5
-2
-1
1
2
3
4
٢٧٥
ایضا من االمر التالى یمكن القول ان الدالة تقطع المحور االفقى تقریبا عند
X=1.58579,x=4.41421
N[Solve[f[x]0]] {{x1.58579},{x4.41421}}
مثال
الدالة التالیة ارسم
2f (x) x 2x 1
:الحل
fثم حساب f(x)سوف نزیل كل التعریفات السابقة للدالة : اوال (x),f (x) مع تسمیة النتائجaa1,aa2 :على الترتیب
Clear[f]
2-2 x Solve[aa10] {{x1}}
-2
x 1 f ھو (x) 0 ان الحل للمعادلة نجد السابقة من النتائج
:االن نحسب f (1)
{1,f[1]} {1,2}
fاالن نرسم (2 ,1) وهى fحرجة واحدة للدالة نقطةنستنتج من ذلك ان هناك (x) 9,9-فى الفترة :
Plot[aa1,{x,-9,9}]
fx_: x2 2x1aa1 xfx
aa2 x,2fx
٢٧٦
Graphics
f(x) وھذا یعنى ان x<1 لقیم وموجبة x>1 لقیم سالبةیتضح من الرسم ان الدالة
. x<1 تزایدیة لقیم تناقصیة لقیم و x>1 و
فى الفترة [9,9-] f (x) االن نرسم Plot[f[x],{x,-9,9}]
Graphics
x<1 لقیم تزایدیة و x>1 لقیم تناقصیةیتضح من الرسم ان الدالة
fومن الرسم یتضح ان الدالة مقعرة من اسفل وذلك الن (x) 2 0 . كما یتضح من الرسم ان الدالة لها (1,2)طة عظمى عند قن
:ایضا من االمر التالى یمكن القول ان الدالة تقطع المحور االفقى تقریبا عند
X=.414214 , x=2.41421
N[Solve[f[x]0]]
-7.5 -5 -2.5 2.5 5 7.5
-15
-10
-5
5
10
15
20
-7.5 -5 -2.5 2.5 5 7.5
-100
-80
-60
-40
-20
٢٧٧
{{x-0.414214},{x2.41421}}
Graphing Functions and Derivativesرسم الدوال والمشتقات
.معا یمكن للبرنامج رسم الدالة والمشتقات
مثال
الدالة التالیة ارسم
2
xf (x)x 1
:الحل
fثم حساب f(x)سوف نزیل كل التعریفات السابقة للدالة : اوال (x),f (x) مع تسمیة النتائجaa1,aa2 :على الترتیب
Clear[f]
Solve[aa1==0] {{x-1},{x1}} Solve[aa2==0]
{3,f[3]}
f (x) 0 من النتائج السابقة یتضح ان x=1 ومن النتائج التالیة یتضح ان القیمة العظمى عند x=1,x=-1 عندما
f (1) 0 وذلك الن x=-1 والقیمة الصغرى عند
f ( 1) 0 وذلك الن
fx_: xx21
aa1 Togetherxfx1 x2
1 x22aa2 Togetherx,2fx 23xx31 x23
x 0, x 3, x 3
3, 3
10
٢٧٨
aa2/.x1
aa2/.x-1
fلرسم Plotسوف نستخدم االمر (x), f (x) حیث الرسم للدالة [5,5-]فى الفترةf (x) اسود والرسمfللدالة (x) رمادى.
Plot[{f[x],aa1},{x,-5,5},PlotStyle{GrayLevel[0],Dashing[{0.01}]}]
Graphics
FindRootتقریبات باستخدام
fفى بعض االحیان الحصول على حل المضبوط للمعادلة (x) 0 فى هذه الحالة یمكن . یكون صعب .للحصول على حلول تقریبیة FindRootاسخدام االمر
مثال
بفرض الدالة التالیة
2 25f (x) 2sin 2x cos (x / 2) , 0 x2
fاوجد القیم التقریبیة والتى عنها خط المماس یكون افقیا عند رسم الدالة
:الحل
1
2
1
2
-4 -2 2 4
-0.4
-0.2
0.2
0.4
0.6
0.8
1
٢٧٩
,0]ثم رسمها فى الفترة f(x)سوف نزیل كل التعریفات السابقة للدالة : اوال ] . یالحظ من الرسم ان خط .المماس افقیا عند ثالث نقاط
Clear[f]
Plot[f[x],{x,0,}]
Graphics
للحصول على هذه التقریبات سوف . والتى عندها خط المماس افقیا نحتاج الى تقریبات مبدئیة xلتقریب قیم fوذلك بعد رسم Findrootنستخدم االمر (x)
Plot[aa1,{x,0,}]
fx_: 2Sin2x2 52Cos x
22
0.5 1 1.5 2 2.5 3
1
2
3
4
aa1 xfx5
2Cos x
2 Sin x
2 8Cos2x Sin2x
٢٨٠
Graphics
وهى القیم حیث 863,1.63,2.25.من الرسمة السابقة نجد ان هناك قیم یمكن استخدامهم كقیم مبدئیة وهم
f (x) تظهر قریبة من التقاطع مع المحور االفقى.
FindRoot[aa10,{x,.863}] {x0.732751} FindRoot[aa10,{x,1.23}] {x3.14159} FindRoot[aa10,{x,2.25}] {x2.29725}
.للحصول على تقریبات السابقة فى امر واحد FindRootوذلك مع االمر Mapوكبدیل یمكن استخدام االمر
Map[FindRoot[aa10,{x,#}]& ,{.863,1.23,2.25}] {{x0.732751},{x3.14159},{x2.29725}}
وذلك للحصول على حلول تقریبة NRootsاذا كان اهتمامنا بمعادالت كثیرة الحدود فیمكن استخدام االمر .لكثیرات الحدود
مثال
بفرض الدالة التالیة
6 5 4 3 21 25f (x) x 2x x 60x 150x 180x 252 2
0.5 1 1.5 2 2.5 3
-7.5
-5
-2.5
2.5
5
7.5
٢٨١
fاوجد القیم التقریبیة والتى عنها خط المماس یكون افقیا عند رسم الدالة
:الحل
fثم نرسم f(x)سوف نزیل كل التعریفات السابقة للدالة : اوال (x), f (x) فى الفترة[ 6,6] . رسمf (x)
.متقطعة سوف یكون على شكل خطوط
Clear[f]
Plot[{f[x],aa1},{x,-6,6},PlotStyle {GrayLevel[0],Dashing[{.01}]},AspectRatio1]
Graphics
fالتى تحقق xللحصول على قیم NRootsاالن سوف نستخدم االمر (x) 0 وسوف نتجاهل القیم التى .التخیلیة توى على القیم حت
NRoots[aa10,x] x-4.44315||x-0.459096||x1.55293 -1.82277 ||x1.55293 +1.82277 ||x5.12971
والتى عندها خط المماس افقى هم xوعلى ذلك یمكن القول ان تقریبات قیم
-.459096 , 5.12971 , -4.44315
Implicit Functionsحساب المشتقات للدوال المسماه
fx_: 12x62x5
252x4 60x3 150x2180x25
aa1 xfx180 300x180x2 50x3 10x4 3x5
-6 -4 -2 2 4 6
-10000
-7500
-5000
-2500
2500
5000
٢٨٢
للمعادلة وذلك implicit derivative، برنامج الماثیماتیكا قادر على ایجاد x,yبفرض معادلة فى متغیرین یقابل Dt[y,x]و المصطلح xتفاضل بالنسبة للمتغیر equation حیث Dt[equation,x]باستخدام االمر
. dx/dyابل المصطلح یق Dt[x,y]وعلى ذلك المصطلح dy/dx المصطلح
?Dt
?Dt
مثال
:اوجد معادلة خط المماس لرسم
2 22x 2xy y x 2y 1 0
.(4-,3/2-) , (1-,3/2-)عند النقاط
:الحل
2 المیل لخطوط المماس لرسم 22x 2xy y x 2y 1 0 عند النقاط
.المشتقة للمعادلة عند كل نقطة من تلك النقاط یمكن الحصول علیهما بتقدیر (4-,3/2-) , (1-,3/2-)
سوف نعرف aa1بعد ازالة كل التعریفات السابقة . implicit derivatiationالیجاد المشتقة سوف نستخدم
aa1 2للمعادلة 22x 2xy y x 2y 1 0 . ویجب اال ننسى ترك مسافة بینx,y وایضا رمزالجانب االیسر من المعادلة یمكن الحصول .الیسر ةاالیمن من المعادلة بین الجانب ا (==)المساواة الثنائى
aa1[[1]]علیه وذلك باستخدام االمر
Dtf, x gives the total derivative of f with respect
to x. Dtf gives the total differential
of f. Dtf, x, n gives the nth total
derivative of f with respect to x. Dtf, x1,
x2, ... gives a mixed total derivative.More…
aa1 2x22x y y2 x2y1 0
٢٨٣
aa1[[1]]
2 2f (x, y) 2x 2xy y x 2y 1 یمثل منحنى المستوى للدالة باستخدام الرسم لـ aa1 والذى
f (x, y) 0 حیث
Contours->{0} الخیار وعلى ذلك سوف نستخدم االمر ContourPlot لتولید منحنى المستوى الخاص .
f (x, y) والذى یجعل البرنامج یرسم منحنى المستوى للدالة :والذى یحقق الشرط ان
f (x, y) 0
:الخیار .وذلك لعدم التظلیل ContourShading->False الخیار
الخیار . وذلك لجعل الرسم ناعم PotPoints->60
:الخیار .وذلك لعدم وضع اطار حول الرسم Frame->False
:الخیار . وذلك لجعل الرسم بمحاور Axes->Automatic
AxesOrigin->{0,0} وذلك لجعل نقطة تقاطع المحورین عند النقطة (0,0).
1 x 2x2 2y 2xy y2 0
1 x 2x2 2y 2xy y2
aa2 ContourPlot2x22xy y2 x2y1,x, 6, 1, y, 6,1,Contours 0,ContourShading False,PlotPoints 60,Frame False, Axes Automatic, AxesOrigin 0,0
٢٨٤
ContourGraphics
2یتضح ان الرسم لـ 22x 2xy y x 2y 1 0
. xللمعادلة بالنسبة الى implicit derivatiation الخطوة التالیة هى اجراء. ellipseـیمثل قطع ناقص بالنسبة الى aa3لحل المعادلة Solve، ثم یلى استخدام aa3المخرج سوف یسمى
Dt[y,x] وتسمیة الناتجaa4 .
aa3=Dt[aa1,x] 1+4 x-2 y+2 Dt[y,x]-2 x Dt[y,x]+2 y Dt[y,x]0 aa4=Solve[aa3,Dt[y,x]]
2 22x 2xy y x 2y 1 0 ـ ل االشتقاق اى ان
dy 1 4x 2ydx 2( 1 x y)
:ھو
aa4[[1,1,2]] باستخدام aa4 یمكن استخالصة من والذى aa4[[1,1,2]]
aa4[[1,1,2]] سوف نقدر قیمة .عند كل نقطة dy/dx الیجاد المیل لخط المماس فاننا نقدر فى كل حالة .على التوالى aa5,aa6 وتسمیة النتائج (-3/2,-1),(-3/2,-4) عند النقاط
-6 -5 -4 -3 -2 -1 1
-6
-5
-4
-3
-2
-1
1
Dty, x 1 4x2y21 x y
1 4x 2y21x y
٢٨٥
فان المیل لخط المماس ھو 1 .
1
1
لن aa8نتذكر ان ویجب ان . aa8وباالسم Plotسوف نرسم خطوط المماس لتلك النقاط باستخدام االمر ListPlotلمشاهدة كل نقطة سوف نستخدم االمر . DisplayFunction->Identityیظهر وذلك نتیجة للخیار
یكبر PlotStyle->PointSizes[.03]الخیار . aa9واسم النتیجة (4-,3/2-),(1-,3/2-)لرسم النقاط یستخدم لرؤیة القطع مع Showوفى النهایة فان االمر.النقطتین بحیث یظهران بوضوح فى الرسم النهائى
.خطوط التماس مع النقاط
1
Show[aa2,aa8,aa9,PlotRange{{-6,1},{-6,1}}]
aa514x2y21x y
. x 32, y 1
aa614x2y21x y
. x 32, y 4
aa614x2y21x y
. x 32, y 4
aa8 Plotaa5x 32 1, aa6x 3
2 4, x, 6, 1,
DisplayFunction Identity;aa9 ListPlot 3
2, 1, 3
2, 4,
PlotStyle PointSize0.03,DisplayFunction Identity;
٢٨٦
Graphics
لمعادلة بحیث ان الجانب االیمن من المعادلة لیس implicity differentiateفى المثال التالى سوف نوجد صفر
مثال
:اوجد
dyydx
cos(xاذا كانت sin y) sin y
:الحل
سوف نعرف aa1بعد ازالة كل التعریفات السابقة لـ
aa1 للمعادلة cos(x sin y) sin y .
Clear[aa1]
aa1=Cos[x+Sin[y]]Sin[y];
-6 -5 -4 -3 -2 -1 1
-6
-5
-4
-3
-2
-1
1
٢٨٧
aa3 وتسمیة النتیجة x بالنسبة الى aa1 حساب المشتقة لـ Dt الخطوة التالیة هو استخدام
. dyydx
تمثل Dt[y,x] ویجب ان نتذكر ان الصیغة
aa3=Dt[aa1,x] (-1-Cos[y] Dt[y,x]) Sin[x+Sin[y]]Cos[y] Dt[y,x]
Dt[y,x] فى aa4 لحل Solve واخیرا سوف نستخدم aa4=Solve[aa3,Dt[y,x]]
:النتیجة
dy sec(y)sin(x sin(y)ydx 1 sin(x sin(y)
:كالتالى aa4 وهذه الصیغة استخلصت من aa4[[1,1,2]]
cos(xلرسم المعادلة Contourفى النهایة یمكن استخدام االمر sin y) sin y اوال سوف نعیدcos(xكتابتها فى الشكل sin y)sin y 0 . رسمcos(x sin y)sin y 0 یعنى رسمcos(xمنحنى المستوى لـ sin y)sin y وعلى ذلك الطریقة هى نفسها الطریقة فى المثال .المقابلة لصفر
]الرسم الناتج سوف یكون فى الفترة .السابق 4 ,4 ] .
Dty, x Secy Sinx Siny1Sinx Siny
Secy SinxSiny1 Sinx Siny
٢٨٨
aa5=ContourPlot[Cos[x+Sin[y]]-Sin[y],{x,-4,4},{y,-4,4},Contours{0},ContourShadingFalse,PlotPoints160,FrameFalse,AxesAutomatic,AxesOrigin{0,0}]
aa5=ContourPlot[Cos[x+Sin[y]]-Sin[y],{x,-4,4},{y,-4,4},Contours{0},ContourShadingFalse,PlotPoints160,FrameFalse,AxesAutomatic,AxesOrigin{0,0}]
مثال
اثبت ان عائلة المنحنیات للمعادلة 2 2x 2xy y C
مع العائلة من المنحنیات orthogonalمتعامدة
2 2y 2xy x C
:الحل
2للمعادلتین aa1,aa2سوف نبدا بتعریف 2x 2xy y C 2و 2y 2xy x C
Cحتى ال یتعارض مع الحرف cوسوف نستخدم الحرف
Clear[aa1,aa2]
-10 -5 5 10
-10
-5
5
10
aa1 x22x y y2 c;aa2 y22x yx2 c;
٢٨٩
dyyوذلك الیجاد Simplify Dt , Solve,االوامروسوف نستخدم dx
والن . لكل نعادلةC تمثل ثابت و
dyy (C) 0dx
فاننا سوف نستخدمReplaceAll(/.) وذلك الحالل كل وجود لـDt[c,x] بصفر.
aa4=Simplify[Solve[Dt[aa1,x],Dt[y,x]]]/.Dt[c,x]0
aa5=Simplify[Solve[Dt[aa2,x],Dt[y,x]]]/.Dt[c,x]0
:والن المشتقات سالبة المقلوب حیث
x y x yy 1/x y x y
:وھذا یعنى ان العائلة متعامدة كما یتضح مما یلى
ContourGraphics
ContourGraphics Show[aa5,aa6,DisplayFunction$DisplayFunction,FrameFalse,Axes->Automatic,AxesOrigin{0,0}]
Dty,x xyxy
Dty, x x y
x y
Dty, x 2x 2y
2x y
aa6 ContourPlotx22x y y2, x, 5, 5, y, 5, 5,ContourShading False, PlotPoints 120,Frame False, DisplayFunction Identity
aa7 ContourPlotx2 2x y y2, x, 5, 5,y, 5, 5, ContourShading False, PlotPoints 120,Frame False, DisplayFunction Identity
٢٩٠
Graphics.
Implicit Functions طرق اخرى الیجاد المشتقات للدوال المسماه
فعلى سبیل المثال . x دالة فى y اذا وضحنا ان D للدوال المسماه باستخدام یمكن حساب المشتقات
2 2 2 2 2 2(x y ) a (x y ) لـ implicitly differentiate الیجاد
.aa1االن سوف نعرف . ثابت aحیث Lemniscate of Bernunlli والمسماه
Clear[aa1]
aa2 ونعطیھ االسم X الجراء التفاضل لـ بالنسبة الى Dt ثم نستخدم
aa3=Dt[aa1,x]
.y'[x]وذلك لحل المشتقة بالنسبة الى Solve وفى النھایة نستخدم
aa4=Solve[aa3,y'[x]]
-4 -2 2 4
-4
-2
2
4
aa1 x2 yx22 a2x2 yx2;
2x2 yx2 2x 2yx yx
2aDta, x x2 yx2 a22x 2yx yx
yx
a2 x 2x3 ax2 Dta, x 2xyx2 aDta, x yx2
yx a2 2x2 2yx2
٢٩١
باالستفادة من التفاضلالیجاد جذور دالة Newton's Methodطریقة نیوتن
fجذر للمعادلة من اشهر الطرق طریقة التقلیدیة فى ایجاد ةتعتبر طریقة نیوتن واحد (x) 0 بطریقةfجذر للمعادلة ایجاد لقد ناقشنا سابقا كیف یمكن . التكرارات (x) 0 بسیطة باستخدام االمر بطریقة
FindRoot .
السؤال االن لماذا ال بد من تعلم برمجة ایجاد الجذر ؟ لنفس السبب كما تعلمنا من قبل حل نظام من المعادالت ایجاد حتى یمكن تعلم البرمجة فالطریق الوحید ھو الخطیة وذلك الن تلك االوامر ال تعمل دائما وعلى ذلك
fجذر للمعادلة (x) 0 على سبیل المثال للدالةف . بطریقة تقریبیة1
3f (x) x:
.طع الوصول الى حل تلم نس
جذر للمعادلة ایجاد سوف نستخدم المثال التالى لشرح طریقة نیوتن فى
2x:الدالة بفرض 50 وباستخدام االمر 50والتى جذرها الجذر التربیعى لـFindRoot سوف نحصل على :كما سنرى 50الجذر التربیعى لـقریبة جدا من ة قیم
{x7.07107}
.ھى قیمة مبدئیة تخمینیة للجذر {x,50}فى 50 حیث
fولھا المشتقة fبفرض الدالة فان طریقھ نیوتن تقدم طریقة عددیة الیجاد جذر للمعادلةf (x) 0 مبتدئا
fوبمعلومیة المشتقة 0aمن نقطة البدایة (x) 1 افضل التقدیراتیتم الحصول على متتابعة من 2a ,a ,... :العالقة التكراریة التالیة لیھا من والتى نحصل ع
ii 1 i
i
f (a )a af (a )
FindRootx13 0, x, .1
FindRoot ::lstol :
The line search decreased the step size to within tolerancespecified by AccuracyGoal and PrecisionGoal but wasunable to find a sufficient decrease in the meritfunction . You may need more than MachinePrecision digitsof working precision to meet these tolerances . More…
x 0.000405502 2.291331015
FindRootx250 0, x, 50
٢٩٢
ولمثالنا فى الرسم التالى .فى المتتابعة والتى نتوقف عندھا وتكون تقدیر للجذر naسوف نشرح الحقا القیمة .یالحظ ان التقدیرات تقترب اكثر واكثر من الجذر
حیث f (x) f (x)dx
f (x) / dx f (x)
2fالطریقة موضحة فى الرسم التالى لمثالنا حیث (x) x 50 0وa 50.
f لھذه الدالة المشتقة لھا ھى. (x) 2x .
٢٩٣
a0=50 50 a1=N[a0-f[a0]/f'[a0]] 25.5 a2=N[a1-f[a1]/f'[a1]] 13.7304 a3=N[a2-f[a2]/f'[a2]] 8.68597 a4=N[a3-f[a3]/f'[a3]] 7.22119 a5=N[a4-f[a4]/f'[a4]] 7.07263
السؤال االن .7.7107 وهو تقریبا یساوى 50 كما هو مشاهد ان القیم تقترب وتقترب من جذر
.ناها ال یكون لها اهمیة بالسابقة والتى حسفان القیم 5a متى نقرر االنتهاء ، بفرض اننا قررنا االنتهاء عند . a لذلك سوف نسمى جمیع القیمو
:ویكون البرنامج كالتالى
a=50 50 a=N[a0-f[a0]/f'[a0]] 25.5 a=N[a1-f[a1]/f'[a1]] 13.7304
fx_: x250
fx_: x250
٢٩٤
a=N[a2-f[a2]/f'[a2]] 8.68597 a=N[a3-f[a3]/f'[a3]] 7.22119 a=N[a4-f[a4]/f'[a4]] 7.07263
:یمكن اختصار البرنامج بتعریف دالة كالتالى
next[x_,fun_]:=N[x-fun[x]/fun'[x]] a=50 50 a=next[a,f] 25.5 a=next[a,f] 13.7304 a=next[a,f] 8.68597 a=next[a,f] 7.07263
:كالتالى Do الحساب بعد عشر مرات فانه یمكننا استخدام االمربفرض اننا قررنا ان ننهى
next[x_,fun_]:=N[x-fun[x]/fun'[x]] a=50;Do[a=next[a,f],{10}] a 7.07107
:عند الرغبة فى طباعة كل تقریب ورقمه وقیمتة سوف نتبع التالى next[x_,fun_]:=N[x-fun[x]/fun'[x]] a=50;Do[a=next[a,f];Print["approximateion", i ," " ,a],{i,1,10}] approximateion 1 25.5 approximateion 2 13.7304 approximateion 3 8.68597 approximateion 4 7.22119 approximateion 5 7.07263 approximateion 6 7.07107 approximateion 7 7.07107 approximateion 8 7.07107 approximateion 9 7.07107 approximateion 10 7.07107 a 7.07107
للدالة .مرات كافیة ولكن ال تكون دائما فى احوال كثیرةهل عشرة تكفى .السؤال االن متى نوقف التكرار
. فان عشرة مرات كافیة 2f (x) x 50
:بفرض الدالة التالیة
fx_: x250
fx_: x250
٢٩٥
g[x_]:=x-Sin[x] g[0] 0
25 تكرارات تكون غیر كافیة للحصول على جذر قریب من الصفر وقد یكون عشرة فان :تكرارات افضل
f[x_]:=x-Sin[x] next[x_,fun_]:=N[x-fun[x]/fun'[x]] a=1.0;Do[a=next[a,f],{25}] a 0.0000384172
قریبة .التكراریة حتى الحصول على تقدیر قریب من القیم الصحیحة فى الحقیقة فاننا نرغب فى استمرار العملیة من الصفر if (a ) قریبة طرق كثیرة وال واحدة منهم االفضل وسوف نتناول االسهل عندما تكون
:رقم قریب من الصفر یكون لدینا : حتى فسوف تستمر العملیة التكراریة
i| f (a ) | فان Do عند استخدام االمر السؤال االن كیف نكتب الحلقة والتى تقف عند اختبار هذا الشرط ؟
While نحن نحتاج الى امر جدید وهو.عدد مرات التكرارات تكون ثابتة عندما تبدا الحلقة .تناولناهوالذى سبق ان
epsilon=.001 0.001 next[x_,fun_]:=N[x-fun[x]/fun'[x]] a=50;While[Abs[f[a]]>epsilon,a=next[a,f]] a 7.07107
:ویمكن اختصار البرنامج كالتالى
findRoot[fun_,init_,eps_]:= Module[{a=init},While[Abs[fun[a]]>eps, a=N[a-fun[a]/fun'[a]] ]; a] findRoot[f,50,.001] 7.07107
واحد من الطرق هو ادخال . بفرض اننا نرغب فى معرفة كم عدد التكرارات التى نحتاجها للحصول على االجابة لمعرفة القیمة فى كل مرة خالل الحلقة . Print االمر
fx_: x250
fx_: x250
٢٩٦
findRoot[fun_,init_,eps_]:= Module[{a=init},While[Abs[fun[a]]>eps, Print["a=",a]; a=N[a-fun[a]/fun'[a]] ]; a] findRoot[f,50,.001] a= 50 a= 25.5 a= 13.7304 a= 8.68597 a= 7.22119 a= 7.07263 7.07107
) فى السطر االول a تذكر ان القیمة المبدئیة لـ(ب بعد ستة تكرارات بحساب عدد الخطوط نجد ان الدالة تقتر :الختصار اكبر للبرنامج ووضع عدد الطرق فقط نتبع التالى
findRoot[fun_,init_,eps_]:= Module[{a=init,count=0},While[Abs[fun[a]]>eps, count=count+1; a=N[a-fun[a]/fun'[a]] ]; {a,count}] findRoot[f,50,.001] {7.07107,6} 7.07107
هناك امكانیة الحصول على فالمشكلة االولى هى ان توتن یفى عند تطبیق طریقة ن توالیزال هناك مشكال
والـتى تحدث عند ایجاد الجذر والمشكلة الثانیة .وهنا نحصل على رسالة خطا للدالة مساویة للصفر مشتقة| x+3| وهو المثال البسیط جدا لذلك هو فى الدالة .للدالة صعبة او من الصعب حسابها ان المشتقة
واحد من الطرق لحل هذه المشكلة هو استخدام االشتقاق العددى حیث یتم حساب المشتقة . حساب المشتقة لها :من الصیغة التالیة
k k 1
k k 1
f (a ) f (a )a a
f (x) 0 ویتم حساب جذر المعادلة secant :التالیة من العالقة باستخدام طریقة القاطع
i i 1
i i 1
a ai 1 i if (a ) f (a )a a f (a ),i 1,2,...
fx_: x250
fx_: x250
٢٩٧
ابتدائیة یتم تحدیدهاقیم . 0 1x ,x حیث
f (x) | x 3 | بفرض اننا نرغب فى ایجاد الجذر للدالة -3 والتى جذرها هو
:باستخدام االسلوب السابق فى طریقة نیوتن f[x_]:=Abs[x+3] findRoot[fun_,init_,eps_]:= Module[{a=init},While[Abs[fun[a]]>eps, a=N[a-fun[a]/fun'[a]] ]; a] findRoot[f,-1.8,10^(-10)]
:االن سوف نستخدم الصیغة التقریبیة لمشتقة الدالة . ارسال رسالةاى اننا لم نحصل على اجابة وتم f[x_]:=Abs[x+3] secant[f_,a_,b_]:= Module[{x1=a,x2=b}, While[Abs[f[x2]]>10^-10, df=(f[x2]-f[x1])/(x2-x1); {x1,x2}={x2,x2-f[x2]/df} ]; x2] N[secant[f,-3.1,-1.8]] -3.
.-3 اى اعطت قیمة الجذر
:االن سوف نطبق الطریقة على مثالنا : تطبیق الطریقة على الدالة 2f (x) x 50
.حصلن على نفس النتائج السابقة وقد findRoot[f,50,.001] {7.07107,6}
secant[f_,a_,b_]:= Module[{x1=a,x2=b}, While[Abs[f[x2]]>10^-10,
General ::spell1 :
Possible spelling error : new symbol name "findRoot " issimilar to existing symbol "FindRoot ". More…
1.81.2
Abs1.2
fx_: x250
٢٩٨
df=(f[x2]-f[x1])/(x2-x1); {x1,x2}={x2,x2-f[x2]/df} ]; x2] N[secant[f,40,50]] 7.07107
Integratioالتكامل ) ٣- ٥(
نواع عدیدة من التكامالت لدوال او تعبیرات مثل كثیرات الحدود والدوال اب ابرنامج الماثیماتیكا قادر على حس . وكذلك التكامالت المحدودة سواء كان حدود التكامل اعداد ثابتة او دوال الخ ...االسیة واللوغاریتمیة والمثلثیة
fوالذى یحسب Integrate[f[x,]x]یتم ذلك باالمر (x) dx بینما االمر Integrate[f[x,],{x,a,b}] یحسب
b
a
f (x) dx من القائمة وذلك الرمزینویمكن استخدام BasicInput
ومنها palette من نافذة البرنامج ثم اختیار Fileقائمة ال والتى یمكن الحصول علیها وذلك بالذهاب الى :كما هو موضح فیما یلى BasicInputنختار
٢٩٩
:كما یلى BasicInput فنحصل على القائمة
٣٠٠
Integrate[expression,variable]فان امر التكامل سوف یصبح xعموما اذا كان المتغیر المستقل غیر
. variableبالنسبة الى expression حیث یحاول البرنامج ایجاد التكامل لـ
امثلة
التكامل للدالة التالیة
x dx هو:
x x
٣٠١
التكامل للدالة التالیة
1 dxx هو:
التكامل للدالة التالیة
7 x 7x +7x dx7 x
هو:
التكامل للدالة التالیة
2 2x (x+ ) dxx هو:
التكامل للدالة التالیة
2
2
x 3x dxx 4x 5
هو:
2x32
3
1
xx
2x
x77x x77xx
25x2
7x8
8 7Logx
x2
x
2x
x
4x52
5x4
4
٣٠٢
التكامل للدالة التالیة
2(sin y+1) dy هو:
التكامل للدالة التالیة
2cos y-1 dy هو:
التكامل للدالة التالیة
te dtt هو:
:بعض االحیان ال یعطى البرنامج قیمة صریحة للتكامل كما فى االمثلة التالیة فى
x23x
x24x5x
x 3ArcTan2 x 1
2Log5 4x x2
Sin2y1y
ySin2y2
2
Cos2y1y
yCos2 y2
2
et
tt
2et
Loge
٣٠٣
امثلة
التكامل للدالة التالیة
2
1 dxsin x+2 هو:
التكامل للدالة التالیة
sin x lnx dx هو:
Sin[x]Log[x]x
CosIntegral[x]-Cos[x] Log[x]
:حیث ) cosine integral function)Ci(z)الدالة والتى تظهر فى المخرج تمثل CosIntegral[x]الدالة
z
0
cot cos t 1Ci(z) dt ln z dtt t
:حیث
لى تعریف عبرنامج الماثیماتیكا قادر . 0.577216والذى تقریبا یساوى Euler's constantتمثل
EulerGamma(Eulerconstant) .
? EulerGamma
?EulerGamma
1
Sinx22x
ArcTan32Tanx
6
٣٠٤
التكامل للدالة التالیة
1 dx2+sin x هو:
Short[aa1]
.للحصول على جزء من النتائج وذلك Shortستخدم االمر االتكامل طویل فى هذا المثال ولذلك
: المحدود وذلك باالمرایضا البرنامج قادر على حساب التكامل
Integrate[expression,{variable,lowerlimit,uperlimit}] والذى یكاملexpression بالنسبة الى
Variable والتقدیر منlowerlimit الىuperlimit .
امثلة
التكامل للدالة التالیة
2
21
1 dx 1+(x-1) هو:
التكامل للدالة التالیة
EulerGamma is Euler's constant gamma, with numerical
value approximately equal to 0.577216.More…
1
2Sinxx
2ArcTan12Tanx2
3
3aa1
xSinx 2
x;
ArcTan 11
1
3
1
2 11x12
x
4
٣٠٥
6u
4
e du هو:
لتكامل للدالة التالیة ا
202
10
(x-x )dx هو:
التكامل للدالة التالیة
20
10
1 dy(2y-1) هو:
التكامل للدالة التالیة
202-5x
0
e dx هو:
التكامل للدالة التالیة
4
6Expuu
412
10
20xx2x
6550
3
10
20 12y1
y
1
2Log 39
19
0
20Exp25xx
1 100
5 98
٣٠٦
1
0
sin(2x+1) dx هو:
تقریبات للتكامل المحدود
فى حالة ما اذا كان التكامل المحدود غیر ضرورى او من المستحیل الحصول علیه یمكن حساب تقریبات اذا كان التكامل فى الصیغة Nاو استخدام NIntegralse[f[x],{x,a,b}]لتكامل المحدود باستخدام االمر ل
.القیاسیة
امثلة
التكامل للدالة التالیة
2 3
51
9x 13dx x
هو:
. N التقریب سوف یتم الحصول علیھ باستخدام
0.415279 +0.139897
0
1Sin2x1x
2Cos1 Sin12
1
29x313x5
x
1
260
603916 3 32
Gamma 16 Gamma 7
3
6513 Hypergeometric2F1 43,
1
2,
1
3,
9
13
392 Hypergeometric2F1 12,5
6,11
6,13
72
N0
19x313x5
x
٣٠٧
التكامل للدالة التالیة
x 2 3
0
e cosx dx
هو:
x2 3e cosx االن سوف نرسم الدالة. نالحظ ان البرنامج اخرج المدخل كما هو اى لم نحصل على نتیجة
(0, ) فى الفترة
. N نالحظ ان الدالة ناعمة وعلى ذلك فرصة الحصول على تقریب جید للتكامل كبیر وذلك باستخدام االمر
Graphics
0.694053
تقریبات للتكامل باستخدام الحزم الجاهزة
. الحزم الجاهزة الحصول على تقریبات للتكامالت التى صعب الحصول علیها باالوامر السابق باستخدام یمكن NumericalMathGaussianQuadratureوالجراء ذلك نقوم بتحمیل الحزمة
1 1 2 2 n n(x ,w ),(x ,w ),...,(x ,w ) ازواج القیم وتعتمد الفكرة على الحصول من البرنامج على :بحیث ان
b n
i ii 1a
f (x)dx w f (x )
0
Expx2Cosx3x
0
x
2Cosx3x
PlotExpx2Cosx3, x, 0, , PlotRange All
0.5 1 1.5 2 2.5 3
0.2
0.4
0.6
0.8
1
N0
Expx2Cosx3x
٣٠٨
. كما یعطى البرنامج الدقة فى الحساب تختار من قبل المستخدم n حیث
2
2
1
7x dx3
حساب التكامل سوف نشرح خطوات عمل البرنامج من خالل
. لكن هذا ال یحدث دائما وسوف نرى اننا سوف نحصل على النتیجة بالضبط
:وفیما یلى خطوت البرنامج :كالتالى NumericalMathGaussianQuadrature نقوم بتحمیل الحزمة
<<NumericalMath`GaussianQuadrature`
:قوم بتعریف الدالة كالتالى ثم ن
: حصل على ازواج القیمثم ن 1 1 2 2 n n(x ,w ),(x ,w ),...,(x ,w )
: من االمر التالى والذى الصیغة العامة له هو
GaussianQuadratureWeights[n, a, b]
a 1,b 2,n 5 حیث حدود التكامل a,b و aa1 لمثلنا سوف نعطى لهذا االمر االسم
aa1=GaussianQuadratureWeights[5, 1, 2] {{1.04691,0.118463},{1.23077,0.239314},{1.5,0.284444},{1.76923,0.239314},{1.95309,0.118463}}
:والذى الصیغة العامة له هو االمر التالى GaussianQuadratureError[n, f, a, b]
:یعطى لنا الخطا من استخدام التقریب و . الدالة المطلوب التكامل علیها f حیث
: هذا االمر یكون على الشكل التالىالنا مثفى
GaussianQuadratureError[5, f, -3, 7] -0.0394497 (0&)
: من االمر التالى aa1 1 والمسماه 1 2 2 n n(x ,w ),(x ,w ),...,(x ,w ) نحول االزواج
fx_: x2
٣٠٩
:الصورة التالیة الى
1 2 n 1 2 n{{x ,x ,..., x },{w ,w ,...,w }} :حیث aa2 تحت مسمى
aa2=Transpose[aa1] {{1.04691,1.23077,1.5,1.76923,1.95309},{0.118463,0.239314,0.284444,0.239314,0.118463}}
aa2 وذلك حیث تمثل العنصر االول فى القائمة aa2 من 1 2 n{x ,x ,..., x } نستخلص :من االمر التالى
aa2[[1]] {1.04691,1.23077,1.5,1.76923,1.95309}
aa2 وذلك حیث تمثل العنصر الثانى فى القائمة aa2 من 1 2 n{w ,w ,...,w } نستخلص :من االمر التالى
aa2[[2]] {0.118463,0.239314,0.284444,0.239314,0.118463}
: لحساب ff والمسمى االمر التالى 1 2 nf (x ),f (x ),...,f (x )
ff=Map[f,aa2 [[1]]] {1.09602,1.51478,2.25,3.13019,3.81456}
: لحساب aa4 والمسمى االمر التالى
1 1 2 2 n nw f (x ),f (x )w ,...,w f (x ) aa4=aa2[[2]]*ff {0.129838,0.362509,0.64,0.7491,0.451886}
: لحساب االمر التالى
n
i ii 1
w f (x )
:بصیغة االدخال : اوال Apply[Plus,aa4] 2.33333
:بالصیغة القیاسیة : ثانیا
٣١٠
N[%] 2.33333
:ویالحظ ان النتیجتین متساویتین فى هذا المثال حیث
b n
i ii 1a
f (x)dx w f (x )
الطریقة فى ابحاث وتفید هذه .اختیاریة nولیس شرط ان یتساویان فى كل االحوال ویجب مالحظة ان من الصعب الحصول على قیمة التىعلى نتائج تقریبیه لكثیر من التكامالت لالماجستیر والدكتوراه فى الحصو
.مضبوطة لها وقد جربتها عن نفسى فى ابحاث كثیرة
من القائمة الرئیسیة للبرنامج Helpمن Help Browserوللحصول على معلومات اكثر یمكن الذهاب الى .وسوف نعرف اكثر مع امثلة كثیرة النافذة التالیةلحصول على وا
1
2x2x
7
3
٣١١
Estimating Areasحساب المساحات
yبفرض ان f (x) دالة موجبة ومتصلة فى الفترة[a,b] وبفرضn عدد صحیح موجب .
kمن الفترات الجزیئیة بطول متساوى وبفرض ان nالى [a,b]فاذا قمنا بتقسیم 1 k[x , x ] هو طول الفترة
b]الطول لكل فترة جزئیة یساوى . kرقم الجزئیة a]/ n وkb ax a k
n
. المساحة المحددة فى
yرسم f (x),x a,x b على المحور الراسى یمكن تقریبها بالمجموع التالى.
n n
left k 1 light kk 1 k 1
b a b aS f (x ),S f (x )n n
fاذا كانت (x) دالة متزایدة فى الفترة[a,b] فانliftS سوف یكون الحد االدنى للتقریب وrightS سوف
.اذا كانت الدالة متناقصة یكون الحد االعلى للتقریب والعكس صحیح
امثلة
:بفرض
2f (x) x 12x 1
fاوجد تقریب للمساحة تحت المنحنى للدالة (x),x 2,x 5 وذلك باستخدامn=100 ثم اوجد القیمة . المضبوطة للمساحة
:الحل
[1,13-]ورسمها فى الفترة fسوف نبدا بتعریف الدالة
Plot[f[x],{x,-1,13}] fx_: x2 12x1
٣١٢
Graphics
: موجبة فى الفترةوهى f (x) 2(6 x) f(x) هى للدالة المشتقة االولى
وعلى ذلك تقریب للمساحة تحت المنحنى فى . [2,5] وعلى ذلك الدالة تزایدیة فى الفترة [2,5]:هو n=100 الفترة المشار الیها حیث
99 100
left lightk 0 k 1
3 3 3 3S f (2 k ),S f (2 k )100 100 100 100
وكل مجموع یمكن حسابة اما بصیغة االدخال Sum باستخدام ثم تقریب النتیجةة یاو بالصیغة القیاس . N االمر
N[%] 89.7746 3/100*Sum[f[2+(k*3)/100],{k,0,99}]
N[%] 89.7746
N[%] 90.2246 3/100*Sum[f[2+(k*3)/100],{k,1,100}]
2 4 6 8 10 12
-10
10
20
30
3100
k0
99f2k 3
100
1795491
20000
1795491
20000
3100
k1
100f2k 3
100
1804491
20000
٣١٣
N[%] 90.2246
:والتى تحسب المجموع f1,f2عموما یمكن تعریف الدالة
n 1 n
left lightk 0 k 1
(b a) (b a) (b a) (b a)S f (a k ),S f (a k )n n n n
: f,a,b,nعلى التوالى لقیم مختلفة من
f1[f_,{a_,b_},n]:=(b-a)/n*Sum[f[a+k*(b-a)/n],{k,0,n-1}] f2[f_,{a_,b_},n]:=(b-a)/n*Sum[f[a+k*(b-a)/n],{k,1,n}]
:فعلى سبیل المثال
.حتى ال نحصل على النتائج النهائیة فى صورة كسور ةفى المعادلة السابق وقد تم وضع نقطة بعد 1
f1[f,{2,5},100] 89.7746 f2[f,{2,5},100] 90.2246
. السابقةعلى نفس النتیجة نااى حصل
: فى الحساب كالتالى سوف نستخدم اسلوب اخر
:نعرف الدالة سوف
: فى حساب f1,f2 ثم نستخدم
n 1 n
left lightk 0 k 1
(b a) (b a) (b a) (b a)S f (a k ),S f (a k )n n n n
4 9n 2,4,8,2 ,...,2 512 لقیم
1804491
20000
fx_: x2 12x1.
fx_: x2 12x1.
fx_: x2 10x2.
٣١٤
f1[f_,{a_,b_},n_]:=(b-a)/n*Sum[f[a+k*(b-a)/n],{k,0,n-1}] f2[f_,{a_,b_},n_]:=(b-a)/n*Sum[f[a+k*(b-a)/n],{k,1,n}]
لقیم ان یتقارب n الكبیرة f1,f2 ان الحد االدنى والحد االعلى التقریبیین والمحسوبین من سوف نرى : :وذلك من الجدول التالى
f1[f_,{a_,b_},n_]:=(b-a)/n*Sum[f[a+k*(b-a)/n],{k,0,n-1}] f2[f_,{a_,b_},n_]:=(b-a)/n*Sum[f[a+k*(b-a)/n],{k,1,n}]
:سوف نثبت ان
n 1 n
n nk 0 k 1
3 3 3 3lim f (2 k ) lim f (2 k ) 90n n n n
fx_: x2 12x1.
aa2 Table2n, f1f, 2, 5, 2n,f2f, 2,5, 2n,n, 1, 9;
TableFormaa2,TableHeadings None, "n","Lower", "Upper"n Lower Upper2 77.625 100.1254 84.0938 95.34388 87.1172 92.742216 88.5762 91.388732 89.2925 90.698764 89.6473 90.3505128 89.8239 90.1755256 89.912 90.0878512 89.956 90.0439
aa43nk0
n1f2k 3
n Simplify
9 1 5n 20n22n2
aa53nk1
nf2k 3
n Simplify
٣١٥
Limit[aa4,n->] 90 Limit[aa5,n->] 90
. x=5الى x=2من f(x)هو القیمة الحقیقیة للمساحة تحت النمحنى للدالة 90اى ان
:وذلك باستخدام الصیغ القیاسیة باسلوب اخرویمكن تعریف البرنامج
Area Between Curvesحساب المساحة بین منحنیین
یمكن استخدام االمر . والذي یؤدى الى تظلیل المساحات بین النمحنیات FilledPlot یمكن استخدام االمر Integrate واالمرNIntegrate ایضا فى تلك المشاكل سوف . لتحدید المساحة بین منحنیین او اكثر
. Plot , NRoots , FindRootنستخدم اوامر اخرى مثل
9 1 5n 20n22n2
fx_: x2 12x1
f1f_, a_, b_, n_ : N ban
k0
n1fak ba
n
f2f_, a_, b_, n_ : N ban
k1
nfak ba
n
aa2 Table2n, f1f, 2, 5, 2n,f2f, 2,5, 2n,n, 1, 9;
TableFormaa2,TableHeadings None, "n","Lower", "Upper"n Lower Upper2 77.625 100.1254 84.0938 95.34388 87.1172 92.742216 88.5762 91.388732 89.2925 90.698764 89.6473 90.3505128 89.8239 90.1755256 89.912 90.0878512 89.956 90.0439
٣١٦
امثلة
sinالمساحة المحصورة بین الرسمتین بالتقریب اوجد x,cosx 0,2]فى الفترة ]
:الحل
yسوف نرسم cosx , y=sin x 0,2]فى الفترة ]. الرسم للدالةy sin x خطوط سوف یكون ب .متقطعة
Plot[{Sin[x],Cos[x]},{x,0,2},PlotStyle{Dashing[{0.01}],GrayLevel[.01]}]
Graphics
فى الدلیل FilledPlotوالموجود فى الحزم الجاهزةFilliedPlotوكبدیل یمكن استخدام االمر
بعد تحمیل الحزم الجاهزة فان االمر. حنیات نوالذي یؤدى الى تظلیل المساحات بین الم Graphics FilledPlot هنا استخدمنا. حات بین الرسمتین اخدم لتظلیل المستیس االمر FilledPlot
.[0,2 ] فى الفترة y cosx , y=sin x لرسم .زرق المع اویمكن وضع خیار للون التظلیل واذا لم یوضع یضع البرنامج لون
<< Graphics`FilledPlot` FilledPlot[{Sin[x],Cos[x]},{x,0,2},PlotStyle{Dashing[{0.01}],GrayLevel[.01],Fills->GrayLevel}]
1 2 3 4 5 6
-1
-0.5
0.5
1
٣١٧
Graphics
sin x cosx الیجاد الحد االدنى والحد االعلى للتكامل ال بد من حل المعادلة حلین واحد فى الفترة المطلوبة واالخر خارج الفترة ولذلك سوف ناخذ تاعط Solve سوف نجد ان . x فى
4
وهو الحل الذي فى الفترة
: 4,
4 5
0,2] هما ] sin فى الفترة x cosx سوف نجد ان
Solve[Sin[x]Cos[x],x]
:سوف نثبت ذلك مما یاتى
True
True
:یمكن الحصول علیها كالتالى ةوعلى ذلك المساحة المطلوب
/ 4 5 / 4 2
0 / 4 5 / 4
(cos(x) sin(x))dx (sin(x) cos(x))dx (cos(x) sin(x))dx
1 2 3 4 5 6
-1
-0.5
0.5
1
1 2 3 4 5 6
-1
-0.5
0.5
1
Solve ::ifun :
Inverse functions are being used by Solve , so somesolutions may not be found ; use Reducefor complete solution information . More…
x 3
4, x
4
Sin 4 Cos
4
Sin54
Cos54
٣١٨
0 x / 2 فى الفترة
cosx sin x حیث
/ 2 x 4 /5
فى الفترة sin x cosx و
: وفیما یلى المساحة المحسوبة
aa1+aa2+aa3
امثلة
:بفرض
5 4 3 23f (x) x 3x 11x 18x 12x 110
3 2g(x) 4x 28x 56x 32
fبین الرسمتین المحصورةاوجد تقریب للمساحة المحصورة (x),g(x)
:الحل
وذلك الیجاد نقط التقاطع للرسمتین ولكن یمكن NRootsبعد تعریف الدالتین ورسمهم سوف نستخدم هنا االمر
.للحصول على حل مضبوط اذا امكن Solve استخدام االمر فى بعض االحیان Clear[f,g]
aa1 IntegrateCosxSinx, x, 0,
4
12aa2 IntegrateSinxCosx, x,
4,54
22aa3 IntegrateCosxSinx, x, 5
4, 2
12
42
fx_: 310x53x411x318x212x1
gx_ : 4x3 28x2 56x32
٣١٩
Plot[{f[x],g[x]},{x,-1,5},PlotStyle{GrayLevel[0],Dashing[{0.01}]}]
aa4=NRoots[f[x]g[x],x] x0.772058||x1.5355 -3.57094 ||x1.5355 +3.57094 ||x2.29182||x3.86513 aa4 نستخلصهم منالحلول الحقیقیة سوف . من المخرج السابق یوجد حلین بهما جزء تخیلى سوف نهملهم
aa5,aa6,aa7 تحت االسماء aa5=aa4[[1,2]] 0.772058 aa5=aa4[[4,2]] 2.29182 aa5=aa4[[5,2]] 3.86513
: عندما f(x)>g(x) نجد ان والرسم f(x)=g(x) باستخدام جذور المعادلة
0.772958 x 2.29182 :عندما g(x)>f(x) و
2.29182 x 3.86513 یمكن f,g وعلى ذلك تقریب للمساحة تحت المنحنى بین الرسمتین
:الحصول علیه بالتكامل التالى 2.29182 3.865
0.772958 2.29182
(f[x] g[x])dx (g[x] f[x])dx
ةواحد تیجةفى كال الحالتین الن . NIntegrate او االمر Integrate هذا التكامل سوف یحسب باالمر
aa6=Integrate[(f[x]-g[x]),{x,.772058,2.29182}] 5.26912 aa7=Integrate[(g[x]-f[x]),{x,2.29182,3.86513}] 6.92599 aa6+aa7 12.1951 aa8=N[Integrate[(f[x]-g[x]),{x,.772058,2.29182}]]
-1 1 2 3 4 5
-15
-10
-5
5
10
15
20
٣٢٠
5.26912 aa9=N[Integrate[(g[x]-f[x]),{x,2.29182,3.86513}]] 6.92599 aa6+aa7 12.1951
.ها الدوال لیست كثیرة الحدود یاالن سوف نذكر الحالة التى ف
امثلة
:بفرض
2(x 2) Cos xf (x) e ,g(x) 4cos(x 2)
fاوجد تقریب للمساحة المحصورة بین الرسمتین (x),g(x) [0,4]فى الفترة
:الحل
وذلك NRootبدال من FindRootتلك الدوال لیست كثیرة الحدود وعلى ذلك سوف نستخدم االمر مرة اخرى سوف نحتاج الى . f(x)=g(x)والتى تحقق المعادلة على تقریب لنقاط التقاطع للرسمتینللحصول
لذلك نحتاج الى رسم الدالتین للحصول على قیم تقریبیة للنقاط التى تتقاطع عندها . نقاط مبدئیة لحل المعادلة .الدالتین
g[x_]:=4Cos[x-2] Plot[{f[x],g[x]},{x,0,4},PlotStyle{GrayLevel[0],GrayLevel[.5]}]
Graphics بمجرد الحصول على القیم المبدئیة من الرسم نستخدم االمر FindRoot للحصول على تقریب لحل للمعادلة
fx_: Expx22Cos x
1 2 3 4
-1
1
2
3
4
٣٢١
. على التوالى aa3,aa4 والنتیجة فى f(x)=g(x) aa5,aa6 وتسمى aa3,aa4 القیم سوف تستخلص من . NIntegrate م االمروسوف نحصل على تقریب للمساحة باستخدا
aa3=FindRoot[f[x]g[x],{x,1.06}] {x1.06258} aa4=FindRoot[f[x]g[x],{x,2,93}] {x2.93742} aa5=aa3[[1,2]] 1.06258 aa6=aa4[[1,2]] 2.93742
وعلى . f(x) فوق المنحنى الخاص بالدالة g(x) بالدالةمن الرسم نجد ان المنحنى الخاص :سوف نحصل علیها من التكامل التالى ذلك المساحة التقریبیة
2.937
1.063
(g[x] f[x])dx
:كالتالى NIntergrate :والتى یتم حسابة باستخدام
NIntegrate[g[x]-f[x],{x,aa5,aa6}] 4.17413
Double Integralsالتكامالت الثنائیة
لحساب Integrate[f[x,y],{x,a,b},{y,c,d}]یستخدم االمر b d
a c
f (x, y)dydx . ویمكن حل التكامل
. N[Integrate[f[x,y],{x,a,b},{y,c,d}]]السابق عددیا باستخدام االمر
امثلة
:احسب التكامالت التالیة
5 10x y dxdy
x5y10xyx6 y11
66
٣٢٢
12 206 2
5 3
y x dxdy
N[%]
4
2
y126 2
5 y
y x dxdy
N[%]
/ 4 / 2
0 0
(ysin x xsin y)dydx
عند الرغبة فى الحصول على قیم تقریبیة للتكامل او عند عدم مقدرة البرنامج على ایجاد القیمة المضبوطة یمكن :استخدام االمر
N[Integrate[f[x,y],{x,a,b},{y,c,d}]
5
123
20y6x2xy
40723444937
3
1.357451010
5
12y2
y4y6x2xy
1384412570338355646802
247
5.604911018
0
40
2ySinxxSinyyx
1
32322 2
٣٢٣
امثلة
: اوجد التكامالت التالیة
2 2
0 0
cos(x y )dydx
:التوالى على Fresnel الت عبارة عن تكام FresnelC و CresnelS حان لالمصط
x x2 2
0 0
1 1C(x) cos( t )dt,S(x) sin( t )dt2 2
?FresnelC
?FresnelS
:یمكن الحصول علیه كالتالى التكاملتقریب N[%] 1.24012
1 1xy
0 0
sin(e )dydx
SineIntegral یمثلوالذى یظهر فى النتیجة SinIntegral ح لالمصط x
0
sin t dtt
?SinIntegral
0
0
Cosx2 y2 yx
1
2 FresnelC22 FresnelS22
FresnelCz gives the Fresnel integral Cz.More…
FresnelSz gives the Fresnel integral Sz.More…
0
10
1SinExpxy yx
0
1 SinIntegral1 SinIntegralxx
x
٣٢٤
N[Integrate[Sin[Exp[x y]],{x,0,1},{y,0,1}]] 0.917402
التكامالت الثالثیة
لحساب Integrate[f[x,y,z],{x,a,b},{y,c,d},{z,e,r}]یستخدم االمر r d b
e c a
f (x, y,z)dxdydz . ویمكن
.N[ Integrate[f[x,y,z],{x,a,b},{y,c,d},{z,e,r}] السابق عددیا باستخدام االمر حل التكامل
امثلة
:احسب التكاملل التالي
8 5 14 6 5
3 2 0
x y z dxdydz
N[%]
Seriesالمتسلسالت) ٤- ٥(
عموما . برنامج الماثیماتیكا قادر على اختبار المتسلسلة هلى هى تقاربیة ام ال بطرق مختلفة بما فیها الرسم :االمر
1 2Sum[f[x],n ...n یحاول حساب المجموع [2
1
n
k nf (k)
2حیثn ممكن ان تكون من ال.
SinIntegralz gives the
sine integral function Siz.More…
3
82
50
1x4y6z5xyz
194186531
2
9.70933107
٣٢٥
مثال
: Convergesاختبر المتسلسلة التالیة من ناحیة التقارب
kk 1
k2
:الحل
kلتقدیر ما اذا كانت المتسلسلة Integral testسوف نستخدم اختبار التكاملk 1
k2
سوف نبدا . تقاربیة ام ال
:بحساب التكامل
n
k1
k dk2 وذلك باستخدام االمرIntegrate وتسمیة النتاتجaa1 ثم تبسیطaa1 باستخدام االمرSimplify
. aa2وتسمیة الناتج
aa2=Simplify[aa1]
. n
k1n
kLim dk2 یتم حساب االن
:سوف نجد ان n
k 21n
k 1 ln 2Lim dk 1.76203.2 2(ln 2)
Limit[aa2,n]
N[%] 1.76203
aa1 1
n k2k
k
Ifn 1, 21n 2 2n 1 Log2 nLog4Log22
,
Integrate2k k, k, 1, n, Assumptions n 1
Ifn 1, 21n 2 2n 1 Log2 nLog4Log22
,
Integrate2k k, k, 1, n, Assumptions n 1
1 Log22Log22
٣٢٦
k1 االن سوف یتم حساب
k dk2
kسلسلة تیمكن القول ان الم وعلى ذلك من اختبار التكامل k 1
k2
تقاربیة.
فى تقریب القیمة للتمسلسلة وذلك بحساب Sumاالن سوف نستخدم االمر 1000
kk 1
k2
2.
kk 1
k2
فى الحقیقة فاننا قادرین على حساب القیمة الحقیقیى لـ
2
مثال
: Convergesاختبر المتسلسلة التالیة من ناحیة التقارب
n
k 1
10n!
الحل
سوف نعرف n
n10an!
ثم نستخدم االمرTable قائمة من القیم لحساب:
: aa11 وتسمیة الناتج 2 24 25a ,a ,...,a ,a
aa3 1
k2k
k
1 Log22Log22
Nk1
1000 k2k
k1
k2k
٣٢٧
Clear[a]
aa1=Table[a[n],{n,1,25}];
. aa1لرسم القائمة من االعداد ListPlotسوف نستخدم االمر
?ListPlot
ListPlot[aa1]
Graphics
nاوال نحسب .ال سوف نستخدم اختبار النسبة كانت المتسلسلة تقاربیة املتقدیر فیما اذا 1
n
aa ثم استخدام االمرLimit
nلحساب 1n
n
alima
.ان المتسلسلة تقاربیة وتؤؤول الى صفر وسوف نثبت
0
an_: 10n
n
ListPloty1, y2, ... plots a list of
values. The x coordinates for each point
are taken to be 1, 2, ... . ListPlotx1,y1, x2, y2, ... plots a list of values
with specified x and y coordinates.More…
5 10 15 20 25
500
1000
1500
2000
2500
an1an10n
1 nLimitan1
an, n
٣٢٨
او كبدیل فان التعبیرn 1
n 1n
n
a 10 n! 10.a (n 1)! 10 n 1
یبسط الى
10n 1
FullSimplifyباستخدام االمر
: وعلى ذلك . Simplifyبدال من االمر
n 1n 1
nn n nn
a 10 n! 10lim lim . lim 0a (n 1)! 10 n 1
.سلسلة تقاربیة توعلى ذلك باستخدام اختبار النسبة فاننا سوف نثبت ان الم
Limit[aa5,n] 0
:كما یلى Sum باستخدام
n
kk 1
102
امج حساب القیمة الحقیقیة للمتسلسلةنفى الحقیقة یمكن للبر
مثال
: Convergesاختبر المتسلسلة التالیة من ناحیة التقارب
k 1
sin kk
:الحل
kسوف نبدا بتعریف sin ka
k ثم استخدام االمرTable 1وذلك لحساب قائمة من القیم 2 999 2000a ,a ,...,a ,a
لرسم ListPlot، اى استخدام االمر aa1لرسم القائمة من االعداد ListPlotثم نستخدم االمر aa1وتسمیة الناتج k(k,aالنقاط ),k 1,2,...,2000.
Clear[a]
an1an
FullSimplify10
1 n
n1
10n
n1 10
٣٢٩
aa1=Table[a[k],{k,1,2000}]; ListPlot[aa1,AxesNone,Frame->True,PlotStylePointSize[0.01]]
Graphics
نالحظ ان الرسم لم یساعد فى تقدیر ما اذا كانت المتسلسلة k 1
sin kk
سوف نحسب .تقاربیة ام ال
1000
k 1
sin kk
Nمع تقریبة باالمر
1.07087
وذلك لحساب قیمة تقریبیة للمتسلسلة k 1
sin kk
:لمتسلسلة كما یلى لیمكن حاسب القیمة بالضبط ) . n )n=10000حیث تم استخدام قیمة كبیرة من
: Nباستخدام ثم ComplexExpandباستخدام التقریب العددى للنتیجة یمكن الحصول علیھ
aa3=ComplexExpand[aa2]
ak_: Sinkk
0 500 1000 1500 2000
-0.003
-0.002
-0.001
0
0.001
0.002
0.003
N k1
10000 Sinkk
k1
Sinkk
1
2 Log1 Log1
aa2k1
Sinkk
1
2 Log1 Log1
٣٣٠
N[aa3] 1.0708
القوىتقدیر الفترة التى تتقارب فیها متسلسلة
Determinig the Interval of Convergence of a Power Series
سلسلة القوىتبفرض مn
n 0n 0
a (a x )
المشكلة فى ایجاد فترة التقارب لمسلسلة القوى المعطاه .
مثال
:سلسلة القوى المعطاه تفترة التقارب لماوجد
2n 1n
n 0
1 x( 5)
الحل :سلسلة بحدود موجبة تم na ینص على انه اذا كانت والذى Root test سوف نستخدم اختبار الجذر
nnn
lim a
وكان
:فان
1 المتسلسلة تتقارب اذا كانت ) ) ا ( 1 اذا كانت تتباعد المتسلسلة ) ب(
1 ال تعلیق اذا كانت ) ج ( :كالتالى na نبدا بتعریفسوف
Simplify وقد وجد ان االمر . 2n 1n n
1 x( 5)
ثم حساب وتبسیط 2n 1n
1 x( 5)
لم یبسط التعبیر كما نرغب ولذلك سوف یستخدم االمر PowerExpand لتبسیط الناتج : aa1 سوف نسمى الناتج و
f[n]//Simplify
ArcTan Sin11 Cos1
fn_:15n
x2n1n
٣٣١
aa1=f[n]//PowerExpand//Simplify
: حیث تؤول الى ماال نهایة n عندما aa1 لـ االن نقوم بحساب النهایة
2n 1 2 1/ nn nn n
1 1lim x lim x x( 5) ( 5)
Limit[aa1,n]
21 | x | <1
5 تتقارب مطلقا اذا كانت 2n 1n n
1 x( 5)
النتیجة تعنى ان
.نحل هذه المتباینة الحقا سوف
Graphics
:وعلى ذلك یمكن استنتاج ان 2n 1
n n1 x
( 5)
. 5 x 5 تتقارب مطلقا اذا كانت
.منفصلین x 5 or x 5 عندما 2n 1n
n 0
1 x( 5)
لـ االن سوف نفحص التقارب
5n x12n1n
1
5x2 1
n
x2
5
Solvex2
5 1,x
x 5, x 5
Plot1, x2
5, x, 3, 3,
PlotStyle GrayLevel.5, GrayLevel0
-3 -2 -1 1 2 3
0.25
0.5
0.75
1
1.25
1.5
1.75
٣٣٢
نفس الكالم .وسوف نثبت انها لیست تقاربیة na x فى 5 ض االن سوف نعو x 5 بالنسبة الى
:هى 2n 1
nn 0
1 x( 5)
المتسلسلة ها وعلى ذلك یمكن استنتاج ان الفترة التى تتقارب فی
. ( 5 , 5 ) مثال
: سلسلة القوى المعطاه تفترة التقارب لماوجد 2n
n
n 0
4 (x 3)n 1
الحل :سلسلة بحدود موجبة تم na على انه اذا كانت والذى ینص Ratio test سوف نستخدم اختبار
n+1n
n
alim a
وكان
:فان
1 المتسلسلة تتقارب اذا كانت ) ) ا ( 1 اذا كانت تتباعد المتسلسلة) ب(
1 ال تعلیق اذا كانت ) ج ( :كالتالى na بتعریف سوف نبدا
. n 1
n
aa ثم حساب وتبسیط
2nn
n4a (x 3)
n 1
. aa2 لتبسیط الناتج والمخرج سوف یعطى له االسم Simplify سوف یستخدم االمر
PowerExpandaa1n .x 5 Simplify
13n5PowerExpandaa1n .x5 Simplify
1n5
fn_: 42nx3nn1
aa2fn1fn
Simplify161 n 3 x
2 n
٣٣٣
n
n+1lim 16 (x 3)n+1
نقوم بحساب االن aa3 مع تسمیة المخرج
aa3=Limit[aa2,n]
16 (-3+x) |16x 48| <1 تتقارب مطلقا اذا كانت
2nn
n 0
4 (x 3)n 1
النتیجة تعنى ان
:وسوف نثبت ان سوف نحل هذه المتباینة
47 49x or x16 16
سلسلة تتقارب عندلمتا Solve[aa31,x]
Solve[aa3-1,x]
n
n 0
( 1)n 1
المتسلسلة
n 0
1n 1
و تتقارب باختبار المتسلسلة البدیل
وعلى ذلك یمكن القول ان الفترة التى تتقارب فیها المتسلسلة . لیست تقاربیة
2nn
n 0
4 (x 3)n 2
.
47 49[ , )16 16 : هى
x 49
16
x 47
16
fn . x 4916
Simplify1
1 n
fn . x 4716
Simplify1n
1 n
٣٣٤
Computing power seriesحساب متسلسالت القوى
xحول النقطة f(x)القوى للدالة ةسلسلتمفكوك م a یمكن الحصول علیھ من الصیغة التالیة:
(n)n
n 0
f (a)(x a)n!
.تحت شرط ان الدالة قابلة للتفاضل
xحول النقطة f(x)للدالة سلسلة القوى تبرنامج الماثیماتیكا قادر على حساب مفكوك م a وحتى الدرجةn وذلك
:كالتالى Series باستخدام االمر
Series[f{x},{x,a,n}]
معلومات عن هذا االمر Series :یمكن الحصول علیها كالتالى ?Series
Series والذى یظهر فى المخرج الناتج من االمر x [x a] ^ (n 1) الرمز العادي ویمكن الغاء ھذا الحد وكتابة المفكوك فى الشكل ) حد الباقى (یمثل الجزء الباقى المحذوف من المتسلسلة
. Normalاالمر وذلك باستخدام
مثلة ا
:حتى الحدود من الدرجة الخامسة نتبع التالى x=0 حول النقطة xe متسلسلة القوى للدالة لحساب مفكوك
Series[Exp[x],{x,0,5}]
:كما یلى Normalوكتابة المفكوك فى الشكل العادى وذلك باستخدام االمر الباقى ویمكن الغاء حد
Series[Exp[x],{x,0,5}]
Seriesf, x, x0, n generates a power
series expansion for f about the point x
x0 to order x x0^n. Seriesf, x, x0,
nx, y, y0, ny successively finds series
expansions with respect to y, then x.More…
1 xx2
2x3
6x4
24
x5
120 Ox6
٣٣٥
Normal[%]
:نتبع التالى السادسةحتى الحدود من الدرجة x=0 حول النقطة cosx متسلسلة القوى للدالة لحساب مفكوك
Series[Cos[x],{x,0,6}]
:نتبع التالى السادسةحتى الحدود من الدرجة x=0 حول النقطة ln x متسلسلة القوى للدالة لحساب مفكوك
Series[Log[x],{x,1,6}]
النتیجة . y(x) القوى للدالة لمتسلسلةبرنامج الماثیماتیكا قادر على حساب الصیغة العامة لمفكوك
:نحصل علیها من االوامر التالیة Series[y[x],{x,0,3}]
Series[y[x],{x,a,3}]
من الدرجة على التوالى x=0 , x=a حول النقطة y(x) سلسلة القوى للدالةتم ي مفكوكنحصل عل حیث
.الثالثة . x لیس دالة بحیث یمكن تقدیرها عند قیمة خاصة Series االمر النتائج من ادخال
: كالتالى Normal ویمكن الغاء حد الباقى وكتابة المفكوك فى الشكل العادى وذلك باستخدام االمر
Normal[Series[f[x],{x,a,n}]]
مثال
1 xx2
2x3
6x4
24
x5
120 Ox6
1 xx2
2x3
6x4
24
x5
120
1x2
2x4
24
x6
720 Ox7
x 1 1
2x 12 1
3x 13
1
4x14 1
5x15 1
6x16 Ox 17
y0 y0 x 1
2y0 x2 1
6y30 x3 Ox4
ya ya x a 1
2ya x a2
1
6y3a x a3 Ox a4
٣٣٦
اوجد Maclaurin Polynomial من الدرجة الخامسة 1tan x للدالة
1tan رسم ثم قارن x معPolynomial .
:الحل
f(x)للدالة nمن الدرجة Maclaurin Polynomialفان 0 من المشتقات عند nدالة ولها f(x)اذا كانت
:هو
(k)k
k 0
f (0)xk!
1fسوف نعرف مفكوك مسلسلة القوى للدالة (x) tan x حول الصفر من الدرجة الخامسة .
.وسوف تظهر رسالة خطا . x=1لتوضیح ان المخرج لیس دالة سوف نحاول تقدیره عند
aa1=Series[ArcTan[x],{x,0,5}]
aa1/.x1
Indeterminate
: x=1ثم حساب الناتج عند Normal وذلك باستخدام االمر المفكوك فى الشكل العادى ویمكن الغاء حد الباقى وكتابة
aa1=Series[ArcTan[x],{x,0,5}]
aa2=Normal[aa1]
aa2/.x1
و aa2 لـیمكن مقارنة الرسم واخیرا 1f (x) tan x. الرسم الخاص بـ
1f (x) tan x سوف fتظهر تقریب لـ aa2ویجب ان نتذكر ان .سوف یكون اسود aa2یكون بخطوط متقطعة والرسم الخاص بـ .جیدا فى الفترة التى تحتوى على صفر
xx3
3x5
5 Ox6
SeriesData ::ssdn : Attempt to evaluate a seriesat the number 1; returning Indeterminate . More…
xx3
3x5
5 Ox6
xx3
3x5
5
13
15
٣٣٧
Graphics
من المشتقات nدالة لها f(x)اذا كانت . Taylor Polynomialوذلك لحساب Seriesیمكن استخدام االمر :هو x=aعند f(x)للدالة nمن الدرجة Taylor Polynomialفان x=a عند
(k)k
k 0
f (a)(x a)k!
مثال
اوجد Taylor Polynomial من الدرجة الثامنة 2 2(x 1) (x 1)e للدالة
. f(x) وقارن الرسم لكثیرة الحدود مع x=1 حول
:الحل
یظهر وذلك لنوالرسم aa1والنتیجة نعطیها االسم f(x)نعرف الرسم للدالة f(x)بعد ازالة كل التعریفات للدالة كد على ان یشمل الرسم أی AxesOrigin->{0,0}الخیار . DisplayFunction->Identityلوجود االمر كد ان النتیجة تظهر على شكل خطوط متقطعة أی PlotStyle->Dashing[{.01}]الخیار . (0,0)على النقطة
Clear[f]
aa2=Plot[f[x],{x,-1.75,1.75},PlotStyle
PlotArcTanx, aa2, x, 32,32,
PlotStyle Dashing0.01, GrayLevel0
-1.5 -1 -0.5 0.5 1 1.5
-1.5
-1
-0.5
0.5
1
1.5
fx_ : Expx12x12
٣٣٨
Dashing[{.01}],AxesOrigin{0,0},DisplayFunctionIdentity]; x=1 من الدرجة الثامنة ، ثم ازالة الجزء حول النقطة f(x) لتمسلسلة القوى للدالة aa3 الخطوة التالیة تعریف
aa4 وتسمیة الناتج Normal الباقى باستخدام االمر Polynomial والذى یمثل
2 2(x 1) (x 1)e للدالة . x=1 حول
aa3=Series[f[x],{x,1,8}]
aa4=Normal[aa3]
aa2 , aa5 معا الظهار Show ثم استخدام االمر aa5 وتسمیة الناتج aa4 ثم یلى ذلك رسم
.وبدونه ال یظهر الرسم $DisplayFunction->Identity ویجب ظهور االمر
aa5=Plot[aa4,{x,-1.5,1.75},DisplayFunction->Identity];
1 4x 12 4x 13 7x 14 16x 154
3x16 28x 17 173
6x 18 Ox 19
1 41x2 41 x3 71x4
161 x5 4
31 x6 281 x7 173
61 x8
Showaa2, aa5, PlotRange 2, 32,
DisplayFunction $DisplayFunction;
-1.5 -1 -0.5 0.5 1 1.5
-2
-1.5
-1
-0.5
0.5
1
1.5
٣٣٩
٣٤٠
المراجـع REFERENCES
المراجع العربية: أوال نعم -١ د الم د عب روت محم ى ، ) ٢٠١٢(، ث ة ف ة برمج ا كلغ امج ماثیماتیك تخدام برن اس
ائى تدالل االحص ال االس ع – مج ب والمراج ى الكت رب ف ائیین الع دى االحص منت . العربیة
اض رزق هللا -٢ ت ری وتر، ) ٢٠٠٠(، راف تخدام الكومبی یات باس ا الریاض – ماثیماتیك .جمھوریة مصر العربیة –القاھرة -المكتبة االكادیمیة
المراجع األجنبية: ثانيا
1- Abell, M. L . Braselton,J. P. (1992) The Mathema ca Handbook, Academic Press, New York.
2- Abell, M. L . Braselton,J. P. (1997) Mathematica by Example, Second Addition, Academic Press, New York.
3- Abell, M. L . et.al. (1999) Sta s cs with Mathema ca, Academic Press, New York.
4- Gaylord, R. J . et.al. (1993) Introduction to Programming with Mathematica, Springer Verlag, New York.
5-Wolfram,S. (1991) Mathematica : A System for Doing Mathematicas by Computer,Second Addition , Addision Wesley.
6-Wolfram, S. (1994) Mathematica : The Student Book,Addison Wesley.
٣٤١