Xấp xỉ Sigma điều chỉnh tổng Fourier để loại bỏ hiện tượng Gibbs nếu không sẽ xảy ra khi không liên tục. Một tổng gần đúng sigma cho một chuỗi Fourier của hàm tuần hoàn T có thể được viết là
\[s[\theta] = \frac{1}{2} a_0 + \sum _{k=1}^{m-1} \operatorname{sinc} \Bigl[ \frac{k}{m} \Bigr
trong đó \[a_0, a_k, b_k, k=1,\ldots,{m-1}\] là các chuỗi Fourier tiêu chuẩn . \[\operatorname{sinc} \Bigl[ \frac{k}{m} \Bigr]\] is a Lanczos \[\sigma\] factor [expressed in terms of normalized \[\operatorname{sinc}\] function].
ví dụ
>>> from sympy import fourier_series, pi >>> from sympy.abc import x >>> s = fourier_series[x, [x, -pi, pi]] >>> s.sigma_approximation[4] 2*sin[x]*sinc[pi/4] - 2*sin[2*x]/pi + 2*sin[3*x]*sinc[3*pi/4]/3
ghi chú
Hành vi của
>>> from sympy import fourier_series, pi >>> from sympy.abc import x >>> s = fourier_series[x**2, [x, -pi, pi]] >>> s.scalex[2].truncate[] -4*cos[2*x] + cos[4*x] + pi**2/37 khác với
>>> from sympy import fourier_series, pi >>> from sympy.abc import x >>> s = fourier_series[x**2, [x, -pi, pi]] >>> s.scalex[2].truncate[] -4*cos[2*x] + cos[4*x] + pi**2/38 - nó nhận tất cả các số hạng khác 0 có bậc nhỏ hơn n, thay vì n số khác 0 đầu tiên
Xem thêm
>>> from sympy import fourier_series, pi >>> from sympy.abc import x >>> s = fourier_series[x**2, [x, -pi, pi]] >>> s.scalex[2].truncate[] -4*cos[2*x] + cos[4*x] + pi**2/39
Người giới thiệu
[ R737 ]
https. // vi. wikipedia. org/wiki/Gibbs_hiện tượng
[ R738 ]
https. // vi. wikipedia. org/wiki/Sigma_approximation
cắt ngắn[n=3][source]#Trả về n số hạng khác không đầu tiên của chuỗi
Nếu
>>> from sympy import fourier_series, pi >>> from sympy.abc import x >>> s = fourier_series[x**2, [x, -pi, pi]] >>> s.shift[1].truncate[] -4*cos[x] + cos[2*x] + 1 + pi**2/30 là Không, hãy trả về một trình vòng lặpThông số .
N. int hoặc Không
Trả về .Số lượng các số hạng khác 0 trong xấp xỉ hoặc Không có
Expr hoặc iterator
Xấp xỉ hàm mở rộng thành chuỗi Fourier
ví dụ
>>> from sympy import fourier_series, pi >>> from sympy.abc import x >>> s = fourier_series[x, [x, -pi, pi]] >>> s.truncate[4] 2*sin[x] - sin[2*x] + 2*sin[3*x]/3 - sin[4*x]/2
Xem thêm
>>> from sympy import fourier_series, pi >>> from sympy.abc import x >>> s = fourier_series[x**2, [x, -pi, pi]] >>> s.shift[1].truncate[] -4*cos[x] + cos[2*x] + 1 + pi**2/31sympy. loạt. chiến binh. fourier_series[f , giới hạn=Không , hữu hạn=True][source]#
Tính toán khai triển chuỗi lượng giác Fourier
Thông số .Hạn mức. [sym, bắt đầu, kết thúc], tùy chọn
Trả về .sym biểu thị ký hiệu chuỗi được tính đối với
bắt đầu và kết thúc biểu thị điểm bắt đầu và điểm kết thúc của khoảng mà chuỗi phạm vi hội tụ đến hàm đã cho
Phạm vi mặc định được chỉ định là \[-\pi\] và \[\pi\ . .
Loạt Fourier
Một đối tượng biểu tượng đại diện cho chuỗi lượng giác Fourier
Giải trình
Chuỗi lượng giác Fourier của \[f[x]\] trên khoảng \[[ . is defined as:
\[\frac{a_0}{2} + \sum_{n=1}^{\infty} [a_n \cos[\frac{2n \pi x}{L}] + b_n \sin[\frac{2n \
trong đó các hệ số là
\[L = b - a\]
\[a_0 = \frac{2}{L} \int_{a}^{b}{f[x] dx}\]
\[a_n = \frac{2}{L} \int_{a}^{b}{f[x] \cos[\frac{2n \pi x}{L}] dx}\]
\[b_n = \frac{2}{L} \int_{a}^{b}{f[x] \sin[\frac{2n \pi x}{L}] dx}\]
Điều kiện để biết hàm số \[f[x]\] đã cho có phải tuần hoàn hay không là quá cần thiết, bởi vì nó là . \[f[x]\] only in the given interval, not throughout the whole real line.
Điều này cũng mang lại rất nhiều sự dễ dàng cho việc tính toán vì bạn không phải thực hiện định kỳ \[f[x]\] giả tạo . \[[a, b]\], and the computed series will automatically become the series of the periodic version of \[f[x]\].
Thuộc tính này được minh họa trong phần ví dụ bên dưới
ví dụ
Tính toán chuỗi Fourier của \[f[x] = x^2\] .
>>> from sympy import fourier_series, pi >>> from sympy.abc import x >>> f = x**2 >>> s = fourier_series[f, [x, -pi, pi]] >>> s1 = s.truncate[n=3] >>> s1 -4*cos[x] + cos[2*x] + pi**2/3
Sự dịch chuyển của chuỗi Fourier
________số 8
Mở rộng quy mô của chuỗi Fourier
>>> s.scale[2].truncate[] -8*cos[x] + 2*cos[2*x] + 2*pi**2/3 >>> s.scalex[2].truncate[] -4*cos[2*x] + cos[4*x] + pi**2/3
Tính toán chuỗi Fourier của \[f[x] = x\] .
Điều này minh họa cách cắt bớt theo thứ tự cao hơn để hội tụ tốt hơn
>>> from sympy import fourier_series, pi >>> from sympy.abc import x >>> s = fourier_series[x**2, [x, -pi, pi]] >>> s.scalex[2].truncate[] -4*cos[2*x] + cos[4*x] + pi**2/30
>>> from sympy import fourier_series, pi >>> from sympy.abc import x >>> s = fourier_series[x**2, [x, -pi, pi]] >>> s.scalex[2].truncate[] -4*cos[2*x] + cos[4*x] + pi**2/30
>>> from sympy import fourier_series, pi >>> from sympy.abc import x >>> s = fourier_series[x**2, [x, -pi, pi]] >>> s.scalex[2].truncate[] -4*cos[2*x] + cos[4*x] + pi**2/31
[png, thuê. png, pdf]
Điều này minh họa cách chuỗi hội tụ thành các sóng răng cưa khác nhau nếu các phạm vi khác nhau được chỉ định
>>> from sympy import fourier_series, pi >>> from sympy.abc import x >>> s = fourier_series[x**2, [x, -pi, pi]] >>> s.scalex[2].truncate[] -4*cos[2*x] + cos[4*x] + pi**2/32
>>> from sympy import fourier_series, pi >>> from sympy.abc import x >>> s = fourier_series[x**2, [x, -pi, pi]] >>> s.scalex[2].truncate[] -4*cos[2*x] + cos[4*x] + pi**2/33
>>> from sympy import fourier_series, pi >>> from sympy.abc import x >>> s = fourier_series[x**2, [x, -pi, pi]] >>> s.scalex[2].truncate[] -4*cos[2*x] + cos[4*x] + pi**2/31
[png, thuê. png, pdf]
ghi chú
Tính toán chuỗi Fourier có thể chậm do tích hợp cần thiết trong tính toán một, bn
Việc tính toán chuỗi Fourier của một hàm sẽ nhanh hơn bằng cách sử dụng dịch chuyển và chia tỷ lệ trên chuỗi Fourier đã được tính toán thay vì tính toán lại
e. g. Nếu chuỗi Fourier của
>>> from sympy import fourier_series, pi >>> from sympy.abc import x >>> s = fourier_series[x**2, [x, -pi, pi]] >>> s.shift[1].truncate[] -4*cos[x] + cos[2*x] + 1 + pi**2/32 đã biết, chuỗi Fourier của
>>> from sympy import fourier_series, pi >>> from sympy.abc import x >>> s = fourier_series[x**2, [x, -pi, pi]] >>> s.shift[1].truncate[] -4*cos[x] + cos[2*x] + 1 + pi**2/33 có thể được tìm thấy bằng cách dịch chuyển bởi
>>> from sympy import fourier_series, pi >>> from sympy.abc import x >>> s = fourier_series[x**2, [x, -pi, pi]] >>> s.shift[1].truncate[] -4*cos[x] + cos[2*x] + 1 + pi**2/34