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

تطبيق النظريات الرياضية باستخدام الحاسوب

مغلقرائج
بدأه omartomi1983 في 19 ديسمبر 2004 · 25 رد · 30,036 مشاهدة · في الرياضيات والخوارزميات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

المقدمة

بسم الله الرحمن الرحيم

ربما لا يبدو هذا الموضوع للبعض من الذين اعتادوا شروح التطبيقات البرمجية فقط، ذات أهمية تذكر، و ربما من وجهة نظره كمستخدم محق، لان الأمور الأساسية التي تهم الشخص ، تتوقف على نوع المجال الذي يحبه، و المسلك الذي يسلمه، الشائع عندنا في كل المنتديات الرغبة الجامحة إلى فهم كيفية التعامل مع التطبيقات المختلفة للبرامج software , و هذا لا يعني التقليل من أهمية هذا الميل، لكن ما أحاول طرحه في هذا الكتاب هو أساسيات الرياضيات , التي يعلم الجميع انه من غير الممكن التعامل المفاهيم الفيزيائية من غيرها, أو بتعبير آخر تدخل في تصميم كل التطبيقات الميكانيكية و الكهربائية و الأهم الحاسوبية – إن صح هذا التعبير – و لندلل على صحة ما نقول, فان أراد مهندس او متخصص تصميم دائرة كهربائية معينة تحتوي على مكثف , ملف و مقاومة، وا راد حساب الجهد الذي يجب ان يستهلكه كل واحد من هذه العناصر, يصبح من البديهي تعامله مع معدلات الدرجة الثانية, و بالأخص المعادلات التفاضيلة , ويصبح من المستحيل إجراء أي تصميم دقيق من غير فهم هذه المعدلات, و نفس الأمر يتعلق بمبرمج النظم، الأمثلة تتعدد و لا أريد ان أطيل الشرح أكتر.

لمن هذه الصفحات ؟

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

محتويات الدروس content

1. المعادلات التفاضلية الاعتياديةordering differential equation

2. المعادلات التفاضلية ذات المرتبة الأولى ( المتجانسة)

Homogeneous

3. المعادلات التفاضلية ذات المرتبة الأولى ( الخطية)

Linear differential equation

4. المعادلات التفاضلية ذات المرتبة الأولى ( التامة)

Exact differential equations

5. المعادلات التفاضلية يمكن تحويلها إلى الصيغ المفصولة

Equations reducible separable form

6. المعادلات التفاضلية يمكن تحويلها إلى الصيغ المتجانسة

Equations reducible homogeneous form

7. المعادلات التفاضلية يمكن تحويلها إلى الصيغ التامة

Equations reducible exact form

8. الحل العام و الحل الخاص

General and particular solution

9. المعادلات التفاضلية ذات الحد المفقود

Differential equations with one variable missing

10. المعادلات التفاضلية ذات المعاملات الثابتة

Linear differential equations with constant coefficients

11. المعادلات التفاضلية من المرتبة الثانية الخطية غير المتجانسة

Non homogeneous second order linear differential equation

12. تحويل لبلاس

Laplace transform

13. معكوس تحويل لبلاس

Inverse laplace transform

14. حل المعادلات التفاضلية باستخدام تحويل لبلاس

Solution of deferential equation using laplace transforms

15. حل المعدلات باستخدام المتسلسلات ( الحل التقريبي )

Solution of deferential equation using by series (approximate solution)

16. دالة بسيل

Bessel's function

17. تطبيقات المعدلات التفاضلية

Application of deferential equation

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

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

و هذا الموضوع إن شاء الله سيكون مقدمة لتحقيق هذا الهدف و الإرتفاع إلى مستوى جديد في البرمجة و استغلال حواسيبنا للأفضل. فبارك الله فيك و أعانك على هذا الهدف النبيل.

أريد هنا أن أشدد على أهمية هذه الدروس لماذا ؟ لن أدخل هنا في فوائد التحليل العددي لدراسة العلوم كافة و دعمها و لكن فقط أشير إلى أن هذا الجانب هو ما ينقص مناهجنا التعليمية.

عندما يحصل فني أو مهندس على وظيفة معينة، مثلا في الصيانة أو الإنتاج أو الجودة أو تدبير المواد الأولية، يتوقع أنه سيفتح جهاز الحاسوب ليجد أمامه أحد برامج SAP أو Baan أو PeopleSoft أو Oracle أو JDEdwards و كل ما عليه هو الضغط على بضعة أزرار هنا و هناك ليعرف حالة المخزون و الطلبيات و موعد تسليمها و نتائج اختبارات الجودة و كمية المواد الأولية التي يجب شراؤها و عدد الـ lots في خطوط الإنتاج و أسماء العمال الذين عملوا في تجميع منتج معين و عدد ساعات غياب عامل ما و الإقتراحات التي قدمها العمال و عدد توقفات آلة ما ...

لكن هذا غير موجود على أرض الواقع، واقعنا العربي...

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

