Code de vérification de la série Fourier écrit en Python

Le problème pour les étudiants de premier cycle en sciences et en génie est le calcul manuel des cours de Fourier. Il est normal de faire tous les calculs, mais il arrive souvent que les résultats soient trop sales et peu sûrs. J'ai donc écrit un code qui peut être vérifié avec Python, donc je le posterai sous forme de mémorandum.

Par exemple

f(x)=x \ \ \ \ (-\pi \le x \le \pi)

Est étendu à la série Fourier

f(x)=-\Sigma_{n=1}^{\infty}\frac{(-1)^n}{n}\sin(nx)

Sera. Vérifions ça.

import numpy as np
import matplotlib.pyplot as plt

#Définir l'axe des x
x = np.arange(-np.pi,np.pi,0.01)

#Fonctions du contenu de Sigma
def func(k):
    return -1*(((-1)**k)/k)*np.sin(k*x)

#Fonction d'opération Sigma.Spécifiez la plage de somme avec un argument.
def sigma(func,frm,to):
    ret = np.zeros_like(x)
    for i in range(frm,to):
        ret += func(i)
    return ret

#Fonction d'extension de la série de Fourier
f = sigma(func,1,100)

#Voir les résultats
fig, ax = plt.subplots(1,1)
ax.set_aspect('equal')
ax.plot(x,f)
plt.show()

#Ceci est un graphique pour voir le processus d'ajout
#Jusqu'à 9 fois avec ce paramètre
"""
fig, axes = plt.subplots(3,3,figsize=(7,7))
for i,ax in enumerate(axes.ravel()):
    ax.set_aspect('equal')
    ax.set_title('n={}'.format(i))
    f = sigma(func,1,i)
    ax.plot(x,f)
plt.show()
"""

Le résultat ressemble à ceci. Figure_1.png C'est une combinaison de 100 termes, mais elle peut être reproduite raisonnablement bien.

Si vous exécutez ensuite la partie commentée du code, le résultat sera le suivant. Figure_2.png n = 0,1 n'est pas affiché en raison de l'instruction for, mais veuillez les modifier ici.

Les références

https://qiita.com/weedslayer/items/25c38c928ad59ba61071

Recommended Posts

Code de vérification de la série Fourier écrit en Python
Introduction à la vérification de l'efficacité Chapitre 3 écrit en Python
Introduction à la vérification de l'efficacité Chapitre 2 écrit en Python
Générer du code QR en Python
Gacha écrit en Python -BOX Gacha-
Code de caractère appris en Python
Comparaison du code de moyenne mobile exponentielle (EMA) écrit en Python
Introduction à la vérification des effets Rédaction des chapitres 4 et 5 en Python
Cool Lisp écrit en Python: Hy
Traitement du signal en Python (1): transformée de Fourier
[Python] Générer un code QR en mémoire
Formater automatiquement le code Python avec Vim
Diviser timedelta dans la série Python 2.7
Programme de diagnostic de compatibilité écrit en python
Ecrire le code de test du sélénium en python
Logique gacha simple écrite en Python
Tests de code dans le temps en Python
Test de stress avec Locust écrit en Python
Probabilité de transition de la chaîne de Markov écrite en Python
Obtenir la liste de codes EDINET en Python
Ajouter une série à la colonne dans les pandas python
Introduction à la vérification de l'efficacité Chapitre 1 écrit en Python
Obtenez des données de séries chronologiques de k-db.com avec Python
Quadtree en Python --2
Python en optimisation
CURL en Python
Métaprogrammation avec Python
Python 3.3 avec Anaconda
Géocodage en python
SendKeys en Python
Méta-analyse en Python
Unittest en Python
Comment utiliser la bibliothèque d'images Python dans la série python3
Époque en Python
Notes personnelles sur le code doc Python dans Sphinx
Discord en Python
J'ai écrit "Introduction à la vérification des effets" en Python
Allemand en Python
DCI en Python
code de caractère python
tri rapide en python
Incertitude du code d'unité japonais dans la série Tacotron 2
nCr en python
N-Gram en Python
Programmation avec Python
Plink en Python
Constante en Python
FizzBuzz en Python
[Python] Code conscient des algorithmes
Sqlite en Python
Étape AIC en Python
Code souvent utilisé dans les applications Python / Django [préfectures]
Utiliser Python dans un environnement Anaconda avec VS Code
LINE-Bot [0] en Python
CSV en Python
Assemblage inversé avec Python
Réflexion en Python
Constante en Python