简 介: 本文介绍了将豆包文本中的数学公式转换为Markdown兼容格式的方法。针对豆包公式与CSDN Markdown编辑器语法不兼容的问题,提供了Python解决方案:1)将单行公式标记替换为$符号;2)处理多行公式时去除换行符并合并;3)通过代码自动完成转换后复制到剪贴板。文中还以高斯函数傅里叶变换为例,展示了完整的公式推导过程,包括配方、变量代换和泊松积分应用,最终得出变换结果。该方法有效解决了公式显示问题,便于在Markdown环境中正确呈现数学内容。

关键词 豆包公式LaTexMarkdown

 

01 【豆包公式转换Markdown】

一、问题来源

  我们看到在豆包中如果给出一些数学问题的求解, 其中包会包含着很多公式, 那么这些公式如果进行拷贝, 我们可以看到它遵循着thetext编辑语法, 下面将他们进行拷贝, 放置在CSDN的Markdown编辑器中。 很遗憾,可以看到在CSDN的 Markdown 编译器中, 这些公式都无法显示正常的格式,还是文本的情况。 那么问题来了,如何将这些公式进行修改, 使它们满足Markdown下的公式格式。

GG00004038715_1920_1080.MP4|_-4

二、修改方式

  这里呢给Python对于豆包给出的文本中公式修改方案。 假设豆包中拷贝的文本已经粘贴在字符串1中, 首先将其中的两个LaTex公式标记修改成Markdown的公式标记, 上面的两个是单行公式的标记, 把它替换成单个dollar的符号, 接下来,将多行公式的标记修改成两个dollar的符号。 但是这里要注意,在豆包中给出的多行公式, 它往往在将会将一个公式分解成多行, 因此首先呢先将公式前面的进行替换, 然后对于每个文档中带有后边公示结束符的进行挑选, 挑选之后呢,将其中的所有的回车符去掉。 由此也将原来的多行公式修改成单行公式文本, 将他们再合并在一起, 最终把所有的修改文档合并在一起之后。 拷贝到剪贴板, 粘贴在CSDN的Markdown编辑器中。

GG00013040439_1920_1080.MP4|_-13

str1 = clipboard.paste()
if len(str1) == 0:
    printf("No DouBao text !\a")
    exit()

str2 = str1.replace('\\)', '$').replace('\\(', '$')
str2 = str2.replace('\\[\r\n', '$$')       #.replace('\r\n\\]', '$$')

sdim = str2.split("$$")
for id,s in enumerate(sdim):
    if s.find("\r\n\\]") >= 0:
        ss = s.split("\r\n\\]")
        ss[0] = ss[0].replace("\r\n", "")
        sss = '$$'.join(ss)
        sdim[id] = sss
str2 = '$$'.join(sdim)

clipboard.copy(str2)
time.sleep(.2)
tspsendwindowkey(csdn_title, "v", control=1, noreturn=1)
printf("\a")

  我们看到经过修改之后,所有粘贴在CSDN上的文档中的公式都呈现出正确的编辑格式,这些格式满足Markdown下的关于公式的格式。 

GG00001040756_1920_1080.MP4|_-1

高斯函数的傅里叶变换完整推导过程

一、定义

  标准高斯时域信号:
f ( t ) = e − a t 2 , a > 0 f(t) = e^{-a t^2},\quad a>0 f(t)=eat2,a>0
  傅里叶变换定义:
F ( ω ) = F [ e − a t 2 ] = ∫ − ∞ + ∞ e − a t 2 ⋅ e − j ω t   d t F(\omega) = \mathcal{F}\big[e^{-a t^2}\big]=\int_{-\infty}^{+\infty} e^{-a t^2}\cdot e^{-j\omega t}\,dt F(ω)=F[eat2]=+eat2ejωtdt

二、配方整理指数部分

  合并指数:
F ( ω ) = ∫ − ∞ + ∞ e − ( a t 2 + j ω t ) d t F(\omega)=\int_{-\infty}^{+\infty} e^{-\left(a t^2 + j\omega t\right)} dt F(ω)=+e(at2+jωt)dt
  对二次函数配完全平方