أما في الشركات المتوسطة و الصغيرة، فمن الصعب على الفني أو المهندس إقناع المدراء بالفائدة الملموسة لمثل هذه الأدوات خصوصا أن ثمن تملكها السنوي Total Cost of Ownership مرتفع مقارنة بميزانية الشركة السنوية، لذلك فالحل الوحيد الذي يجده المهندس لتدبير أموره اليومية هو ابتكار حلول برمجية على مقاس الشركة .

و لن يتأتى له ذلك إلا بمعرفة مسبقة بطرق التحليل العددي و استعمال الحاسوب في حل معادلات رياضية. و هذا يدرس في الجامعات و مراكز التكوين (و منتدانا الحبيب) و ليس في مكان العمل. لأن وقت العمل ضيق و محسوب.

كما أنه لا مجال لاستعمال برامج مقرصنة تحت طائلة تعريض الشركة لغرامات مالية في حال قيام مايكروسوفت و أخواتها بالتحقق من برمجيات الشركة (إثر مكالمة هاتفية من عامل لم يستفد من العلاوة السنوية ).

قد تكون الصورة التي رسمتها قاتمة لكنها واقعية و تبين أن البرمجيات التي تستعملها في حاسوب المنزل لا تستطيع تثبيتها كلها في حاسوب العمل دون رخص.

في النهاية، أقول اني لا أقصد أن يكون المهندس مبرمجا محترفا زيادة على التخصص الذي درسه، لكن وضع برنامج صغير لتتبع مؤشر ما او ورقة excel ببعض المعادلات الرياضية أسرع و أنجع من تعلم برامج من العيار الكبير في حالات كثيرة.

=============================================

رياضيات الحاسب الآلي

الدرس الأول

التسمية الدقيقة لهذا التخصص هو التحليل العددي( numerical analyses) يستخدم التحليل العددي في حل المعادلات الرياضية التي يصعب حلها أو يستلزم وقت طويلا في الحل، فإذا كانت لدينا معادلة رياضية من الدرجة الرابعة أو الخامسة فان من الممكن حلها بالطرق التقليدية، و حتى هذه الطرق تاخد وقتا، إما إذا كانت المعادلة من الدرجة السادسة و أكثر يكون من الصعب دائما التعامل مع المعادلة تقليديا، و مع ظهور الحاسب الآلي ( الكومبيوتر) اتضحت أهميته البالغة في حل هكذا معادلات، و ذلك لتوفيره الوقت و الجهد. و بالأخص في المعادلات التي تحتاج إلى تكرار كبير من اجل الوصول إلى النتيجة أو الحل.

في حقيقة الأمر يوجد الكثير من البرامج يمكن استخدامها في هذا المجال مثل برنامج MATHCAD , MATHLABو حتى برنامج EXCEL المرافق لحزمة OFFECE يمكن أجراءه في حل الكثير من المعدلات و إجراء العديد من الصغير الرياضية المفيدة ، لكن في هذه السلسلة سنقوم باستخدام إحدى لغات البرمجة في التعامل مع المعادلات الرياضية ، سنتعامل مع لغة FORTRAN لما تمتاز به هذه اللغة من استقرار عال و دقة في المعادلات و تحديد دقيق لنوع المتغيرات مع سعة كبيرة في نوع المتغيرات، من الممكن أنها ليست على درجة كبيرة من الانتشار و الاستخدام ، غير أن المتخصصين في مجال التحليل العددي و الرياضيات بصفة عامة يعترفون لها بالفضل، سنستخدم الإصدار الرابع منها و هي

MICROSOF DEVELOPER STUDIO 0.4

و هو إصدار يعمل تحت بيئة الويندوزWINDOWS) ) و لست في معرض الدعاية لهذه اللغة و لا أحب المقارنة بين اللغات المختلفة غير أن FORTRAN LANGUAGE هي لغة المهندسين بكل كفاءة

لمن هذه الدروس؟؟

أصارحكم القول إن مثل هذه الدروس لا يمكن أن تفيد غير المتخصص او الطالب الذي يبحث عن المعرفة الرياضية آو البرمجية، حيث سنعتمد برنامج لكل مسالة رياضية و لا يكمن أن يتفاعل معنا غير من يمتلك أساسيات البرمجة و بناء البرامج، و لمن لا يفضل استخدام لغة FORTRAN سنضع خوارزمية لكل برنامج من أجل كتابته بأي لغة يفضلها، و لمن لا يمتلك أساسيات البرمجة أنصحه بقراءة المقال الذي كتبت في(شرح البرامج) بعنوان(الطرق إلى البرمجة 2) و بامكانه التوسع أكثر في هذا المجال عن طريق أي كتاب يراه مناسب.

قبل التعامل مع المعدلات الرياضية لا بد أن نقدم أساسيات لغة FORTRAN من التواب و المتغيرات.

أساسيات لغة فورتران FORTRAN

1 الرموز CHARACTERS

تستخدم مجموعة من الرموز الأساسية في لغة FORTRAN و تتكون من الأتي :

1.1 الأرقام NUMBERS CHARACTERS

و هي 0 1 2 3 4 5 6 7 8 9

1.2 الحروف ALPHABATIC CHARACTERS

تشمل الحروف المستخدمة في لغة الإنجليزية و هي :

A B C ………………………..X Y Z

1.3 رموز خاصة SPECIEL CHARACTERS

