The problem is that eq1 is a list. solve() returns a list because in
general an equation can have more than one solution. To get the
solution, use eq1[0]. This probably should have produced an error, but
for some reason it didn't.

Aaron Meurer

On Wed, Nov 23, 2022 at 3:11 PM Jeremy Swift <iconocla...@gmail.com> wrote:
>
> Hi there,
>
> I have just discovered sympy and am making my first tentative experiments.
>
> Over the years I've probably forgotten more maths than I remember so my 
> knowledge is somewhere between basic engineering maths and multiplication 
> tables. Having retired I'm trying to dredge some of it back from the depths.
>
> I'm comfortable with programming and have been writing some python lately, 
> primarily for use in Rhino3D.
>
> I have some simultaneous equations to solve for four variables, F1, F2, F3 
> and F4. and a lot of given values V1x, V2x etc. Given the number of 
> parameters, making substitutions manually is error prone, so I figured I'd 
> get sympy to do the grunt work. However, subs() doesn't seem to be working 
> for me. Could somebody show me where I am going wrong?
>
> Here's a simplified interactive example:
>
> >>> import sympy as s
> >>> s.init_printing()
> >>> F1,F2,F3,F4=s.symbols('F1 F2 F3 F4')
> >>> V1x,V2x,V3x,V4x=s.symbols('V1x V2x V3x V4x')
> >>> V1y,V2y,V3y,V4y=s.symbols('V1y V2y V3y V4y')
> >>>
> >>> eqx=F1*V1x+F2*V2x+F3*V3x+F4*V4x
> >>> eqy=F1*V1y+F2*V2y+F3*V3y+F4*V4y
> >>> eqx
> F₁⋅V1x + F₂⋅V2x + F₃⋅V3x + F₄⋅V4x
> >>> eq1=s.solve(eqx, F1)
> >>> eq1
> ⎡-F₂⋅V2x - F₃⋅V3x - F₄⋅V4x⎤
> ⎢─────────────────────────⎥
> ⎣           V1x           ⎦
> >>> eq2=eqy.subs(F1, eq1)
> >>> eq2
> F₁⋅V1y + F₂⋅V2y + F₃⋅V3y + F₄⋅V4y
> >>>
>
> I was expecting sympy to substitute the solution in eq1 into the formula in 
> eqy, but that hasn't happened. Why not?
>
> TIA
> Jeremy
>
> --
> You received this message because you are subscribed to the Google Groups 
> "sympy" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to sympy+unsubscr...@googlegroups.com.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/sympy/dc6d0e11-7407-435e-b6ca-ae434487dbecn%40googlegroups.com.

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sympy+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/CAKgW%3D6%2Bo28jTS-SwD6P%2BzhuNsW7imdiuKqwrA_Zg4Y5JtBaxyg%40mail.gmail.com.

Reply via email to