我有這段代碼,我想將它與文本顯示在同一行。
from sympy import *
c, x, L, y, a, b, E, xi, A, R, D, nu, q0, h, eta = symbols("c,x,L,y,a,b,E,xi,A,R,D,nu,q0,h,eta")
w = c * x / a * (1 - cos(2 * pi * y / b))
wx = diff(w, x)
wxx = diff(w, x, 2)
wy = diff(w, y)
wyy = diff(w, y, 2)
q = q0 * (1 - x / a)
display(w, q, wy)
當我顯示它時,它顯示:
w
q
wy
我希望它顯示 w,q,wy 以便我也可以輸入文本。有誰知道這是怎么做到的嗎?
uj5u.com熱心網友回復:
試試這個:首先使用init_printing(),不要使用display:
from sympy import *
init_printing()
c, x, L, y, a, b, E, xi, A, R, D, nu, q0, h, eta = symbols("c,x,L,y,a,b,E,xi,A,R,D,nu,q0,h,eta")
w = c * x / a * (1 - cos(2 * pi * y / b))
wx = diff(w, x)
wxx = diff(w, x, 2)
wy = diff(w, y)
wyy = diff(w, y, 2)
q = q0 * (1 - x / a)
w, q, wy
這會將它們顯示為行內的元組。
編輯以容納評論。我個人不會使用它,因為它可能會帶來更多的麻煩,而不是它的價值:
import inspect
from IPython.display import display, Math
def edisplay(var):
callers_local_vars = inspect.currentframe().f_back.f_locals.items()
var_name = [var_name for var_name, var_val in callers_local_vars if var_val is var]
var_name.sort()
var_name = [v for v in var_name if v[0] != "_"]
if len(var_name) == 0:
raise ValueError
lat = var_name[0] "=" latex(var)
display(Math(lat))
edisplay(q)
# out: q = q0*(1 - x/a)
edisplay(w)
# out: w = c*x*(1 - cos(2*pi*y/b))/a
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/476026.html
上一篇:SpringBoot和H2表填充錯誤:org.hibernate.tool.schema.spi.CommandAcceptanceException:執行DDL時出錯
下一篇:For回圈,其中每個值都正確分布
