J'ai calculé les coefficients an, bn (100, T = 2 * pi) en C++ et vérifié qu'ils sont corrects en utilisant peu de sources. Maintenant, je tente de générer le graphique de la série de Fourier de la fonction d'exemple donné dans Scilab:Génération de graphe de séries de Fourier à partir de coefficients donnés an, bn dans Matlab (Scilab)
(x + 2) * abs (cos (2 * x * (x-pi/6)))
M=csvRead(filename, ";", [], 'double')
n=size(M,1)
for i = 1:n
A(i)=M(i)
B(i)=M(i + n)
end
function series=solution(x)
series=A(1)/2;
for i = 2:n
series=series+(A(i)*cos(i*x)+B(i)*sin(i*x));
end
endfunction
function series=solution2(x)
series=(x+2).*abs(cos(2.*x.*(x-%pi/6)));
endfunction
x = -%pi:%pi/100:%pi
plot2d(x, solution(x), 3)
x2 = -%pi:%pi/100:%pi
plot2d(x2, solution2(x2), 4)
Voici le résultat: (inversé)
Il semble bien que la tendance est ok mais sont mal le début et la fin de la période. Voyez-vous des problèmes dans le code Scilab?Ce qui pourrait causer le problème - valeurs dans sin/cos dans la solution de fonction (x)?Devrais-je fournir des valeurs de, bn et vérifier qu'il n'y a pas de calcul erroné?
Avez-vous déjà résolu ce problème? – Attila