a t 2 + j ω t = a ( t 2 + j ω a t ) a t^2 + j\omega t= a\left(t^2 + \dfrac{j\omega}{a}t\right) at2+jωt=a(t2+ajωt)
t 2 + j ω a t = ( t + j ω 2 a ) 2 − ( j ω 2 a ) 2 t^2+\frac{j\omega}{a}t=\left(t+\frac{j\omega}{2a}\right)^2 - \left(\frac{j\omega}{2a}\right)^2 t2+ajωt=(t+2ajω)2(2ajω)2

代入:
a t 2 + j ω t = a ( t + j ω 2 a ) 2 − a ⋅ ( j ω ) 2 4 a 2 a t^2+j\omega t= a\left(t+\frac{j\omega}{2a}\right)^2 - a\cdot \frac{(j\omega)^2}{4a^2} at2+jωt=a(t+2ajω)2a4a2(jω)2
= a ( t + j ω 2 a ) 2 + ω 2 4 a = a\left(t+\frac{j\omega}{2a}\right)^2 + \frac{\omega^2}{4a} =a(t+2ajω)2+4aω2

  因此积分变为:
F ( ω ) = ∫ − ∞ + ∞ e − a ( t + j ω 2 a ) 2 − ω 2 4 a d t F(\omega)= \int_{-\infty}^{+\infty}e^{-a\left(t+\frac{j\omega}{2a}\right)^2 -\frac{\omega^2}{4a}} dt F(ω)=+ea(t+2ajω)24aω2dt
  常数项提出积分外:
F ( ω ) = e − ω 2 4 a ∫ − ∞ + ∞ e − a ( t + j ω 2 a ) 2 d t F(\omega)= e^{-\frac{\omega^2}{4a}}\int_{-\infty}^{+\infty}e^{-a\left(t+\frac{j\omega}{2a}\right)^2} dt F(ω)=e4aω2+ea(t+2ajω)2dt

三、变量代换与泊松积分公式

  令变量代换:
u = t + j ω 2 a ⇒ d u = d t u = t+\frac{j\omega}{2a} \quad\Rightarrow\quad du=dt u=t+2ajωdu=dt
  复变积分中,高斯积分沿实轴平移复常数,积分值不变:
∫ − ∞ + ∞ e − a u 2 d u \int_{-\infty}^{+\infty} e^{-a u^2} du +eau2du

  利用泊松积分公式
∫ − ∞ + ∞ e − k x 2 d x = π k , k > 0 \int_{-\infty}^{+\infty} e^{-k x^2}dx = \sqrt{\frac{\pi}{k}},\quad k>0 +ekx2dx=kπ ,k>0
  取 k = a k=a k=a
∫ − ∞ + ∞ e − a u 2 d u = π a \int_{-\infty}^{+\infty} e^{-a u^2}du = \sqrt{\frac{\pi}{a}} +eau2du=aπ

四、代入得到最终结果

F ( ω ) = e − ω 2 4 a ⋅ π a F(\omega)= e^{-\frac{\omega^2}{4a}} \cdot \sqrt{\frac{\pi}{a}} F(ω)=e4aω2aπ

常用特例 1:单位高斯 a = 1 2 a=\dfrac12 a=21

f ( t ) = e − t 2 2 f(t)=e^{-\frac{t^2}{2}} f(t)=e2t2
F ( ω ) = 2 π    e − ω 2 2 F(\omega) = \sqrt{2\pi}\;e^{-\frac{\omega^2}{2}} F(ω)=2π e2ω2

常用特例 2:归一化高斯 a = π a=\pi a=π

f ( t ) = e − π t 2 f(t)=e^{-\pi t^2} f(t)=eπt2
F ( ω ) = e − π ω 2 F(\omega)=e^{-\pi \omega^2} F(ω)=eπω2
  👉 这是时域频域形式完全相同的自傅里叶变换高斯函数。

五、结论总结

F [ e − a t 2 ] = π a    e − ω 2 4 a \boldsymbol{\mathcal{F}\big[e^{-a t^2}\big]= \sqrt{\frac{\pi}{a}}\; e^{-\frac{\omega^2}{4a}}} F[eat2]=aπ e4aω2
  核心关键点:

  1. 对指数二次项配平方
  2. 利用高斯泊松积分;
  3. 复常数平移不改变高斯积分值,直接套用实积分公式即可完成推导。

 

  结 ※


  文给出了将豆包文本中的公式转换成Markdown公式的过程 。在CSDN博客中对于转换的Python核心程序代码也进行列出,大家可以使用并进行改进。

GG00002040840_1920_1080.MP4|_-2


Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