ফোরট্রানে Numerical এবং Mathematical Intrinsics
ফোরট্রানে Numerical এবং Mathematical Intrinsics হল প্রি-ডিফাইন্ড ফাংশন বা রুটিন, যা বিভিন্ন গাণিতিক এবং সংখ্যাগত কাজ সম্পাদন করতে ব্যবহৃত হয়। এগুলি আপনার প্রোগ্রামে সাধারণ গাণিতিক অপারেশন এবং সংখ্যাগত বিশ্লেষণগুলি সহজ এবং দ্রুতভাবে সম্পন্ন করার জন্য ব্যবহৃত হয়। ফোরট্রান ইতিমধ্যে অনেকগুলি শক্তিশালী Intrinsic Functions সরবরাহ করে যা বিভিন্ন গাণিতিক সমস্যার সমাধান করতে সাহায্য করে।
১. Numerical Intrinsics (সংখ্যাগত ইনট্রিনসিক ফাংশন)
Numerical Intrinsics হল ফোরট্রানে উপলব্ধ সংখ্যাগত ফাংশনগুলি, যা বিভিন্ন গণনা যেমন সংখ্যা বিশ্লেষণ, রুট নির্ধারণ, বর্গমূল, পেয়ারওয়াইজ অপারেশন এবং আরও অনেক কিছু করতে ব্যবহৃত হয়। নিচে কিছু গুরুত্বপূর্ণ Numerical Intrinsic ফাংশনের উদাহরণ দেওয়া হলো:
১.১. ABS (অ্যাবসোলিউট ভ্যালু)
এই ফাংশনটি একটি সংখ্যার অ্যাবসোলিউট ভ্যালু প্রদান করে (অর্থাৎ, সংখ্যাটি যে দিকে থাকুক না কেন, তার ধনাত্মক মান)।
real :: x, result
x = -5.2
result = abs(x)
print *, result ! আউটপুট হবে: 5.2১.২. SIGN (সংখ্যার সাইন)
এই ফাংশনটি একটি সংখ্যার সাইন প্রদান করে। এটি একটি সংখ্যা এবং সাইন ইনপুট হিসাবে নেয় এবং প্রথম সংখ্যার মান অনুযায়ী সাইন প্রদান করে।
real :: x, y, result
x = -5.2
y = 3.0
result = sign(x, y) ! x এর সাইন অনুযায়ী result হবে -5.2
print *, result১.৩. MOD (মডুলাস)
এই ফাংশনটি দুটি সংখ্যার মধ্যে মডুলাস অপারেশন (বিভাজ্যতার বাকি অংশ) করে।
integer :: a, b, result
a = 17
b = 5
result = mod(a, b) ! 17 এর 5 দিয়ে ভাগ করার বাকি অংশ হবে 2
print *, result ! আউটপুট: 2১.৪. SQRT (বর্গমূল)
এই ফাংশনটি একটি সংখ্যার বর্গমূল নির্ধারণ করে।
real :: x, result
x = 16.0
result = sqrt(x) ! বর্গমূল 4.0 হবে
print *, result ! আউটপুট: 4.0১.৫. EXP (এক্সপোনেনশিয়াল)
এই ফাংশনটি একটি সংখ্যা দ্বারা এক্সপোনেনশিয়াল গণনা করে, অর্থাৎ \( e^{x} \), যেখানে \( e \) হল ন্যাচারাল লগারিদমের ভিত্তি।
real :: x, result
x = 2.0
result = exp(x) ! e^2 এর মান 7.389056
print *, result২. Mathematical Intrinsics (গাণিতিক ইনট্রিনসিক ফাংশন)
Mathematical Intrinsics ফোরট্রানে গাণিতিক কাজ যেমন ত্রিকোণমিতিক ফাংশন, লগারিদম, পাওয়ার অপারেশন ইত্যাদি সম্পাদন করতে ব্যবহৃত হয়। এখানে কিছু গাণিতিক ফাংশনের উদাহরণ দেওয়া হলো:
২.১. SIN, COS, TAN (ত্রিকোণমিতিক ফাংশন)
এই ফাংশনগুলি যথাক্রমে সাইন, কসমাইন এবং ট্যানজেন্ট নির্ধারণ করে।
real :: angle, sine_value, cosine_value, tangent_value
angle = 30.0 ! ডিগ্রিতে
sine_value = sin(angle * 3.14159265358979 / 180.0) ! রেডিয়ানে কনভার্ট করে সাইন নির্ণয়
cosine_value = cos(angle * 3.14159265358979 / 180.0)
tangent_value = tan(angle * 3.14159265358979 / 180.0)
print *, 'Sine of angle: ', sine_value
print *, 'Cosine of angle: ', cosine_value
print *, 'Tangent of angle: ', tangent_value২.২. LOG, LOG10 (লগারিদম ফাংশন)
এই ফাংশনগুলি লগারিদম নির্ধারণ করতে ব্যবহৃত হয়। LOG ফাংশন ন্যাচারাল লগারিদম (\( \ln \)) দেয় এবং LOG10 ফাংশন দশমিক লগারিদম (\( \log_{10} \)) দেয়।
real :: x, log_value, log10_value
x = 100.0
log_value = log(x) ! ন্যাচারাল লগারিদম
log10_value = log10(x) ! দশমিক লগ
print *, 'Natural Log of ', x, ' is: ', log_value
print *, 'Log10 of ', x, ' is: ', log10_value২.৩. POWER (পাওয়ার)
এই ফাংশনটি একটি সংখ্যা তুলে দেয় নির্দিষ্ট শক্তিতে (পাওয়ার অপারেশন)।
real :: base, exponent, result
base = 2.0
exponent = 3.0
result = power(base, exponent) ! 2^3 = 8.0
print *, 'Result of ', base, '^', exponent, ' is: ', result২.৪. REAL, INT, AIMAG (ডেটা টাইপ কনভার্সন)
এই ফাংশনগুলি বিভিন্ন ডেটা টাইপ কনভার্সন বা সংখ্যার অংশ বের করার জন্য ব্যবহৃত হয়:
REAL(x): একটি ইন্টিজার বা কমপ্লেক্স ভ্যালুকে রিয়েল টাইপে রূপান্তর করে।INT(x): একটি রিয়েল বা কমপ্লেক্স ভ্যালুকে ইন্টিজার টাইপে রূপান্তর করে।AIMAG(x): একটি কমপ্লেক্স সংখ্যা থেকে কল্পনা অংশ বের করে।
real :: real_value
integer :: int_value
complex :: complex_value
real_value = 3.14159
int_value = int(real_value) ! 3
complex_value = (1.0, 2.0)
print *, 'Imaginary part of complex number: ', aimag(complex_value) ! 2.0২.৫. ATAN, ATAN2 (আংগুলের আধান)
এই ফাংশনগুলি আঙ্গুলের আধান নির্ধারণ করতে ব্যবহৃত হয়।
real :: x, y, angle
x = 1.0
y = 1.0
angle = atan2(y, x) ! আঙ্গুলের আধান নির্ধারণ (π/4)
print *, 'Angle: ', angle ! আউটপুট: 0.785398163397448উপসংহার
ফোরট্রানে Numerical এবং Mathematical Intrinsics ফাংশনগুলি গাণিতিক এবং সংখ্যাগত কাজগুলি সহজ এবং দ্রুত সম্পাদন করার জন্য শক্তিশালী টুল। এগুলির মাধ্যমে আপনি গাণিতিক হিসাব যেমন ত্রিকোণমিতিক ফাংশন, লগারিদম, শক্তি অপারেশন, বর্গমূল, অ্যাবসোলিউট ভ্যালু ইত্যাদি খুব সহজে সম্পাদন করতে পারেন। এটি কোডের পারফরম্যান্স উন্নত করার জন্য অত্যন্ত কার্যকরী এবং কার্যকর।
Read more