当我在 sympy 中使用 solve() 时变量的空列表?
Empty list for variable when I use solve() in sympy?
我尝试阅读其他提到这个问题的帖子,但我不明白如何将它们应用到我的情况中。另外这是我第一次使用堆栈溢出,所以对于任何格式错误我深表歉意。
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 解决的问题。
所以我在和我的助教谈了一会儿之后弄明白了,如果有人好奇我会post这里的解决方案和解释。
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() 函数,将我想要解决的变量放在了错误的一侧。我还预先集成了函数,以便实际求解曲线下的面积。为了获得 answ 的值,我使用了与 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) 函数上的一些简单语法错误。我还必须删除 constant=True,这是因为它使解决问题变得不可能。
我尝试阅读其他提到这个问题的帖子,但我不明白如何将它们应用到我的情况中。另外这是我第一次使用堆栈溢出,所以对于任何格式错误我深表歉意。
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 解决的问题。
所以我在和我的助教谈了一会儿之后弄明白了,如果有人好奇我会post这里的解决方案和解释。
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() 函数,将我想要解决的变量放在了错误的一侧。我还预先集成了函数,以便实际求解曲线下的面积。为了获得 answ 的值,我使用了与 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) 函数上的一些简单语法错误。我还必须删除 constant=True,这是因为它使解决问题变得不可能。