و هي :

المساواة الفارزة

النقطة العشرية

القوس الأيمن )

القوس الأيسر (

الفاصلة العليا ( القسمة ) ÷ /

النجمة ( الضرب) *

الزائد +

الناقص –

2.1 أنواع البيانات في لغة FORTRAN

تمثل البيانات لفي لغة الفورتران FORTRAN بإحدى الأساليب الآتية :

2.2 صحيحة INTEGAR

و تشمل جميع الأعداد

حقيقية RAEL الأعداد التي تحتوي على العلامة العشرية

2.3 مزدوجة الدقة DOUBEL PRECESION

أعداد صحيحة آو حقيقة تخزن بدقة كبيرة

2.4 مركبة COMPLEX

أعداد تحتوي على كل من الجزء الحقيقي و التخيلي RAEL AND IMAGE

2.5 منطقية LOGICAL

القيم المنطقية أو الصادقة

2.6 الحروف الرقمية ALPHANUMERIC

المعلومات اللفظية LITERL INFORNATION الأنواع الربعة الأولى تستخدم لتمثيل القيم العددية خلال العمليات الحسابية ، و الأسلوب المنطقي يمثل القيم الصادقة او الكاذبة (TRUE OR FULSE)

الدرس الأول LESSON ONE

طرق حل العادلات ذات المجهول الواحد

SOLUTION OF EQUATION IN ONE VARIABLE

طرقة المقاطع

BISECTION METHOD

استهلال INTRODUTION

لنفرض أن لدينا المعالة الرياضية التالية :

X^2 + 4 = 0

مع ملاحظة أن الرمز(^) يعني أس أي مربع القيمة X )) و X^5 يعني الأس الخامس للمتغير X.

سيكون الحل المثالي لهذه المعادلة هو كالأتي:

X^2=4
X=±√4
X=-2
X=-2

وهو حل دقيق تماما بمجرد إتباع الخطوات السابقة, نحصل على الحل.

و إذا كانت لدينا المعادلة الرياضية التالية :

X^3+4X^2-10=0

فحلها يرهق قليلا و لا يعطي قيم دقيقة ، و لهذا نلجأ إلى طريقة المقاطع BISECTION METHOD التي تتلخص فيما يأتي :

لنفرض أن لدينا دالة F(X) معرفة و مستمرة خلال الفترة { A , B } مع الدالتين F(A) , F(B) فهنالك قيمة X0 تنتمي إلى الفترة

{A,B} كالدالة F(X0)=0.0 ، و التي تكون حلا للمعادلة F(X)

بما أن القيمتين A B تنتمي إلى نفس الفترة فهذا يعني ان الدالتين

F(A) , F(B) تنتمي إلى نفس النطاق

و حل المعادلة يكون هو النقطة X0 (PIONT SOLUTION ) و بما أن أساس الحل تقريبي فتكون الطريقة المثالية لخطوات الحل هي اخذ مجموعة من النقاط التقريبية المقربة للقيمة الصفرية كالقيمة 0.00001

و اختبارها فهي لا تساوي صفر لكنها دقيقة جدا و مقربة جدا من الصفر حيث يصعب الحصول على الحل الصفري في التحليل العددي مباشرة و هذه القيمة سنفرضها ليحملها المتغير P و يقترب كل مرة بقيمة دقيقة من الحل الصفري و تعتمد طريقة المقاطع (BISECTION METHOD) على نفس الفكرة في التعامل مع المسائل الرياضية و خوارزمية البرنامج هي كالآتي :

START
RAED ( A , B )
DO P=(A +B ) / 2
Y1= A^3 + 4*A^2 – 10
Y2= B^3 + 4*B^2 -10
Y0=P^3 + 4*P^2 – 10
IF ( Y0 < 0.00001 ) GOTO STEP 100
IF (Y0*Y1 > 0.0 ) GOTO STEP 10
A=A
B=B
GOTO STEP 20
DO A=-P
B=B
GOTO STEP 20
WRITE Y0 , P 
STOP

شرح الخوارزمية :

نبدأ بقراءة القيمتين A B ثم نقوم بتطبيق القيمة المتوسطة للقيمتان من اجل تسريع الوصول للقيمة الصفرية و ذلك بأخذ المتوسط لهما و هي القيمة P)) ثم نقوم بتطبيق الدوال السابقة من اجل اختبارها و يتم ذلك باختبارين

الاختبار الأول يسأل هل قيمة Y0< 0.00001 بمعنى أن الحل قد تحقق اذا كانت الإجابة بنعم و الا فيتم الانتقال إلى الاختبار الثاني الذي يسال هل قيمة مضروب الدالتين Y0,Y1 اكبر من الصفر إذا كانت الإجابة بنعم فتأتي خطوة التقريب الأولى التي تضع قيمة P مكان قيمة B و تثبت قيمة A فيكون الاقتراب من جانب الدالة F(B) نحو القيمة الصفرية التقريبية و الا فيتم الانتقال الى الخطوة التالية التي تقوم بالتعويض عن قيمة A = P و تطبق ذلك على الدوال و تختبر القيم و هكذا يستمر الحل حتى يتحقق الشرط و تقترب الدالة من القيمة الصفرية و يتم طباعة القيمتين P , Y0

