دورات هندسية

 

 

البرمجة - الخوارزميات - إيجاد جذور تابع مستمر

صفحة 2 من 3 الأولىالأولى 1 23 الأخيرةالأخيرة
النتائج 11 إلى 20 من 27
  1. [11]
    محمود الصقار
    محمود الصقار غير متواجد حالياً
    عضو متميز


    تاريخ التسجيل: Sep 2006
    المشاركات: 718
    Thumbs Up
    Received: 509
    Given: 21
    السلام عليكم و رحمة الله و بركاته

    جزاكم الله خيرا أخينا و أستاذنا المهندس عبد الجواد

    أعذرنا على كثرة طمعنا , غير أننا نقدر العلماء , و نعرف قيمتهم , و نصبر فى طلب العلم على أيديهم

    و قال الأمام على : العلم يضيع بين حيى و متكبر

    فجزاك الله عنا خيرا

    محمود الصقار

    0 Not allowed!



  2. [12]
    HISHAM"
    HISHAM" غير متواجد حالياً
    عضو فعال جداً


    تاريخ التسجيل: May 2009
    المشاركات: 183
    Thumbs Up
    Received: 93
    Given: 15
    السلام عليكم
    إعذرني على طمعي أخي عبد الجواد ولكن أرجو منك أن تورد لنا شرح حول كيفية إيجاد جذور لمعادلة القيم الذاتية
    Eigenvalues
    مع طريقة البرمجة

    0 Not allowed!



  3. [13]
    عبد الجواد
    عبد الجواد غير متواجد حالياً
    عضو متميز


    تاريخ التسجيل: Aug 2006
    المشاركات: 507
    Thumbs Up
    Received: 10
    Given: 0
    اقتباس المشاركة الأصلية كتبت بواسطة hisham" مشاهدة المشاركة
    السلام عليكم
    إعذرني على طمعي أخي عبد الجواد ولكن أرجو منك أن تورد لنا شرح حول كيفية إيجاد جذور لمعادلة القيم الذاتية
    eigenvalues
    مع طريقة البرمجة
    السلام عليكم:

    فعلاً هي من الخوارزميات الهامة خاصة في مجال الديناميك، وسأحاول بما يسمح به الوقت أن أقوم بشرح التكاملات العددية والقيم والمناحي الخاصة (الذاتية)، إن شاء الله.

    0 Not allowed!



  4. [14]
    omer5526
    omer5526 غير متواجد حالياً
    جديد
    الصورة الرمزية omer5526


    تاريخ التسجيل: Jan 2011
    المشاركات: 3
    Thumbs Up
    Received: 0
    Given: 0
    مشكووور وجزاك الله خير

    0 Not allowed!



  5. [15]
    زنوبيا 11
    زنوبيا 11 غير متواجد حالياً
    عضو متميز
    الصورة الرمزية زنوبيا 11


    تاريخ التسجيل: Jul 2009
    المشاركات: 616
    Thumbs Up
    Received: 124
    Given: 131

    شكرا كتييييييييييير اخ م. عبد الجواد
    بس الملف شو البرنامج يلي بيفتحولانو ما فتح معي
    للامام دائما ولمزيد من التميز

    0 Not allowed!


    *الله لا إله إلا أنت سبحانك إني كنت من الظالمين*
    *اللهم لا سهل إلا ما جعلته سهلا ، وأنت إن شئت تجعل الحزن سهلا*
    *أستغفر الله العظيم وأتوب إليه*
    **أشهد ألا إله إلا الله وحده لا شريك له وأن محمدا عبده ورسوله**


  6. [16]
    عبد الجواد
    عبد الجواد غير متواجد حالياً
    عضو متميز


    تاريخ التسجيل: Aug 2006
    المشاركات: 507
    Thumbs Up
    Received: 10
    Given: 0
    السلام عليكم:

    شكراً لكم،

    أخت زنوبيا، البرنامج مكتوب باستخدام لغة فيجيوال بيسيك 6.
    على كل حال البرنامج بسيط وهذا هو نصه:
    كود:
    Public Const e As Double = 2.71828182845905
    
    Public Function GetRoots(x0 As Double, xf As Double, dx As Double, eps As Double) As Double()
        Dim x1 As Double, x2 As Double, f1 As Double, f2 As Double
        Dim rootsNo As Integer 'The number of roots
        Dim Roots() As Double: ReDim Roots(0)
        
        x1 = x0: f1 = f(x1)
        For x2 = x0 + dx To xf Step dx
            f2 = f(x2)
            If f1 * f2 <= 0 Then
                'There is a root
                rootsNo = rootsNo + 1
                ReDim Preserve Roots(rootsNo)
                Roots(rootsNo) = BiSectionMethod(x1, x2, eps)
            End If
            x1 = x2: f1 = f2
        Next
        GetRoots = Roots
    End Function
    
    Private Function BiSectionMethod(ByVal x1 As Double, ByVal x2 As Double, eps As Double) As Double
        Dim x0_5 As Double, f0_5 As Double
        Dim Root As Double
        
        If Abs(f(x1)) <= eps Then
            Root = x1
        ElseIf Abs(f(x2)) <= eps Then
            Root = x2
        Else
            x0_5 = (x1 + x2) / 2
            f0_5 = f(x0_5)
            If Abs(f0_5) <= eps Then
                Root = x0_5
            ElseIf f(x1) * f(x0_5) < 0 Then
                Root = BiSectionMethod(x1, x0_5, eps)
            Else
                Root = BiSectionMethod(x0_5, x2, eps)
            End If
        End If
        BiSectionMethod = Root
        
    End Function
    
    Public Function f(x As Double) As Double
        'f = Cos(x)
        f = 2 * Cos(x) - e ^ x
    End Function
    وهو يتكون من ثلاثة توابع هي:
    GetRoots: هو التابع الذي يتم استدعاؤه للبحث عن الجذور، وهو يبحث عن المجالات التي يشك أن فيها جذراً ثم يطلب من التابع BiSectionMethod أن يجد له هذا الجذر، ومن الممكن أن يطلب من تابع آخر أن يجد له هذا الجذر كما أشرت أعلاه.

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

    f: وهو التابع الذي نبحث عن جذوره، وقد فصلته في برنامج فرعي مستقل لتسهيل الوصول إليه وتغييره.


    الآن لاستدعاء التابع الأول نطلبه بأي أسلوب مناسب، فمثلاً، نضع زراً اسمه cmdSolve على نافذة، ونضيف أدوات نصوص نكتب ضمنها حدود المجال والدقة، ثم نكتب ضمن الحدث Click للزر السابق ما يلي:

    كود:
    Private Sub cmdSolve_Click()
        Dim Solution() As Double, i As Integer
        Solution = GetRoots(Val(txtX0.Text), Val(txtXf.Text), Val(txtDx.Text), Val(txtEps.Text))
        
        lstSolution.Clear
        
        If UBound(Solution) > 0 Then
            For i = 1 To UBound(Solution)
                lstSolution.AddItem Solution(i)
            Next
        Else
            lstSolution.AddItem "(no roots)"
        End If
    End Sub
    ملاحظة: أسماء مربعات النص تبدأ ب txt ومابعد هذه الكلمة يدل على وظيفتها.

    0 Not allowed!



  7. [17]
    علي محمد يوسف
    علي محمد يوسف غير متواجد حالياً
    عضو تحرير المجلة


    تاريخ التسجيل: Aug 2007
    المشاركات: 3,009
    Thumbs Up
    Received: 478
    Given: 127
    السلام عليكم ورحمة الله وبركاته
    جزاكم الله خيرا وبارك الله فيكم تسعدني مواضيعك الهامة والمفيدة ومشاركاتك الغالية كثيرا تمنياتي لكم دوام الصحة والتوفيق

    0 Not allowed!


    ربي اغفر لي ولوالدي وللمؤمنين والمؤمنات
    http://www.arab-eng.org/vb/showthread.php?t=68077

  8. [18]

  9. [19]
    محمودشمس
    محمودشمس غير متواجد حالياً
    عضو متميز جداً


    تاريخ التسجيل: Aug 2009
    المشاركات: 1,070
    Thumbs Up
    Received: 14
    Given: 0
    بارك الله فيك اخي الكريم.

    0 Not allowed!



  10. [20]
    ahmedalihu
    ahmedalihu غير متواجد حالياً
    جديد


    تاريخ التسجيل: Apr 2011
    المشاركات: 7
    Thumbs Up
    Received: 0
    Given: 0
    السلام عليكم
    استاذ عبد الجواد ... اذا امكن اسم الطريقة باللغة الانكليزية.. او الكلمات المفتاحية للبحث عن الطريقة في الانترنت..
    وهل يمكن استخدام هذه الطريقة او طرق مشابهة لها مع البيانات الاحصائية مثلا الاحتمالات... شكرا اخي.

    0 Not allowed!



  
صفحة 2 من 3 الأولىالأولى 1 23 الأخيرةالأخيرة
الكلمات الدلالية لهذا الموضوع

عرض سحابة الكلمة الدلالية

RSS RSS 2.0 XML MAP HTML