Подсчёт спектральной плотности и численное интегрирование - C#

Узнай цену своей работы

Формулировка задачи:

Пытаюсь посчитать спектральную плотность используя преобразование Фурье. Добрые люди подсказали что можно интеграл формулы(которая на рисунке ниже),находить методом численного интегрирования,я выбрал метод Симпсона. но у меня вопрос. в функции
Листинг программы
  1. public double fun
мне передавать 1 или 3 параметра? Дело в том что в формуле ещё существуют 3-4 параметра,это j,w,t,f; Причём j,w,f я получаю в ходе решения. Предусматривает ли метод Симпсона работу с 3-мя параметрами? И 2-ой вопрос. j это комплексная мнимая единица(но я решил её в цикл для пробы включить и она у меня идёт по циклу
Листинг программы
  1. j <= nmax/2;
А мне надо в return вписать формулу где применяется переменная j. Можно ли как нибудь эту переменную в формулу подставить вне цикла?
Листинг программы
  1. public double func(double u)
  2. {
  3. double f, w;
  4. int t = 1;
  5. double j = 0;
  6. int nmax = 512;
  7. int U = Convert.ToInt32(textBox1.Text);
  8. int T = Convert.ToInt32(textBox2.Text);
  9. for (j = 0; j <= nmax/2; j++)
  10. {
  11. }
  12. f = 1 / T;
  13. w = 2 * Math.PI * f;
  14. return U * Math.Exp(-j * w * t);
  15. }
  16. public void Simpson()
  17. {
  18. double x, y, h, s;
  19. int b = Convert.ToInt32(textBox2.Text);
  20. int a = 0;
  21. int n = 7;
  22. h = (b - a) / n;
  23. s = 0;
  24. x = a + h;
  25. while (x < b)
  26. {
  27. s = s + 4 * func(x);
  28. x = x + h;
  29. s = s + 2 * func(x);
  30. x = x + h;
  31. }
  32. s = h / 3 * (s + func(x) - func(x));
  33. MessageBox.Show("Интеграл = {0}", Convert.ToString(s));
  34. }

Решение задачи: «Подсчёт спектральной плотности и численное интегрирование»

textual
Листинг программы
  1.    public void frmEiler(int U,int T)
  2.         {
  3.                       double j = Math.Sqrt(-1);
  4.             double f = 0,w = 0;
  5.             int t = 1;
  6.             f = 1 / T;
  7.             w = 2 * Math.PI * f;
  8.             Math.Exp(-j * w * t) = Math.Cos(w * t) + j * Math.Sin(t);
  9.         }
  10.  
  11.         public double func1(double x1)
  12.         {
  13.  ///1-ая часть
  14.             return;
  15.         }
  16.  
  17.  
  18.  
  19.         public double func2(double x2)
  20.         {
  21. ///2-ая часть
  22.             return;
  23.         }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.8 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы