# Problem using DifferentialEquations.jl

**URL:** <https://discourse.julialang.org/t/problem-using-differentialequations-jl/10955>\
**Category:** New to Julia\
**Tags:** diffeq\
**Created:** [May 17, 2018, 12:32pm UTC](https://discourse.julialang.org/t/problem-using-differentialequations-jl/10955 "2018-05-17T12:32:16Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Essie](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/essie/32/4174_2.png) [@Essie](https://discourse.julialang.org/u/Essie)\
**Post date:** [May 17, 2018, 12:32pm UTC](https://discourse.julialang.org/t/problem-using-differentialequations-jl/10955/1 "2018-05-17T12:32:16Z")

</div>

Hi!

I am trying to create a function that I could use to solve a simple linear dynamic problem by using DifferentialEquations.jl.

```
using DifferentialEquations
using Plots

function s(f,KK,MM,al,be,n,u0,t)
    C=al*MM+be*KK
    A=[C*Mi K*Mi;eye(n) zeros(n,n)]
    b=[f(t);zeros(n)]
    g(u,p,t)=A*u+b
    prob=ODEProblem(g,u0,tspan)
    sol=solve(prob)
    h=plot(sol)
    display(h)
end

```

When I test the function with values something goes wrong e.g.

```
M=400; m=35
K=50000; k=200000
A=300

function f(t)
    [A*sin(t);0]
end

MM=M*0.5*eye(2)+0.5*m*eye(2)
KK=[K+k -K;-K K]
Mi=inv(MM)
tspan=(0.0,2.0)
u0=zeros(4,1)
f(t)=[A*sin(t);0]
al=0.5; be=0.02; n=2
s(f,KK,MM,al,be,n,u0,tspan)

```

I keep getting this error message:

```
LoadError: e[91mMethodError: no method matching sin(::Tuple{Float64,Float64})e[0m
Closest candidates are:
sin(e[91m::Float64e[39m) at math.jl:419
sin(e[91m::Float32e[39m) at math.jl:420
sin(e[91m::Float16e[39m) at math.jl:950
...e[39m

```

Does anyone have any suggestions how I could try to fix this?

---

<div class="post-metadata">

**Author:** ![mauro3](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mauro3/32/292_2.png) [@mauro3](https://discourse.julialang.org/u/mauro3)\
**Post date:** [May 17, 2018, 12:44pm UTC](https://discourse.julialang.org/t/problem-using-differentialequations-jl/10955/2 "2018-05-17T12:44:24Z")

</div>

Welcome to the forum!

`tspan` is a tuple and `sin` does not accept tuple inputs. Change `b=[f(t);zeros(n)]` to `b=[f.(t);zeros(n)]` might help? (actually, that doesn’t work, but you may get the gist?)

---

<div class="post-metadata">

**Author:** ![Essie](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/essie/32/4174_2.png) [@Essie](https://discourse.julialang.org/u/Essie)\
**Post date:** [May 17, 2018, 1:13pm UTC](https://discourse.julialang.org/t/problem-using-differentialequations-jl/10955/3 "2018-05-17T13:13:22Z")

</div>

Thank you for the tip! I don’t quite know what to do yet but I’ll keep working on it!

---

<div class="post-metadata">

**Author:** ![Essie](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/essie/32/4174_2.png) [@Essie](https://discourse.julialang.org/u/Essie)\
**Post date:** [May 17, 2018, 4:51pm UTC](https://discourse.julialang.org/t/problem-using-differentialequations-jl/10955/4 "2018-05-17T16:51:05Z")

</div>

I can’t seem to make this work. I fixed some mistakes I noticed in the matrices but I don’t know what I should do about the tuple.

---

<div class="post-metadata">

**Author:** ![mauro3](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mauro3/32/292_2.png) [@mauro3](https://discourse.julialang.org/u/mauro3)\
**Post date:** [May 17, 2018, 6:19pm UTC](https://discourse.julialang.org/t/problem-using-differentialequations-jl/10955/5 "2018-05-17T18:19:01Z")

</div>

I’m not sure what you intend to do as your code is not self-explanatory, but below “works”. I would recommend to first test everything at the REPL, sans functions. You should also read up on arrays and vectors, you seem a bit confused about their shape, how to transform them, etc.

```julia
using DifferentialEquations
using Plots
pyplot() # otherwise you might run into world-age issues, at least if you also use pyplot

function s(f,KK,MM,al,be,n,u0,t)
    C=al*MM+be*KK
    A=[C*Mi K*Mi;eye(n) zeros(n,n)]
    b=[f.(t)..., zeros(n)...]
    g(u,p,t)=A*u+b
    prob=ODEProblem(g,u0,tspan)
    sol=solve(prob)
    h=plot(sol)
    display(h)
end

M=400; m=35
K=50000; k=200000
AA=300

MM=M*0.5*eye(2)+0.5*m*eye(2)
KK=[K+k -K;-K K]
Mi=inv(MM)
tspan=(0.0,2.0)
u0=zeros(4)
f(t)=AA*sin(t)
al=0.5; be=0.02; n=2
s(f,KK,MM,al,be,n,u0,tspan)

```

---

<div class="post-metadata">

**Author:** ![Essie](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/essie/32/4174_2.png) [@Essie](https://discourse.julialang.org/u/Essie)\
**Post date:** [May 17, 2018, 7:24pm UTC](https://discourse.julialang.org/t/problem-using-differentialequations-jl/10955/6 "2018-05-17T19:24:55Z")

</div>

Sorry I wasn’t clearer! Thank you for helping!
