sympy奇异函数

sympy奇异函数奇异函数是一类不连续函数 可用麦考利括号表示

大家好,欢迎来到IT知识分享网。

简介

奇异函数是一类不连续函数,可用麦考利括号表示为

f ( t ) = < t − t 0 > n f(t)=\lt t-t_0\gt^n f(t)=<tt0>n

n < 0 n\lt 0 n<0时,记 N = − n − 1 ≥ 0 N=-n-1\geq0 N=n10,奇异函数可表示为Dirac函数的导数 d N δ ( t − t 0 ) d t N \frac{\text d^N\delta(t-t_0)}{\text dt^N} dtNdNδ(tt0)。特别地,当 n = − 1 n=-1 n=1时, N = 0 N=0 N=0,则奇异函数等价于Dirac函数 δ ( t − t 0 ) \delta(t-t_0) δ(tt0)

n ≥ 0 n\geq 0 n0时,可用阶跃函数表示 ( t − t 0 ) n θ ( t − t 0 ) (t-t_0)^n\theta(t-t_0) (tt0)nθ(tt0),当 n = 0 n=0 n=0时,奇异函数即等于阶跃函数 θ ( t − t 0 ) \theta(t-t_0) θ(tt0)

SingularityFunction

sympy中实现了奇异函数,有三个输入参数,依次表示公式中的 t , t 0 , n t, t_0, n t,t0,n

SingularityFunction(variable, offset, exponent) 

由于当 n = − 1 n=-1 n=1时,奇异函数等价于狄拉克函数,下面做一个测试

from sympy import SingularityFunction for t in range(10): s = SingularityFunction(t,2,-1) print(f"f({ 
     t},2,-1)={ 
     s}") 

由其输出可知,只有当 t = 2 t=2 t=2时, f ( 2 , 2 , − 1 ) = o o f(2,2,-1)=oo f(2,2,1)=oo,否则均为0。

若取 n = 0 n=0 n=0,则奇异函数等价于阶跃函数,示例如下

from sympy.abc import x, a, n, plot s = SingularityFunction(x,2,0) plot(s, xlim=(-5,5), ylim=(0,2)) 

在这里插入图片描述

rewrite

考虑到奇异函数和Dirac函数、阶跃函数的密切关系,SingularityFunction内置了rewrite方法,可用这两个函数来重新表达

from sympy import print_latex expr = SingularityFunction(x, a, 5) print_latex(expr) print_latex(expr.rewrite(Heaviside)) 

打印结果如下

  • ⟨ − a + x ⟩ 5 {\left\langle – a + x \right\rangle}^{5} a+x5
  • ( − a + x ) 5 θ ( − a + x ) \left(- a + x\right)^{5} \theta\left(- a + x\right) (a+x)5θ(a+x)

n < 0 n<0 n<0,则示例如下

expr = SingularityFunction(x, a, -2) print_latex(expr) print_latex(expr.rewrite(DiracDelta)) 
  • ⟨ − a + x ⟩ − 2 {\left\langle – a + x \right\rangle}^{-2} a+x2
  • − δ ( 1 ) ( a − x ) – \delta^{\left( 1 \right)}\left( a – x \right) δ(1)(ax)

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/125471.html

(0)
上一篇 2025-09-26 21:00
下一篇 2025-09-26 21:15

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信