Пустой список для переменной, когда я использую solve () в sympy? - PullRequest
0 голосов
/ 26 февраля 2019

Я пытался читать другие посты, в которых упоминалась эта проблема, и я не мог понять, как применить их к моей ситуации.Также я впервые использую переполнение стека, поэтому я прошу прощения за любые ошибки форматирования.

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))

Поскольку пара людей, похоже, запуталась, здесь - это проблемы, которые я пытаюсь решить с помощью Python.

1 Ответ

0 голосов
/ 26 февраля 2019

Так что я понял это после того, как немного поговорил с моим ТА, если кому-то будет интересно, я собираюсь опубликовать здесь решения и объяснения.

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, потому что это сделало решение невозможным.

...