Практичне заняття 3
Completion requirements
Використання NumPy і SciPy в задачах статики
Завдання: Розв’язати задачу статики з використанням функцій numpy.linalg.solve або scipy.optimize.root
Варіанти завдань на c. 6., приклад на с. 10 [Збірник завдань Дієвського].
Приклад:
from numpy import sin, cos
from scipy.optimize import root
a1=1.047
a2=0.698
a3=1.047
N1=2000
#N2, R1, R2?
def f(x, a1, a2, a3, N1): # векторна функція
return [x[0]-N1,
-x[1]*sin(a1)-x[0]*sin(a3)-x[2]*sin(a2),
x[1]*cos(a1)-x[0]*cos(a3)-x[2]*cos(a2)-N1] # список лівих частин рівнянь
sol = root(f, [0, 0, 0], args=(a1,a2,a3,N1)) # розв'язати систему рівнянь з початковими значеннями коренів x0=[0, 0, 0]
print(sol.x) # корені