# Lambdify getting error if expression is function of time

**URL:** <https://discourse.julialang.org/t/lambdify-getting-error-if-expression-is-function-of-time/90118>\
**Category:** General Usage\
**Tags:** symbolic, sympy\
**Created:** [November 11, 2022, 1:11pm UTC](https://discourse.julialang.org/t/lambdify-getting-error-if-expression-is-function-of-time/90118 "2022-11-11T13:11:51Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![Starpower\_Power](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/starpower_power/32/38282_2.png) [@Starpower\_Power](https://discourse.julialang.org/u/Starpower_Power)\
**Post date:** [November 11, 2022, 1:11pm UTC](https://discourse.julialang.org/t/lambdify-getting-error-if-expression-is-function-of-time/90118/1 "2022-11-11T13:11:51Z")

</div>

```julia
using SymPy
using PyCall
sp = pyimport("sympy")
@vars t
x = sp.Function("x")(t)
y = sp.Function("y")(t)
z = x^2+y^2
hz = lambdify(z,(x,y))
# hz = lambdify(z,(x,y))
hz(1,1)

```

---

<div class="post-metadata">

**Author:** ![j\_verzani](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/j_verzani/32/8551_2.png) [@j\_verzani](https://discourse.julialang.org/u/j_verzani)\
**Post date:** [November 11, 2022, 4:03pm UTC](https://discourse.julialang.org/t/lambdify-getting-error-if-expression-is-function-of-time/90118/2 "2022-11-11T16:03:45Z")

</div>

It is a bit confusing what is desired here. As is you have three variables: t, x, and y and are passing in two values.

Maybe this is what you want:

```julia
julia> @syms t x() y()
(t, x, y)

julia> z = x(t)^2 + y(t)^2
 2 2   
x (t) + y (t)

julia> f = lambdify(z, (t, x, y))
#118 (generic function with 1 method)

julia> f(t, x, y)
 2 2   
x (t) + y (t)

julia> f(pi/4, sin, cos)
1.0

```

---

<div class="post-metadata">

**Author:** ![Starpower\_Power](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/starpower_power/32/38282_2.png) [@Starpower\_Power](https://discourse.julialang.org/u/Starpower_Power)\
**Post date:** [November 12, 2022, 11:59am UTC](https://discourse.julialang.org/t/lambdify-getting-error-if-expression-is-function-of-time/90118/3 "2022-11-12T11:59:25Z")

</div>

Thank you.  
but if I try like this, I’m getting error. my whole code is written in this method. please provide solution.  
Thank You.

```julia
using SymPy
using PyCall
sp = pyimport("sympy")
@vars t
x = sp.Function("x")(t)
y = sp.Function("y")(t)
z = x^2+y^2
hz = lambdify(z,(t,x,y))
hz(1,1,1)

```

even this one also getting error

```julia
using SymPy
@vars t
x = SymFunction("x")(t)
y = SymFunction("y")(t)
z = x^2+y^2
hz = lambdify(z,(x,y,t))
hz(1,1,1)

```

---

<div class="post-metadata">

**Author:** ![j\_verzani](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/j_verzani/32/8551_2.png) [@j\_verzani](https://discourse.julialang.org/u/j_verzani)\
**Post date:** [November 12, 2022, 12:55pm UTC](https://discourse.julialang.org/t/lambdify-getting-error-if-expression-is-function-of-time/90118/4 "2022-11-12T12:55:18Z")

</div>

Sorry, `lambdify` doesn’t correctly identify the variables `x(t)` and `y(t)` in your approach. The unevaluated function approach allows a function to be passed in; in your approach your are trying to pass in a value of x(1) to be 1 making me unclear why you are using a function there.

---

<div class="post-metadata">

**Author:** ![Starpower\_Power](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/starpower_power/32/38282_2.png) [@Starpower\_Power](https://discourse.julialang.org/u/Starpower_Power)\
**Post date:** [November 12, 2022, 2:25pm UTC](https://discourse.julialang.org/t/lambdify-getting-error-if-expression-is-function-of-time/90118/5 "2022-11-12T14:25:15Z")

</div>

I have done kinematics and dynamics in this format. can you suggest any other alternative for converting symbolic expression to numerical function.  
Thanks.

---

<div class="post-metadata">

**Author:** ![j\_verzani](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/j_verzani/32/8551_2.png) [@j\_verzani](https://discourse.julialang.org/u/j_verzani)\
**Post date:** [November 12, 2022, 2:45pm UTC](https://discourse.julialang.org/t/lambdify-getting-error-if-expression-is-function-of-time/90118/6 "2022-11-12T14:45:09Z")

</div>

You can use substitution. It is more flexible, but not as performant as creating a julia function.

---

<div class="post-metadata">

**Author:** ![Starpower\_Power](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/starpower_power/32/38282_2.png) [@Starpower\_Power](https://discourse.julialang.org/u/Starpower_Power)\
**Post date:** [November 13, 2022, 8:55pm UTC](https://discourse.julialang.org/t/lambdify-getting-error-if-expression-is-function-of-time/90118/7 "2022-11-13T20:55:22Z")

</div>

Thanks 👍
