当我在sympy中使用solve()时变量的空列表?

问题描述 投票:1回答:1

我试过阅读其他提到这个问题的帖子,我无法理解如何将它们应用到我的情况中。这也是我第一次使用堆栈溢出,所以我为任何格式错误道歉。

from sympy import *
from math import sqrt
x = symbols('x')
a = symbols('a',positive=True)
f = 1 / ((x**4)*((x**2)-(a**2))**.5)
#Part A
g = f.subs(4*a,x)
h = f.subs(2*a,x)
area=g-h
#Part B
answ = solve(area-5,a)
print ('part a:' , str(area))
print ('part b:' , str(answ[0].evalf()))

我正在尝试打印出一个值。

我在这个代码块中也有同样的问题

from sympy import *
x = symbols('x')
# Part A
f = (x**3-4*x+3) / (((x-5)**2)*(x**2+3)*(x**2+5))
print("The partial fraction decomposition of f is :", apart(f), "\n")

# Part B
a = symbols('a', positive=True, constant=True)
g = (x**2+2*x+a) / (x-1)**3*(x**2+1)
print("The partial fraction decomposition of g is :", apart(g, x), "\n")

# Part C
g = apart(g, x)
G1 = integrate(x, (x, 2, 4))
G2 = integrate(2*(a + 3)/(x - 1)**3, (x, 2, 4))
G3 = integrate(2 * (a + 7) / (x - 1)**2, (x, 2, 4))
G4 = integrate((a + 13)/(x - 1), (x, 2, 4))
G5 = integrate(5, (x, 2, 4))
print(G1, G2, G3, G4, G5)
value = solve((G1 + G2 + G3 + G4 + G5 - 1), a)

print((value))

由于几个人似乎很困惑,here是我试图用python解决的问题。

python sympy calculus calc
1个回答
0
投票

所以我在与我的TA谈了一点之后想出来,如果有人好奇的话,我将在这里发布解决方案和解释。

from sympy import *
from sympy.plotting import (plot, plot_parametric,plot3d_parametric_surface, plot3d_parametric_line, plot3d)

部分问题是为sqrt()函数导入数学,因为它与sympy的冲突,因此无法解决任何问题。

# Insert code for problem #1 here.
x = symbols('x')
a = symbols('a', positive=True)
f = 1 / ((x**4)*(sqrt((x**2)-(a**2))))
#Part A
F = integrate(f, x)
g = F.subs(x, 4*a)
h = F.subs(x, 2*a)
area = g - h
#Part B
# print(area.evalf())
answ = solve(area-5, a)
print ('part a:', area)
print ('part b:', answ[0].evalf())

接下来的一组问题是我错误地使用了subs()函数,将我想要解决的变量置于错误的一边。我还预先集成了功能,以便实际解决曲线下的区域。为了得到一个值的答案,我使用了与evalf()一起创建的向量的第一个值来使它变近似。

# Insert code for problem #3 here.
x = symbols('x')
# Part A
f = (x**3-4*x+3) / (((x-5)**2)*(x**2+3)*(x**2+5))
print("The partial fraction decomposition of f is :", apart(f), "\n")
# Part B
a = symbols('a', positive=True)
g = (x**2+2*x+a) / ((x-1)**3*(x**2+1))
print("The partial fraction decomposition of g is :", apart(g, x), "\n")
# Part C
g = apart(g, x)
# print(g)
# G = integrate(g, (x,2,4))
G1 = integrate((a - 3)/(4*(x - 1)), (x, 2, 4))
G2 = integrate((a - 1)/(2*(x - 1)**2), (x, 2, 4))
G3 = integrate((a + 3)/(2*(x - 1)**3), (x, 2, 4))
G4 = integrate((a*x-3*x)/(4*(x**2 + 1)) , (x, 2, 4))
G5 = integrate((-a-1)/(4*(x**2 + 1)), (x, 2, 4))
value = solve((G1- G2 + G3 - G4- G5 - 1), a)
print("\n", "The answer for part C is:",(value[0].evalf()))

下一个代码分组的问题是g(x)函数上的一些简单的语法错误。我还必须删除常量= True,这是因为它解决了一个不可能的问题。

© www.soinside.com 2019 - 2024. All rights reserved.