Root Finding Methods (Bisection, Newton’s Method)

Numerical Methods এবং Optimization (সংখ্যাগত পদ্ধতি এবং অপ্টিমাইজেশন) - ম্যাটল্যাব (MATLAB) - Computer Programming

391

Root Finding Methods (Bisection, Newton’s Method)

Root Finding Methods গাণিতিক সমীকরণের মূল বা রুট খুঁজে বের করার জন্য ব্যবহৃত হয়। যখন কোনও ফাংশনের মান শূন্যে পৌঁছায়, তখন সেটিকে সেই ফাংশনের রুট বলে। MATLAB-এ বিভিন্ন Root Finding মেথড ব্যবহার করে সমীকরণের রুট খুঁজে বের করা যায়। এখানে Bisection Method এবং Newton’s Method নিয়ে আলোচনা করা হলো।


১. Bisection Method

Bisection Method একটি সংখ্যাসূচক পদ্ধতি যা একটি বন্ধ ইন্টারভালে রুট খুঁজে বের করতে ব্যবহৃত হয়। এটি কার্যকর যখন ফাংশনটি নির্দিষ্ট ইন্টারভালে একটিমাত্র রুট ধারণ করে এবং ইন্টারভালের শেষে বিপরীত চিহ্ন রয়েছে।

Bisection Method এর ধাপসমূহ:

  1. একটি ইন্টারভাল [a, b] নির্বাচন করুন, যেখানে f(a) এবং f(b) বিপরীত চিহ্ন ধারণ করে।
  2. ইন্টারভালের মধ্যবিন্দু c = (a + b) / 2 নির্ধারণ করুন।
  3. যদি f(c) = 0 হয়, তাহলে c রুট।
  4. যদি f(c) এবং f(a) একই চিহ্ন ধারণ করে, তাহলে নতুন ইন্টারভাল [c, b] হবে, অন্যথায় [a, c] হবে।
  5. প্রক্রিয়াটি ইচ্ছাকৃত নির্ভুলতা পর্যন্ত পুনরাবৃত্তি করুন।

উদাহরণ: MATLAB-এ Bisection Method

ধরা যাক, আমাদের ফাংশন \( f(x) = x^2 - 4 \) এবং আমরা [1, 3] ইন্টারভালে এর রুট খুঁজবো।

% Bisection Method
f = @(x) x^2 - 4;
a = 1;    % প্রাথমিক ইন্টারভাল শুরু
b = 3;    % প্রাথমিক ইন্টারভাল শেষ
tol = 1e-5;  % নির্ভুলতার সীমা

while (b - a) / 2 > tol
    c = (a + b) / 2;
    if f(c) == 0
        break;
    elseif f(a) * f(c) < 0
        b = c;
    else
        a = c;
    end
end

root = (a + b) / 2;
disp(['Root: ', num2str(root)]);

আউটপুট: এই কোডটি ইন্টারভাল [1, 3] এর মধ্যে \( f(x) = 0 \) এর জন্য একটি রুট প্রদান করবে। রুট প্রায় ২ হবে।


২. Newton’s Method

Newton’s Method (বা Newton-Raphson Method) একটি দ্রুত Root Finding মেথড যা সূচকের গাণিতিক সমীকরণের রুট খুঁজে বের করতে ব্যবহৃত হয়। এটি মূলত একটি সূচকীয় কনভার্জেন্স পদ্ধতি, অর্থাৎ এটি একটি অনুমান থেকে দ্রুত নির্ভুল সমাধানের দিকে পৌঁছায়।

Newton’s Method এর ধাপসমূহ:

  1. একটি প্রাথমিক অনুমান \( x_0 \) নির্বাচন করুন।
  2. পুনরাবৃত্তি ফর্মুলা ব্যবহার করুন: \( x_{n+1} = x_n - \frac{f(x_n)}{f'(x_n)} \)।
  3. পর্যাপ্ত নির্ভুলতা না পাওয়া পর্যন্ত প্রক্রিয়াটি পুনরাবৃত্তি করুন।

উদাহরণ: MATLAB-এ Newton’s Method

ধরা যাক, আমাদের ফাংশন \( f(x) = x^2 - 4 \) এবং আমরা এর রুট খুঁজবো।

% Newton's Method
syms x
f = x^2 - 4;
f_prime = diff(f, x);  % f(x) এর ডেরিভেটিভ নির্ণয়

% ফাংশন এবং ডেরিভেটিভকে ফাংশন হ্যান্ডলে রূপান্তর করা
f_handle = matlabFunction(f);
f_prime_handle = matlabFunction(f_prime);

x0 = 3;     % প্রাথমিক অনুমান
tol = 1e-5; % নির্ভুলতার সীমা
max_iter = 100; % সর্বাধিক পুনরাবৃত্তি সংখ্যা

for i = 1:max_iter
    x1 = x0 - f_handle(x0) / f_prime_handle(x0);
    if abs(x1 - x0) < tol
        break;
    end
    x0 = x1;
end

root = x1;
disp(['Root: ', num2str(root)]);

আউটপুট: এই কোডটি Newton’s Method ব্যবহার করে \( f(x) = x^2 - 4 \) এর জন্য একটি রুট প্রদান করবে, যা প্রায় ২ হবে।


Bisection এবং Newton’s Method এর তুলনা

বৈশিষ্ট্যBisection MethodNewton’s Method
গতিধীর এবং গ্যারান্টেড কনভার্জেন্সদ্রুত কিন্তু কনভার্জেন্স নিশ্চিত নয়
শর্তইন্টারভালে বিপরীত চিহ্ন থাকা আবশ্যকপ্রাথমিক অনুমান প্রয়োজন
নির্ভুলতানির্দিষ্ট নির্ভুলতা পর্যন্ত স্থিরখুব দ্রুত নির্ভুলতা পর্যন্ত পৌঁছায়
প্রয়োগের সহজতাসহজ এবং নির্ভরযোগ্যকিছু ক্ষেত্রে জটিল এবং ভুল অনুমান দিলে ডাইভার্জ হতে পারে

সংক্ষেপে

Bisection Method এবং Newton’s Method দুইটি জনপ্রিয় Root Finding পদ্ধতি। Bisection Method তুলনামূলকভাবে সহজ এবং গ্যারান্টেড কনভার্জেন্স প্রদান করে, তবে এটি ধীর। অন্যদিকে, Newton’s Method খুব দ্রুত, তবে এটি সঠিকভাবে কনভার্জ না হলে ভুল ফলাফল প্রদান করতে পারে। MATLAB-এ এই মেথডগুলো ব্যবহার করে গাণিতিক সমীকরণের রুট খুঁজে পাওয়া যায়।

Content added By
Promotion

Are you sure to start over?

Loading...