平均能量损失

平均能量损失

我在显示积分的负限值时遇到问题。

我的代码是 Python 语言的:

f"Use substitution to evaluate the definite integral $_\\displaystyle\\int_{stra}^{strb} {latex(f)}\\,dx$_."

显示如下:

结果

附加信息:

  • latex(f)返回sympy.latex(f)
  • f = c*x*((d*x**2)+e)**g
  • stra是变量的字符串版本,它是和a之间的整数。-33
  • strb是变量的字符串版本,它是和b之间的整数。-55
  • 我将变量制作成字符串来查看是否会产生差异,因为当变量是整数时它会执行相同的操作。

答案1

我不确定我是否理解了您的 Python 代码。但以下是我使用简单的 TeX 和 LaTeX 宏输入积分表达式的方法:

在此处输入图片描述

\documentclass{article} % or some other suitable document class
\begin{document}
\[
\int_{-6}^{-3} 4x{(17x^2+9)}^3\,dx
\quad\mbox{or}\quad
\int_{-6}^{-3}\!\! 4x{(17x^2+9)}^3\,dx
\]
\end{document}

答案2

自 Python 3.6 起f 字符串f(以或为前缀的字符串文字F)通过包含替换字段(由花括号分隔的表达式)提供了一种在字符串文字中嵌入表达式的方法{}。从文档

字符串中花括号外面的部分将按字面意思处理,但双花括号{{}}将被相应的单花括号替换。

因此,如果您想将表达式插入到包含文字花括号字符的字符串文字中,那么您将需要三组括号,正如@projetmbc 在评论中指出的那样。

无需转换ab字符串。

平均能量损失

积分.py

import sympy

x = sympy.symbols('x')
a, b, c, d, e, g = -6, -3, 4, 17, 9, 3
f = c*x*((d*x**2) + e)**g

src = fr"""\documentclass{{standalone}}

\begin{{document}}
Use substitution to evaluate the definite integral
$\displaystyle\int_{{{a}}}^{{{b}}} {sympy.latex(f)}\,dx$.
\end{{document}}"""

with open('integral.tex', mode='w') as fobj:
    print(src, file=fobj)

当运行上述 Python 脚本时,它会生成以下文件:

积分.tex

\documentclass{standalone}

\begin{document}
Use substitution to evaluate the definite integral
$\displaystyle\int_{-6}^{-3} 4 x \left(17 x^{2} + 9\right)^{3}\,dx$.
\end{document}

其结果为:

渲染输出

相关内容