Root Finding Methods (Bisection, Newton’s Method)
Root Finding Methods গাণিতিক সমীকরণের মূল বা রুট খুঁজে বের করার জন্য ব্যবহৃত হয়। যখন কোনও ফাংশনের মান শূন্যে পৌঁছায়, তখন সেটিকে সেই ফাংশনের রুট বলে। MATLAB-এ বিভিন্ন Root Finding মেথড ব্যবহার করে সমীকরণের রুট খুঁজে বের করা যায়। এখানে Bisection Method এবং Newton’s Method নিয়ে আলোচনা করা হলো।
১. Bisection Method
Bisection Method একটি সংখ্যাসূচক পদ্ধতি যা একটি বন্ধ ইন্টারভালে রুট খুঁজে বের করতে ব্যবহৃত হয়। এটি কার্যকর যখন ফাংশনটি নির্দিষ্ট ইন্টারভালে একটিমাত্র রুট ধারণ করে এবং ইন্টারভালের শেষে বিপরীত চিহ্ন রয়েছে।
Bisection Method এর ধাপসমূহ:
- একটি ইন্টারভাল
[a, b]নির্বাচন করুন, যেখানেf(a)এবংf(b)বিপরীত চিহ্ন ধারণ করে। - ইন্টারভালের মধ্যবিন্দু
c = (a + b) / 2নির্ধারণ করুন। - যদি
f(c) = 0হয়, তাহলেcরুট। - যদি
f(c)এবংf(a)একই চিহ্ন ধারণ করে, তাহলে নতুন ইন্টারভাল[c, b]হবে, অন্যথায়[a, c]হবে। - প্রক্রিয়াটি ইচ্ছাকৃত নির্ভুলতা পর্যন্ত পুনরাবৃত্তি করুন।
উদাহরণ: 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 এর ধাপসমূহ:
- একটি প্রাথমিক অনুমান \( x_0 \) নির্বাচন করুন।
- পুনরাবৃত্তি ফর্মুলা ব্যবহার করুন: \( x_{n+1} = x_n - \frac{f(x_n)}{f'(x_n)} \)।
- পর্যাপ্ত নির্ভুলতা না পাওয়া পর্যন্ত প্রক্রিয়াটি পুনরাবৃত্তি করুন।
উদাহরণ: 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 Method | Newton’s Method |
|---|---|---|
| গতি | ধীর এবং গ্যারান্টেড কনভার্জেন্স | দ্রুত কিন্তু কনভার্জেন্স নিশ্চিত নয় |
| শর্ত | ইন্টারভালে বিপরীত চিহ্ন থাকা আবশ্যক | প্রাথমিক অনুমান প্রয়োজন |
| নির্ভুলতা | নির্দিষ্ট নির্ভুলতা পর্যন্ত স্থির | খুব দ্রুত নির্ভুলতা পর্যন্ত পৌঁছায় |
| প্রয়োগের সহজতা | সহজ এবং নির্ভরযোগ্য | কিছু ক্ষেত্রে জটিল এবং ভুল অনুমান দিলে ডাইভার্জ হতে পারে |
সংক্ষেপে
Bisection Method এবং Newton’s Method দুইটি জনপ্রিয় Root Finding পদ্ধতি। Bisection Method তুলনামূলকভাবে সহজ এবং গ্যারান্টেড কনভার্জেন্স প্রদান করে, তবে এটি ধীর। অন্যদিকে, Newton’s Method খুব দ্রুত, তবে এটি সঠিকভাবে কনভার্জ না হলে ভুল ফলাফল প্রদান করতে পারে। MATLAB-এ এই মেথডগুলো ব্যবহার করে গাণিতিক সমীকরণের রুট খুঁজে পাওয়া যায়।
Read more