الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

اكبر قيمة للتابع الرياضي

مغلق
بدأه Mr.Said في 12 يناير 2005 · 3 رد · 741 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

ممكن احد مبدعي المنتدى يدلني على كود با C or Java ممكن اعرف القيمة العظمة والدنيا للتابع داخل المجال [5.12,5.12-]

post-14-1105481492_thumb.jpg

#2

لم أرى دالة جاهزة لذلك , لكن رياضيا أقصى وأدنى قيم يمكن الحصول عليها من المشتقة الأولى للدالة مباشرة ,

لكن دعك من الإشتقاق , فيمكن أن تقوم بعمل توقع بسيط بالتعويض السريع في الدالة لتتعرف على أقصى قيم في مدى معين , وحتى إن كان للدالة سلوك شاذ , يمكن أن تتعرف على أقصى قيمة أيضا فقط بالتعويض السريع , لكن ببعض التوقع .

هل هذا ماتريد ؟

banner_60_468.gif

NOTHING IS IMPOSSIBLE

#3

تسلم على الرد . بس الدالة هي بالصورة المرفقة مع السؤال

بس اضغط على الصورة

اما بالنسبة الى الطريقة فانا اريد توجيها لكي اعمل البرنامج

بالمناسبة انا ادرس مادة genetic algorithm

وانا لااريد منك احل او البرنامج بشكل كامل وانما اريد بعض التوجيه لكي اعملها بنفسي

شكرا لك على الر

Mr.Said

#4

genetic algorithm ؟؟

ماهو تخصصك , وماذا تدروسون في خوارزميات الجينات ؟

كنت أتمنى أن أدرس هندسة جينات سابقا لكن التخصص غير موجود البتة لدينا في دولتنا حفظها الله , أرجو أن تعطيني بعض المعلومات عنها , لأنني فعلا مهتم بالموضوع .

بالنسبة للدالة المرفقة , فهي في x1 و x2 , ويمكن أن تحول المعادلة في x2 فقط لتصبح x2 = دالة في x1

لكن لاتفعل ذلك , فقط يكفي أن تساوي الدالة بالصفر وتعوض بقيم مرتبة لتحصل على أكبر قيمة ل x1 أو x2 , وستحصل على أحدها بدلالة الثانية .

خذ عندك مثال لدالة في x و y وهي x^2+y^2=1 وهل للدائرة "حيث ال ^ هو الأس " , فأقصى قيمة ل x هي 1 وأقصى قيمة ل y هي واحد أيضا .

الطريقة كالتالي :

بما أن لديك مدى محدد في x1 وآخر في x2 مثلا , أو واحد منها , فقط , أو كانت الدالة كما هي فقط وحدودها غير معروفة وعليك معرفتها أيضا , فعليك بفعل بعض الأمور :

تعرف المستحيلات في البرنامج وهي كالتالي :

1) لايوجد عدد عندما تربعه يكون سالب كما هو .وهي خارج نطاق الأعداد الحقيقية وهي الأعداد المركبة .

2) لاتوجد قسمة على صفر .

بعد أن تعرف هذه الأمور في فئة class مثلا , يمكن أن تبدأ بالتعويض وأنت واثق , وتقوم بعمكل for loop بسيطة توجد قيمة x2 عندما تعوض بقيم ل X1 , بالورقة والقلم بالتأكيد تعرف كيف تقوم بذلك , أما برمجيا فلديك واحدة من إثنين .

طريقة برمجية تحاكي الورقة والقلم تماما لكن تتطلب بعض المعرفة في الفئات , لكتابة فئة متينة تحاكي إيجاد القيمة بالورقة والقلم , ولاأقصد لهذه المعادلة فقط , بل لأي معادلة معطاة .

المستحيلات أعلاه ستفيدك في هذه الطريقة , فمثلا في مثال الدائرة , لايمكن لقيمة ال x أن تصبح أكبر من 1 أبدا , لماذا ؟

لأن لو كانت x=2 مثلا , فستصبح المعادلة :

1= y^2+ 4

أو أن y = جذر -3 وهو عدد تخيلي مستحيل في الأعداد الحقيقية , لذا لن تتحقق المعادلة بقيم x أكبر من 1 أبدا .

بهذا المبدأ فكر في بريمجك :)

الطريقة الثانية بالتعويض السريع , يعني ثبت قيمة ل x2 مثلا وتريد الحصول على قيمة x1 المقابلة , فتقوم بالتجربة تعوض برقم عشوائي في x1 وتقارن النتيجة , هل هي أكبر من القيمة المطلوبة أم أصغر , لو كانت أصغر تزيد القيمة والتعويض , وهكذا وإن كانت أكبر تنقص , وكل مرة ستقترب أكثر من القيمة الحقيقية ,

وهذه الخوارزمية بشكل عام تسمى البحث الثنائي .

أرجو أن أكون قد أفدتك , والموضوع سهل إن شاء الله , وفكر فيه وستجد الحل .

banner_60_468.gif

NOTHING IS IMPOSSIBLE

هذا الموضوع مغلق.

مواضيع مشابهة