السلام عليكم ورحمة الله وبركاتة اقدم لكم اعزائي كود لطريقة طريقة نيوتن رافسون (مبادئ التحليل العددي ) مرفق ايضاً البرنامج في الاسفل مكتوب ، لاسهل عليكم عناء كتابتة من جديد ، وسارفق لكم كود في المدونة .
طريقة نيوتن : هي من طرق النقطة الثابتة ولكنها ذات تقارب غير خطي ويمكن التوصل اليها تحليليا بالاسلوب التالي : 0 = (f(x ، افرض ان a جذر لها علماً بأن هذا الجذر غير معروف سلفاً .
=====================================
طريقة تشغيل البرنامج على ويندوز 7 و 8 و 8.1 وفيستا
=====================================
=====================================
=====================================
=====================================
=====================================
الكود
#include <cstdlib>
#include <iostream>
#include <math.h>
using namespace std;
double f(double x) //for the function x^4 - 10
{
return ((pow(2.71,x)+3*x));
}
double ff(double x) //Differentiating function f(x)
{
return ((pow(2.71,x)+3));
}
void NR(double aerr, int maxitr, double a)
{
int i = 0;
double b, prev;
while (i <= maxitr)
{
b = a - (f(a))/ff(a);
cout << "aerr : " << i << ": x = " << b << endl;
i++;
if (fabs(b - a) < aerr)
break;
a = b;
}
}
int main()
{
double aerr, a, b;
int maxitr;
cout << "Enter aerr(deka matloba), maxitr(ktwat add), a(abtade3eee)." << endl;
cin >> aerr;
cin >> maxitr;
cin >> a;
NR(aerr, maxitr, a);
system("PAUSE");
return EXIT_SUCCESS;
}
=====================================
قم بنسخ الكود ولصقة داخل البرنامج ونفذه
بالتوفيق للجميع
=====================================
(pow(2.71,x) تعني e مرفوعة للقوة X
(double f(double x تعني الاقتران الاصلي ( نضع بها الاقتران الاصلي ) ونضع الاقتران داخل الجزء الاحمر
return ((pow(2.71,x)+3*x));
(double ff(double x تعني مشتقة الاقتران الاصلي نقوم باشتقاق الاقتران ونضعة داخل الجزء الاحمر
return ((pow(2.71,x)+3));
=====================================
المرفقات
امتداد الملف هو cpp والاصدار المستخدام ( Dev c++ 4 )
=============================
يا رضى الله ورضى الوالدين
بالتوفيق للجميع
الكاتب : حسام زكارنة
ليست هناك تعليقات:
إرسال تعليق