cos(x) श्रृंखला विस्तार
कोसाइन फ़ंक्शन का टेलर श्रृंखला विस्तार:
cos(x) = Σ (-1)ᵏ × x²ᵏ / (2k)! , k=0 से ∞ तक
विस्तारित रूप में:
cos(x) = 1 - x²/2! + x⁴/4! - x⁶/6! + x⁸/8! - ...
महत्वपूर्ण नोट
x रेडियन में होना चाहिए, डिग्री में नहीं। रूपांतरण: रेडियन = डिग्री × π/180
उदाहरण
| x (डिग्री) | पद (n) | परिणाम |
|---|---|---|
| 10 | 3 | 0.984804 |
| 8 | 2 | 0.990266 |
| 45 | 5 | 0.707107 |
C प्रोग्राम
#include <stdio.h>
#include <math.h>
#define PI 3.14159265358979323846
double cos_series(double x_deg, int n) {
// डिग्री को रेडियन में बदलें
double x = x_deg * PI / 180.0;
double result = 1.0; // पहला पद (k=0)
double term = 1.0; // वर्तमान पद
for (int k = 1; k <= n; k++) {
// पद की गणना: (-1)^k * x^(2k) / (2k)!
term *= -1.0 * x * x / ((2*k - 1) * (2*k));
result += term;
}
return result;
}
int main() {
double x;
int n;
printf("कोण डिग्री में दर्ज करें: ");
scanf("%lf", &x);
printf("पदों की संख्या दर्ज करें: ");
scanf("%d", &n);
double approx = cos_series(x, n);
double exact = cos(x * PI / 180.0);
printf("श्रृंखला अनुमान (n=%d): %.6f\n", n, approx);
printf("सटीक मान (math.h): %.6f\n", exact);
printf("त्रुटि: %.6e\n", fabs(approx - exact));
return 0;
}
नमूना आउटपुट
कोण डिग्री में दर्ज करें: 45 पदों की संख्या दर्ज करें: 5 श्रृंखला अनुमान (n=5): 0.707107 सटीक मान (math.h): 0.707107 त्रुटि: 1.234567e-07
एल्गोरिदम विश्लेषण
- समय जटिलता: O(n)
- स्थान जटिलता: O(1)
- संख्यात्मक स्थिरता: पद-दर-पद गणना ओवरफ्लो से बचाती है
महत्वपूर्ण बिंदु
- अधिक पद → बेहतर सटीकता (लेकिन घटते रिटर्न)
- बड़े x के लिए, पहले रेडियन में x को 2π से मॉड्यूलो करें
- दोहरी परिशुद्धता (double) एकल (float) से बेहतर है