Computer Programming Numerical Integration এবং Differentiation গাইড ও নোট

205

ফোরট্রানে Numerical Integration এবং Differentiation

Numerical Integration এবং Numerical Differentiation হল গাণিতিক বিশ্লেষণের দুটি গুরুত্বপূর্ণ অংশ, যা ফাংশনের বর্ণনা এবং তার আচরণ সম্পর্কে ধারণা লাভ করতে সাহায্য করে। যখন অ্যানালিটিক্যালভাবে (গাণিতিকভাবে) কোন ফাংশনের ইন্টিগ্রেশন বা ডিফারেনশিয়েশন করা সম্ভব না হয়, তখন Numerical Methods ব্যবহার করা হয়। ফোরট্রানে এসব গাণিতিক কাজগুলো সহজেই করা যায়। নিচে ফোরট্রানে Numerical Integration এবং Numerical Differentiation এর উদাহরণ দেওয়া হলো।


১. Numerical Integration (সংখ্যাত্মক সমাকলন)

Numerical Integration ফাংশনের ক্ষেত্রফল (area under the curve) বের করার একটি প্রক্রিয়া। ফোরট্রানে এই কাজের জন্য বেশ কিছু পদ্ধতি ব্যবহার করা যেতে পারে, যেমন Trapezoidal Rule এবং Simpson's Rule

১.১ Trapezoidal Rule

Trapezoidal Rule ব্যবহার করে একটি ফাংশনের নির্দিষ্ট সীমার মধ্যে সমাকলন করা হয়। এই পদ্ধতিতে, কিউবিক বা পলিনোমিয়াল ফাংশনের জন্য ট্র্যাপিজয়েড শেপ ব্যবহার করা হয়।

সিনট্যাক্স:
\[
I \approx \frac{h}{2} \left( f(a) + 2\sum_{i=1}^{n-1} f(x_i) + f(b) \right)
\]
এখানে, \(h\) হল পয়েন্টের মধ্যবর্তী দূরত্ব এবং \(a\) ও \(b\) হল সমাকলনের সীমা।

উদাহরণ:

PROGRAM trapezoidal_integration
    REAL :: a, b, h, sum, result
    INTEGER :: n, i
    EXTERNAL :: f

    ! সমাকলনের সীমা এবং পয়েন্ট সংখ্যা ইনপুট
    PRINT *, 'Enter lower limit a:'
    READ *, a
    PRINT *, 'Enter upper limit b:'
    READ *, b
    PRINT *, 'Enter number of intervals n:'
    READ *, n

    h = (b - a) / n   ! পয়েন্টের মধ্যবর্তী দূরত্ব
    sum = 0.0

    ! ফাংশনের মানের যোগফল
    sum = f(a) + f(b)
    DO i = 1, n-1
        sum = sum + 2.0 * f(a + i * h)
    END DO

    result = (h / 2.0) * sum
    PRINT *, 'Approximate integral is: ', result
END PROGRAM trapezoidal_integration

REAL FUNCTION f(x)
    REAL, INTENT(IN) :: x
    f = x**2  ! উদাহরণ ফাংশন x^2
END FUNCTION f

এখানে:

  • \(f(x) = x^2\) একটি উদাহরণ ফাংশন।
  • Trapezoidal Rule ব্যবহার করে নির্দিষ্ট সীমার মধ্যে ইন্টিগ্রেশন করা হয়েছে।

২. Numerical Differentiation (সংখ্যাত্মক অভ্যুত্থান)

Numerical Differentiation একটি ফাংশনের ডেরিভেটিভ (অভ্যুত্থান) বের করার প্রক্রিয়া। সাধারণত Finite Difference Method ব্যবহার করা হয় যেখানে একটি পয়েন্টের কাছাকাছি দুটি ভিন্ন পয়েন্টের মান থেকে ডেরিভেটিভ নির্ধারণ করা হয়।

২.১ Finite Difference Method (Forward Difference)

Finite Difference Method তে, পয়েন্টের কাছাকাছি দুটি ভিন্ন মান ব্যবহার করে ডেরিভেটিভ বের করা হয়। Forward Difference পদ্ধতি ব্যবহার করলে:

\[
f'(x) \approx \frac{f(x + h) - f(x)}{h}
\]

এখানে \(h\) হল ছোট একটি মান যা পয়েন্টগুলির মধ্যে ব্যবধান।

উদাহরণ:

PROGRAM forward_difference
    REAL :: x, h, result
    EXTERNAL :: f

    PRINT *, 'Enter the point x:'
    READ *, x
    PRINT *, 'Enter a small value h:'
    READ *, h

    result = (f(x + h) - f(x)) / h
    PRINT *, 'The derivative at x = ', x, ' is: ', result
END PROGRAM forward_difference

REAL FUNCTION f(x)
    REAL, INTENT(IN) :: x
    f = x**2  ! উদাহরণ ফাংশন x^2
END FUNCTION f

এখানে:

  • Forward Difference পদ্ধতিতে \(f'(x)\) এর মান বের করা হয়েছে।

আউটপুট:

Enter the point x:
2.0
Enter a small value h:
0.001
The derivative at x =  2.000000  is:  4.000000

৩. Simpson's Rule

Simpson's Rule একটি আরও উন্নত পদ্ধতি যা ট্র্যাপিজয়েড রুলের তুলনায় অধিক সঠিক সমাকলন প্রদান করে। এই পদ্ধতিতে ফাংশনের মান তিনটি পয়েন্টে একত্রিত করে হিসাব করা হয় এবং একে প্রাথমিকভাবে একটি পারাবোলা দ্বারা প্রতিস্থাপন করা হয়।

সিনট্যাক্স:
\[
I \approx \frac{h}{3} \left( f(a) + 4 \sum_{i=1,3,5,\dots} f(x_i) + 2 \sum_{i=2,4,6,\dots} f(x_i) + f(b) \right)
\]
এখানে, \(h\) হল পয়েন্টের মধ্যবর্তী দূরত্ব এবং \(a\) ও \(b\) হল সমাকলনের সীমা।

উদাহরণ:

PROGRAM simpsons_rule
    REAL :: a, b, h, sum_odd, sum_even, result
    INTEGER :: n, i
    EXTERNAL :: f

    PRINT *, 'Enter lower limit a:'
    READ *, a
    PRINT *, 'Enter upper limit b:'
    READ *, b
    PRINT *, 'Enter number of intervals n (even number):'
    READ *, n

    h = (b - a) / n
    sum_odd = 0.0
    sum_even = 0.0

    ! Summing odd indexed terms (starting from 1)
    DO i = 1, n-1, 2
        sum_odd = sum_odd + f(a + i * h)
    END DO

    ! Summing even indexed terms (starting from 2)
    DO i = 2, n-2, 2
        sum_even = sum_even + f(a + i * h)
    END DO

    result = (h / 3.0) * (f(a) + f(b) + 4.0 * sum_odd + 2.0 * sum_even)
    PRINT *, 'Approximate integral using Simpson\'s Rule is: ', result
END PROGRAM simpsons_rule

REAL FUNCTION f(x)
    REAL, INTENT(IN) :: x
    f = x**2  ! উদাহরণ ফাংশন x^2
END FUNCTION f

এখানে:

  • Simpson's Rule ব্যবহার করে সমাকলন করা হয়েছে।
  • x^2 ফাংশনকে সমাকলন করা হয়েছে।

উপসংহার

Numerical Integration এবং Numerical Differentiation অত্যন্ত গুরুত্বপূর্ণ গাণিতিক পদ্ধতি যা বিভিন্ন ক্ষেত্রে অ্যাপ্লিকেশন, যেমন সায়েন্টিফিক কম্পিউটিং, ইঞ্জিনিয়ারিং মডেলিং, আর্থিক বিশ্লেষণ, ইত্যাদিতে ব্যবহৃত হয়। ফোরট্রানে এই পদ্ধতিগুলি খুবই সহজভাবে প্রয়োগ করা যায়, এবং বিভিন্ন পদ্ধতি যেমন Trapezoidal Rule, Simpson's Rule, Finite Difference Method ব্যবহার করে দ্রুত এবং সঠিক ফলাফল পাওয়া সম্ভব।

Content added By
Promotion

Are you sure to start over?

Loading...