While solving differential equation encountered this error:

`MethodError: objects of type Float64 are not callable`

This error is returned while using the solve() function of “Differential equations” package. What can be a reason of this error? A wrong data format given to solve()?

# Error while solving differential equation

**Alex_Johnson**#1

**mauro3**#2

The reason for the error is that a float is tried to be called:

```
julia> a = 1.2
1.2
julia> a()
ERROR: MethodError: objects of type Float64 are not callable
```

Presumably you provide a float somewhere where you should give a function. However, without an example it is hard to tell. (And please do make it a MWE, a minimal working example).

And to add a little heuristic to @mauro3’s answer, I find that this happens to me when I do something like `2(a + b * c)`

. Notice that the literal `2(`

does not get expanded to `2*(`

, i.e. there’s no implicit multiplication and instead it does a call. I would search for that happening in your derivative `f`

somewhere.

Oh I thought it was literals that did it too. Must just be non-literals.

```
julia> a,b,c = 2.0,2.0,2.0
(2.0, 2.0, 2.0)
julia> a(b-c)
ERROR: MethodError: objects of type Float64 are not callable
Stacktrace:
[1] top-level scope at none:0
```

Did you have a literal parameter in one code, and then refactor that later to use the passed in parameter `p[i]`

, but it had the implicit multiplication?

Without seeing the code this is as much help as we can give, but I would guess we’re pretty close .

**Alex_Johnson**#8

It was a mistake of kind `2(a + b * c)`

. Forgot a multiplication sign. Thanks everybody for help!