• Register

Matematika - Python napačno izračuna

0 votes
109 views

Težava se pojavi v tem, ko računam moment na koncu nosilca. Enačba je pravilno zastavljena, saj jo na roke izračunam pravilno (rezultat je 0). Program pa mi izračuna neko zelo majhno število, kar matematično ni mogoče. Vem, da bi lahko težavo rešil tako, da bi odgovor preprosto zaokrožil ampak me zanima, zakaj pride do te napake?

Koda:

F1 = F2 = F3 =F4 = 125 # N
x1= 0.2
x2= 0.7
x3= 5.3
x4= 5.8
l= 6 

M_x5max = A*l - F1*(l-x1) - F2*(l-x2) - F3*(l-x3) -F4*(l-x4)
print('M_x5max =',M_x5max, "Nm")

M_x5max = -4.973799150320701e-14 Nm
asked May 3 by giannidaris (570 points)

1 Answer

0 votes

Gre za tipično numerično napako. Če želite "zaokrožen" izpis, lahko uporabite numpy funkcijo (oz. metodo) round:

https://numpy.org/doc/stable/reference/generated/numpy.ndarray.round.html?highlight=round#numpy.ndarray.round

answered May 4 by dgorjup (64,970 points)
...