البرنامج بلغة FORTRAN

بعد تنصيب البرنامج تقوم بفتحه و تتبع الخطوات التالية:

1. من القائمة المنسدلة FILE تختار NEW

2. تظهر لك نافذة تختار منها الاختيار الأول TEXT ثم تقوم بالضغط على موافق

3. تأخذ مسافة قيمتها تاب واحد بالضغط على المفتاح TAB و قبلها تضع في بداية السطر الحرف C

4. تكتب البرنامج التالي :

C THIS PROGRAM TO CALCOLATE SOLUTION OF EQUATION BY USED BISECTION METHOD
RAED ( *,* ) A , B 
P=(A +B ) / 2 
Y1= A^3 + 4*A^2 – 10 
Y2= B^3 + 4*B^2 -10
Y0=P^3 + 4*P^2 – 10 
IF ( ASB( Y0) .LT. 0.00001 ) GOTO 100
IF (Y0*Y1 .GT. 0.0 ) GOTO 10
A=A
B=B
GOTO 20 
A=-P
B=B
GOTO 20 
WRITE(*,*) Y0 , P 
STOP
END

5. تحفظ البرنامج باسم BISECTION.FOR ثم و هذه الخطوة مهمة جدا حيث يتحول البرنامج من مجرد ملف نصي TEXT إلى لغة FORTRAN و تظهر علامات معالج اللغة أي الكلمات المحجوزة للغة بخط ازرق و خط اخضر يحتوي البرنامج كله دليل على أن هذه الكلمات تحتوي على نص بلغة الفورتران

6. من القائمة المنسدلة BUILD اختر COMPILE BISECTION.FOR

7. تظهر لك نافذة في أسفل البرنامج إن كان البرنامج يحتوي على أخطاء فتبين لك الأخطاء و عليك المراجعة و التحقق و إلا فتكون النتيجة هي : (ERROR(S 0 WARING(S) 0

8. من القائمة المنسدلة BUILD اختر BUILD BISECTION.EXE

9. من نفس القائمة المنسدلة السابقة اختر الأمرEXECUTE BISECTION.EXE

10. تظهر لك نافذة ضع بها القيمة 1 و اضغط ENTER و القيمة 2 ثم اضغط ENTER

================================================

هذا الدرس نستعرض سويا احد الطرق المتبعة في التحليل العددي بعد أن تكلمنا عن مفهوم التحليل العددي و أهميته و الطريقة الثانية المتبعة في التحليلي العددي هي طريقة نيوتن newten method)) و لا أود أن أتطرق إلى الاستنتاج الرياضي لهذه الطريقة بالقدر الذي ارغب فيه في التركيز على البرامج الرياضية لها, تعتبر هذه الطريقة من الطرق السهلة في إيجاد القيم التقريبية للمعدلات الرياضية و الاختلاف الأساسي بيناه و بين الطريقة السابقة ( طريقة المقاطع) (bisection method) هو سهولة استخدام طريقة نيوتن و سرعتها في إيجاد الحل التقريبي للمعادلة.

المفهوم الرياضي لنيوتن

اذا كانت لدينا دالة حقيقية f(x) و كان x0 هو الجدر للمعادلة المطلوب الحصول عليه ( الحل التقريبي للمعادلة) فيمكن إيجاده عن طريق الآتي:

X2=x1*f(x)/f '(x)

حيث :

X2 هي القيمة التي نبحث عنها أي نفس قيمة الجدر ( قيمة x0 )

X1 هي القيمة المدخلة عند القراء

F(x) هي قيمة المعادلة بعد تعويض بي قيمة x1 في المعادلة

F ' (x) هي قيمة المشتقة الأولى للمعادلة بعد.

و تكتب خوارزمية البرنامج كالأتي:

1. Read x1 
2. f(x1)=x1^3+4*x1^2-10
3. f ' (x1) = 3*x1^2 +8*x1 
4. if f(x1) > 0.00001 write x2,f(x1)
5. x2=x1-( f(x1)/ f ' (x1) ,x1=x2 goto step (2) 
6. write x2 ,p 
7. stop

شرح الخوارزمية

يبدأ البرنامج بقراءة قيمة الدالة عند النقطة (x1 ) ثم تتم عملية تعويض من اجل إيجاد القيمة الفعلية للدالة عند نفس النقطة، تعوض قيمة x1) ) في مشتقة الدالة و كأننا أوجدنا الميل في هذه الحالة، تتم اختبار قيمة الدالة f (x1) فإذا كانت أصغر من 0.00001 فتتم طباعة القيمة مباشرة و إلا ننتج قيمة جديدة هي x2 من طرح قيمة x1 من مقسوم الدالتين f ( x) , f ' ( x) و هي قيمة أو نقطة تقاطع المماس مع محور السينات و عندما نجعل قيمة x1=x2 فإننا نقترب من الحل أكتر أي من النقطة الصفرية التي تحقق الحل.

و هذا هو البرنامج بلغة FORTRAN :-

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

