Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

सी++ प्रोग्राम सीधे डीएफटी गुणांकों की गणना करने के लिए

असतत फूरियर ट्रांसफॉर्म (डीएफटी) में, एक परिमित सूची को एक फ़ंक्शन के समान दूरी वाले नमूनों को जटिल साइनसॉइड के परिमित संयोजन के गुणांक की सूची में परिवर्तित किया जाता है। उन्होंने अपनी फ़्रीक्वेंसी के अनुसार आदेश दिया, जिसमें समान नमूना मान हैं, नमूना फ़ंक्शन को उसके मूल डोमेन (अक्सर समय या एक पंक्ति के साथ स्थिति) से फ़्रीक्वेंसी डोमेन में बदलने के लिए।

एल्गोरिदम

Begin
   Declare three variables which are the coefficient of linear equation and max value
   Read the variables
   Define a class with two variables real, img
   Create a constructor and set real, img to zero
   Take a variable M and initialize it to some integer
   Create function[M]
   For i=0 to M do
      function[i] = (((a * (double) i) + (b * (double) i)) - c)
   Declare function sine[M]
   Declare function cosine[M]
   for i = 0 to M do
      cosine[i] = cos((2 * i * k * PI) / M)
      sine[i] = sin((2 * i * k * PI) / M)
   for i = 0 to M do
      dft_value.real += function[i] * cosine[i]
      dft_value.img += function[i] * sine[i]
   Print the value
End
करें

उदाहरण कोड

#include<iostream>
#include<math.h>
using namespace std;
#define PI 3.14159265
class DFT_Coeff {
   public:
   double real, img;
   DFT_Coeff() {
      real = 0.0;
      img = 0.0;
   }
};
int main(int argc, char **argv) {
   int M = 10;
   cout << "Enter the coeff of simple linear function:\n";
   cout << "ax + by = c\n";
   double a, b, c;
   cin >> a >> b >> c;
   double function[M];
   for (int i = 0; i < M; i++) {
      function[i] = (((a * (double) i) + (b * (double) i)) - c);
   }
   cout << "Enter the max K value: ";
   int k;
   cin >> k;
   double cosine[M];
   double sine[M];
   for (int i = 0; i < M; i++) {
      cosine[i] = cos((2 * i * k * PI) / M);
      sine[i] = sin((2 * i * k * PI) / M);
   }
   DFT_Coeff dft_value;
   cout << "The coeffs are: ";
   for (int i = 0; i < M; i++) {
      dft_value.real += function[i] * cosine[i];
      dft_value.img += function[i] * sine[i];
   }
   cout << "(" << dft_value.real << ") - " << "(" << dft_value.img << " i)";
}

आउटपुट

Enter the coeff of simple linear function:
ax + by = c
4 6 7
Enter the max K value:
4
The coeffs are: (-50) - (-16.246 i)

  1. सी ++ प्रोग्राम में बाइनरी सर्च?

    द्विआधारी खोज, जिसे अर्ध-अंतराल खोज, लॉगरिदमिक खोज या बाइनरी चॉप के रूप में भी जाना जाता है, एक खोज एल्गोरिथ्म है जो एक क्रमबद्ध सरणी के भीतर लक्ष्य मान की स्थिति का पता लगाता है। बाइनरी खोज लक्ष्य मान की तुलना सरणी के मध्य तत्व से करती है। यदि वे समान नहीं हैं, तो आधा जिसमें लक्ष्य झूठ नहीं बोल सकत

  1. सी ++ प्रोग्राम जीसीडी खोजने के लिए

    दो संख्याओं का सबसे बड़ा सामान्य भाजक (GCD) उन दोनों को विभाजित करने वाली सबसे बड़ी संख्या है। उदाहरण के लिए:मान लें कि हमारे पास 45 और 27 दो संख्याएँ हैं। 45 = 5 * 3 * 3 27 = 3 * 3 * 3 तो, 45 और 27 का GCD 9 है। दो संख्याओं का GCD ज्ञात करने का कार्यक्रम इस प्रकार दिया गया है। उदाहरण #include <

  1. सी ++ हैलो, वर्ल्ड! कार्यक्रम

    सी ++ एक सामान्य प्रयोजन प्रोग्रामिंग भाषा है जो प्रक्रियात्मक, वस्तु-उन्मुख और सामान्य प्रोग्रामिंग का समर्थन करती है। C++, C का सुपरसेट है और सभी मान्य C प्रोग्राम C++ में भी मान्य हैं। C++ डेटा छिपाने, इनकैप्सुलेशन, इनहेरिटेंस, पॉलीमॉर्फिज्म आदि जैसी सुविधाओं के साथ ऑब्जेक्ट ओरिएंटेड प्रोग्रामिं