Программирование - это просто
Advertisement
Главная arrow Математика и информатика arrow Цифровая обработка сигналов. arrow Вычислительная математика. Урок 3. Проверим ряд Фурье при помощи программы на C#.
19.01.2020 г.
Главное меню
Главная
Интернет магазин
Программные продукты
Биржевые роботы
Искусственный интеллект
Математика и информатика
1С:Предприятие
Уроки C#
Уроки Delphi
Уроки программирования
Web-программирование
Дизайн и графика
Компьютер для блондинок
Исходники
Статьи
Платный раздел
Рассказы про компьютеры
Хитрости и секреты
Системный подход
Размышления
Наука для чайников
Друзья сайта
Excel-это не сложно
Все о финансах
Вычислительная математика. Урок 3. Проверим ряд Фурье при помощи программы на C#. Печать E-mail
Автор megabax   
27.11.2011 г.
New Page 1

Вычислительная математика. Урок 3. Проверим ряд Фурье при помощи программы на C#.

На прошлом уроке мы проверяли разложении функции

Вычислительная математика. Урок 3. Проверим ряд Фурье при помощи программы на C#.

в ряд Фурье и использовали для этого программу Excel. Но для более точной проверки требуется не 6 итераций, как это мы сделали на прошлом уроке, а гораздо больше. Поэтому мы напишем небольшую программу на языке C#:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

 

namespace WindowsFormsApplication1

{

    public partial class Form1 : Form

    {

        List<double> a;

        List<double> b;

 

        public Form1()

        {

            InitializeComponent();

        }

 

        private double fun(double x, int cn)

        {

            double res=-Math.PI/2;

            for(int i=1; i<=cn; i++)

            {

                res=res+a[i-1]*Math.Cos(x*i)+b[i-1]*Math.Sin(x*i);

            }

            return res;

        }

 

        private void button1_Click(object sender, EventArgs e)

        {

            a = new List<double>();

            b = new List<double>();

            int cn = 10;

            for (int i = 1; i <= cn; i++)

            {

                double i_d=Convert.ToDouble(i);

                a.Add(2/Math.PI/i_d/i_d*(1-Math.Pow(-1,i_d)));

                b.Add(2/i_d*(Math.Pow(-1,i_d+1)));

            }

 

            StringBuilder sb = new StringBuilder();

            for (int j = 0; j <= 100; j++)

            {

                double x = -Math.PI + j * 0.1;

                sb.AppendFormat("{0}; {1}\n", x,fun(x,cn));

            }

            System.IO.File.WriteAllText("c:\\3\\fur.txt", sb.ToString());

        }

    }

}

При 10 итерациях разложения в ряд Фурье график функции будет выглядеть вот так:

Вычислительная математика. Урок 3. Проверим ряд Фурье при помощи программы на C#.

А после 100 уже вот:

Вычислительная математика. Урок 3. Проверим ряд Фурье при помощи программы на C#.

Программа позволит вычислить достаточно быстро и 1000 итераций:

Вычислительная математика. Урок 3. Проверим ряд Фурье при помощи программы на C#.

 

Последнее обновление ( 22.05.2013 г. )
 
« След.   Пред. »
 
© 2020 Программирование - это просто
Joomla! - свободное программное обеспечение, распространяемое по лицензии GNU/GPL.
Русская локализация © 2005-2008 Joom.Ru - Русский Дом Joomla!
Design by Mamboteam.com | Powered by Mambobanner.de
Я принимаю Яндекс.Деньги