Read(*,*) x1 
f(x1)=x1^3+4*x1^2-10 10
f ' (x1) = 3*x1^2 +8*x1 
if f(x1) > 0.00001) goto 20
x2=x1-(f(x)/f ' (x))
x1=x2
goto 10 
Write(*,*) x2 ,p 20
stop
end

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

و يمكن استخدام جملة DO بدلا من جملة GOTO لأداء نفس المهمة على النحو الآتي:

Read(*,*) x1 
DO 500,I=1,N
f(x1)=x1^3+4*x1^2-10 
f ' (x1) = 3*x1^2 +8*x1 
if f(x1) > 0.00001) GOTO 20
x2=x1-(f(x)/f ' (x))
x1=x2
GOTO 500 
continue 5000
Write(*,*) x2 ,p 20
stop
end

تم تعديل هذه المشاركة بواسطة Xacker في 31 أكتوبر 2005 في 15:24

#2

شكرا لك، جزاك الله كل خير ونأمل منك المواصلة.

قمت بنقل الموضوع إلى هنا، وحذف الموضوع المكرر الناقص، وتعديل المشاركة بإضافة علامات code ، وتثبيتها.

فكر بطريقة أخرى

#3

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

موضوع رائع

و هذا البرنامج الذي في المرفقات لحساب التكامل integration لدالة في مجهول واحد

بثلاث طرق.

Text1.rar

#4

015 بارك الله فيكم على التشجيع

للوهلة الاولى ظننت ان الموضوع لن يلقى اي اهتمام او هذه الدروس التي سأقوم بتأليفها لن تلقى اي اهتمام

فقلت ( و من يريد اتاعب نفسه بدروس الرياضيات )

لكنني الان و للتجاوب الكبير الذي لمحته ساستمر في كتابة الدروس و نشرها في هذا المنتدى الرائع

فانتظرو اول درس ان شاء الله تعالى 012

عمر التومي

__0110 للمراسلة

omartomi1983@yahoo.com

#5

ممتاز

واصل بارك الله فيك :)

ani.gif
#6

Numerical solution of linear system equations

الحل العددي للمعدلات  لنظام المعدلات الخطية

كنا قد تناولنا  في المقالات السابقة، طرق حل معادلة واحدة ذات مجهول واحد فقط،، سواء أن كان من المرتبة الأولى أو الثانية   فما فوق، و طرحت أهم الطرق المستخدمة في الحل، و في هذا الدرس  نطرح طريقة حل أكثر من معادلة تحتوي على أكثر من مجهول، و لهذه الطريقة أهمية بالغة  في التحليلات المختلفة, و تتميز  بكثرة الاستعمال, و بالأخص في تطبيقات الحاسوب.

حذف جاوس

قبل الدخول في التطبيق البرمجي ، أرى من الأهمية بمكان  طرح المفهوم النظري لطريقة جاوس أو  طريقة ( التعويض الخلفي)

و الملف المرفق يحتوي على الشرح الكامل

و انتظروا بقية الدروس ان شاء الله تعالى

عمر التومي

omartomi1983@ya

hoo.com

more_equation.doc

تم تعديل هذه المشاركة بواسطة omartomi1983 في 8 يناير 2005 في 19:12

#7

السلام عليكم

وفقك الله

#8

مشكور اخي و بارك الله فيك على الاهتمام و على المتابعة

تم تعديل هذه المشاركة بواسطة omartomi1983 في 8 يناير 2005 في 19:37

#9

اعتذر عن الخطأ الغير مقصود في الكود لكن ارجو ان يتم تصحيح الخطأ التالي:

في بداية تعريف المصفوفات اعرف كالاتي :

(a(50,50) b 50 , 50) f(50,50) x(50

و في قلب الصفوف الى اعمدة هو كالاتي :

(b(l,j)=a(l,j

(a(l,j)=a(l+1,j

(a(l+1,j)=b(l,j

فارجو المعذرة و ارجو من الاخوة تصحيح الكود تفاديا للاخطاء التي يمكن ان تقع

#10

كنت قد شرحت طريقتين من طرق حل المعادلات ذات المجهول الواحد، و نظرا لأهمية هذه الطرق ، رأيت أن أضيف هذه الطريقة، و التي لا تقل أهمية عن الطرق السابقة ، وللمزيد من الاتساع في الموضوع و لان التعدد يفتح آفاق الخيار أمام الدارس من اجل التنوع و الاستفادة الشاملة، كنت أريد أن ابدأ في شرح (lagrange interpolation polynomial ) لا اعرف ترجمة عربية دقيقة لها، على كل حال هذ ه طريقة الموقع الخاطئ

fulse_position.doc

#11

la;,,,v

Untitled.rar

اقتباس

آسف الدخول متقطع هذه القتره

اقتباس

[يمين]

.[/يمين]

A7med_prof-4-2007.jpg

اخر مواضيعي 2007

االمثال مطبق على موقع بورصه سعودي

.

.

مواضيع مهمه ومطلوبه بكثره VB6

.

بــرامج ومشــاريع عربيه كامــله {HnHn} والمزيد في قسم برامج الاعضاء || ربط قواعد بيانات اكسس مع الفيجوال بيسك, مادة دراسية كاملة {بنت اليمن}|| المرجع الشامل لجمل SQL ا {GENIUS-IT} || كيفية التعامل مع مكتبة الـ DAO, في الوصول إلى قاعدة بيانات {رمضان} || مثال ريط Visaul Basic 6.0 مع SQL SERVER ا || العمليات التي تجرى على قاعدة البيانات, مثال كامل {بنت اليمن} || تصدير البيانات من الاكسل الي الاكسس بالفيجوال بيسك {HnHn} || البحث في قاعدة البيانات {MANSUR} || قواعد البيانات العلائقية وتقنيات الوصول إليها {عبد الله فتحي} || كيفية أظهار بيانات جدولين بواسطة التاريخ ,,,,,,,

.

أخي ربما سؤالك اجابته في أحدى هذه المواضيع فإن لم تجد قم بالبحث وان لم تجد اطرح سؤالك مع وضع عنوان مناسب بحيث ان يكون هذا العنوان دال على محتوى الموضوع فغير ذلك من أكبر الكبائر في المنتدى وسيؤدي الى غلق او حذف موضوعك .

.

</
#12

بارك الله فيك أخى الكريم

#13

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

انا بكلوريس رياضيات ودرست بالجامعة لغة فورتران ومثيمتيكا و سي والان ادرس البرمجة

vb.netلما قرات دروسك عن جد حبيت اني اشارك ..موضوعك رائع تستحق تكتب كتاب الكتروني

لان جواك افكار ومعلومات حلو كثير وبتفيد

بودي لو حصلت على ايميلك اذا امكن لان لغة فورتران بتهمني ...وشكرا

#14

مرحبا بكل من انظم الينا عبر هذا المنتدى الرائع و اشكركم على هذه الكلمات الجميلة

الاميل هو : omartomi1983@yahoo.com

عمر التومي

#15

كنت قد طرحت في سلسلة الدروس السابقة مجموعة من الطرق المستخدمة في حل بعض المسائل العددية ابتداء من طرق حل معادلة واحدة في مجهول واحد و التي من بينها طريقة نيوتن و طريقة المقاطع و الموقع الخاطئ و طريقة التعويض الخلفي المستخدمة في حل عدد n من المعادلات لعدد n من المجاهيل و في هذه الدروس التي اعتبرها قفزة نوعية من الناحية الرياضية أو البرمجية لعدة أسباب منها :

1. اعتماد لغة جديد و هي لغة (السي c ) العتيدة

2. إدراج مخطط سير العمليات ( أو تدفق المعلومات) flow chart

3. تحليل البيانات الناتجة عن المسائل و الأمثلة المستخدمة سواء باستخدام برنامج الجداول الالكترونية excel أو باستخدام برنامج المحاكاة الشهير MATLAB

4. إدراج طرق لم أدرجها مسبقا مثل (طريقة الرمي) (رنج كوتا)( القيم الذاتية)

5. التوسع في شرح طرق قد تناولتها مسبقا مثل طريقة ( نيوتن رافسن) و تطبيق ما سبق عليها

6. بالإضافة إلى مواصلة استخدام لغة (فورتران) كما اعتدنا سابقا

7. تحميل كود البرنامج جاهزا للاستخدام باللغة المستخدمة.

و في حقيقة الأمر فان الفضل في هذا التحول يعود إلى صديقي( احمد حمر الشوشة) الذي أصر على مشاركتي في هذه المقالة و معظم المقالات في الأصل عبارة عن بحوث مقدمة ضمن متطلبات نيل درجة الماجستير في هندسة الحاسب الآلي فجزاه الله ألف خير عني و عن كل من يريد الاستفادة من سلسلة الدروس هذه.

و سأنشر تباعا إن شاء الله ما يلي :

1. طريقة الرمي

2. طريقة لا جرانج للتوليد بواسطة البرمجة

3. طريقة جاكوبي لحل مسائل القيم الذاتية

4. الملاءمة والانكفاء بواسطة البرمجة

5. الحلول العددية للمعادلات التفاضلية العادية بواسطة البرمجة

6. طريقة نيوتن رافسن ونيوتن رافسن المعدلة بواسطة البرمجة

7. طريقة شبه المنحرف لايجاد تكاملات الدوال

....................................................................................................

*******************************************************

الملاءمة والانكفاء بواسطة البرمجة

FITTING METHOD

الملائمة والانكفاء :

عندما تعطى بيانات غير دقيقة نوعا ما أي تقريبية كالقياسات المعملية والهندسية فان هذه البيانات ترتبط بأخطاء مصدرها القياس أو الانسان أو .... . لذلك نلائم المنحنى الناتج من هذه البيانات حيث أن هذه البيانات تتبع معادلة معينة ولكن قد تلائم المنحنى لأكثر من شكل ولكن المنحنى المفترض أخذه يأتي من مصدر البيانات نفسها هل تمثل المسئلة دالة تربيعية أو أسية أو ... وهكذا وبعد تحديد الدالة يجب أن نجد أجود ملائمة Best Fit وهي تعني أن نجعل الأخطاء أقل مايمكن فنأخذ مجموع مربعات الأخطاء

S=Σ (i=0,n)δ*δ

حيث

δ0 = Pm(x)-yi

Pm (x) = a0+a1x +…….+amxm = ajgj(x)

وهذه الطريقة هي طريقة ملائمة المنحنيات باستخدام المربعات الصغرى...........................

حمل الدرس كاملا

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

............................................................................................................

طريقة لا جرانج للتوليد بواسطة البرمجة

Lagrange’s Interpolating Polynomial

طريقة لا جرانج للتوليد

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

درجة كثيرة الحدود = n-1 حيث n عدد النقاط

فلو كانت عدد النقاط 3 فستكون كثيرة الحدود من الدرجة الثانية وهكذا وتكون عدد معاملات لاجرانج L تعتمد على عدد النقاط وتكون قيمة L على الصورة:

= حاصل ضرب حاصل طرح قيمة xمن كل النقاط عدا النقطة الحالية

حاصل ضرب حاصل طرح النقطة الحالية من كل النقاط عدا نفسها

ثم لإيجاد المعادلة النهائية :

Y=L(x) = ΣLi (X)*Yi

ومن الملاحظ أنه لا يمكن بسهولة أو قد يتعذر حلها يدويا خاصة عندما تكثر عدد النقاط ويزداد صعوبة عندما تكون قيم النقاط بالأرقام العشرية. لذلك تحل باستخدام الحاسوب. وسنبرمج طريقة .....................

حمل الدرس كاملا

و البقية تأتي إن شاء الله تعالى

عمر محمد التومي

طريقة لا جرانج للتوليد بواسطة البرمجة.zip

الملاءمة والانكفاء بواسطة البرمجة.zip

#16

بارك الله فيك اخي الكريم

دروس رائعة و مفيدة جدا

و من ناحية التنظيم فهي متناسقة و ممتازة

اتمنى لك النجاح في اكمال هذه السلسلة الممتازة و المفيدة

مع تحياتي

#17

تستخدم طريقة الرمي لإيجاد حل المعادلات التفاضلية من الرتبة الثانية , ولذلك يجب علينا معرفة ثابتين وعادة ما تكون الثوابت إما الدالة ومشتقتها الأولى عند نقطة البداية (مسألة القيمة الابتدائية) أو الدالة ومشتقتها عند نقطتين مختلفتين (مسألة القيم الحدية) كمسألتنا هذه.

وتتلخص طريقة الرمي في:

- نفترض الشرط الناقص من شروط مسائل القيم الابتدائية وهو هنا تفاضل الدالة عند x=1

- اوجد الحل بالافتراضات الجديدة (x`=3) وقارنه مع الشرط المعطى عند تلك النقطة.

- أعد تغيير القيم الابتدائية أي الفرض الذي فرضته حتى نحصل على المطلوب وهو (في هذه المسألة y(3)=10.0179 )

وبأخذ السؤال الذي يقول أوجد حل مسألة القيم الذاتية :

D2y/dx2 =y ; y(1) =1.1752 , y(3) =10.0179

أولا: نأخذ قيمة افتراضية لy` عند x=1 ثم نستخدم طريقة رنج كوتا لإيجاد قيمة y عند x=3 .........

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

حمل الملف كاملا

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

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

Newton-Raphson Method

And

Modified Newton-Raphson Method

هما طريقتان لحل المعادلات الآنية غير الخطية , ولو أخذنا معادلتين في متغيرين كمثال ونريد ايجاد قيمتي x,y اللتان تحققان المعادلة (1)

F1(x,y)=0 F2(x,y)=0…………(1)

نستخدم لذلك إحدى الطريقتين

أولا: طريقة نيوتن رافسن

من متسلسلة تايلور في متغيرين كمثال

F1(xi+1,yi+1)=F1(xi,yi)+ (xi+1-xi)+ (yi+1-yi)+…….

F2(xi+1,yi+1)=F2(xi,yi)+ (xi+1-xi)+ (yi+1-yi)+…….

نفترض أن xi+1,yi+1 فريبة جدا من الحل لذلك

F1(xi+1,yi+1)=F2(xi+1,yi+1)=0

ونضع كذلك

xi+1 - xi = h

yi+1 - yi = k

لحصلنا على الصورة .......................................

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

حمل الملف كاملا

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

#18

تستخدم طريقة الرمي لإيجاد حل المعادلات التفاضلية من الرتبة الثانية , ولذلك يجب علينا معرفة ثابتين وعادة ما تكون الثوابت إما الدالة ومشتقتها الأولى عند نقطة البداية (مسألة القيمة الابتدائية) أو الدالة ومشتقتها عند نقطتين مختلفتين (مسألة القيم الحدية) كمسألتنا هذه.

وتتلخص طريقة الرمي في:

- نفترض الشرط الناقص من شروط مسائل القيم الابتدائية وهو هنا تفاضل الدالة عند x=1

- اوجد الحل بالافتراضات الجديدة (x`=3) وقارنه مع الشرط المعطى عند تلك النقطة.

- أعد تغيير القيم الابتدائية أي الفرض الذي فرضته حتى نحصل على المطلوب وهو (في هذه المسألة y(3)=10.0179 )

وبأخذ السؤال الذي يقول أوجد حل مسألة القيم الذاتية :

D2y/dx2 =y ; y(1) =1.1752 , y(3) =10.0179

أولا: نأخذ قيمة افتراضية لy` عند x=1 ثم نستخدم طريقة رنج كوتا لإيجاد قيمة y عند x=3 .........

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

حمل الملف كاملا

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

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

Newton-Raphson Method

And

Modified Newton-Raphson Method

هما طريقتان لحل المعادلات الآنية غير الخطية , ولو أخذنا معادلتين في متغيرين كمثال ونريد ايجاد قيمتي x,y اللتان تحققان المعادلة (1)

F1(x,y)=0 F2(x,y)=0…………(1)

نستخدم لذلك إحدى الطريقتين

أولا: طريقة نيوتن رافسن

من متسلسلة تايلور في متغيرين كمثال

F1(xi+1,yi+1)=F1(xi,yi)+ (xi+1-xi)+ (yi+1-yi)+…….

F2(xi+1,yi+1)=F2(xi,yi)+ (xi+1-xi)+ (yi+1-yi)+…….

نفترض أن xi+1,yi+1 فريبة جدا من الحل لذلك

F1(xi+1,yi+1)=F2(xi+1,yi+1)=0

ونضع كذلك

xi+1 - xi = h

yi+1 - yi = k

لحصلنا على الصورة .......................................

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

حمل الملف كاملا

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

طريقة الرمي.zip

برنامج التحليل العددي نيوتن رافسن.zip

#19

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

الأستاذ الفاضل omartomi1983

موضوعك جيد ومفيد لكن أطمع أن يتسع صدرك لما أقول

عنوان الموضوع لا يدل أبداً على محتواه

لأن ما تقدمه هنا ليس رياضيات الحاسوب ولكنه حل مشكلات رياضية بأستخدام الحاسوب

أما رياضيات الحاسب الألي فشيء مختلف تماماً

فهي تشمل جبر بول BOOLEAN ALGEBRA وكيفية إستخدامه في حل المشكلات الرياضية

و لمن لم يسمع به من قبل لعل هذا الكتاب يفيده

http://www.geocities.com/solidsnik2u/BG.zip

وعند دخولي قسم أنظمة التشغيل فرحت كثيراً بعنوان موضوعك لكني صدمت بالمحتوي

أرجو أن يعيد المشرفين تسمية الموضوع بما يناسبه وحقيقة لا يوجد سبب لوجود الموضوع هنا في قسم أنظمة التشغيل

فهو إستخدام تطبيق "الفورتران" في حل بعض المشاكل الرياضية ولعل البعض ممن يحتاج حقيقة لهذا الموضوع لن يبحث عنه هنا خصوصاً لو كان يدري ماذا تعني كلمة رياضيات الحاسوب

#20

قمت بتعديل عنوان الموضوع ليكون كما هو ظاهر.

اقتباس
أرجو أن يعيد المشرفين تسمية الموضوع بما يناسبه وحقيقة لا يوجد سبب لوجود الموضوع هنا في قسم أنظمة التشغيل

القصد من وضع هذا الموضوع هنا هو الخوارزميات المستخدمة لحل هذه المسائل، حيث أن هذا القسم مخصص للنقاش حول الخوارزميات وأساليب تصميم البرمجيات.

وليست المشكلة في اللغة التي كتب بها البرنامج، بل في الخوارمية التي كتب بها البرنامج، وأغلب كتب الحساب العددي Numerical analysis تجد برامجها مكتوبة إما بلغة Fortran أو BASIC أو C.

فكر بطريقة أخرى

#21

جزاك الله كل الخير على هذا الموضوع الرائع.

(طلب بسيط جدا.. ارجو منك استخدام تنسيقات التعابير البرمجية ليظهر الكود بشكل اوضح..)

وارجو من المهتمين بهذا الموضوع مراجعة الرابط التالي والاطلاع عليه والابداء برايهم فهو طلب الى الاداة بخصوص التنسيقات الرياضية.

/index.php?showtopic=73490

تحياتي

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#22

جزاك الله خيرا

#23
Xacker كتب:
جزاك الله كل الخير على هذا الموضوع الرائع.

(طلب بسيط جدا.. ارجو منك استخدام تنسيقات التعابير البرمجية ليظهر الكود بشكل اوضح..)

وارجو من المهتمين بهذا الموضوع مراجعة الرابط التالي والاطلاع عليه والابداء برايهم فهو طلب الى الاداة بخصوص التنسيقات الرياضية.

/index.php?showtopic=73490

تحياتي

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

#24

يبدو أني سأتعلم لغة فورتران لأستفيد من هذا الموضوع الرائع يا ريت تدلوني على الكمايلر تبعهم وشكراً

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#25

ماشاء الله اخي علي الشرح الرائع

جزاك الله خيرا

Khaled_Tiger

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

يخاطبني السفيه بكل قبح *** فأكره أن أكون له مجيبا

يزيد سفاهة فأزيد حلمــا *** كعود زاده الإحراق طيبا

إذا نطق السفيه فلا تجبه *** فخير من إجابته السكوت

فإن كلَمته فرَجت عنــــه *** وإن خليته كمداً يـمـــوت

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

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