Hi there,

I’m trying to minimize a residual function `f`

using LsqFit.jl since it is the only package that uses Levenberg-Marquardt (trying to do a course where the instructions and assignments assume Matlab usage, and we were explicitly asked to use LM).

```
function residual(t,k,p)
...
end
```

which is a function of two variables `t`

and `k`

, and I want to optimize the parameter set `p`

.

I’ve run through the single variable example, but still trying to wrap my head around the multivariate example.

I’ve tried doing something like this:

```
@. model(x,p) = residual(x[:,1], x[:,2], p)
xdata = rand(2,2)
ydata = rand(2)
p = rand(6)
fit = curve_fit(model, xdata, ydata, p)
```

But end up with a Dimension Mismatch error during broadcasting.

I’ve narrowed the dimension mismatch error to just calling the model

```
model(xdata, p)
```

but I have no idea why.

Simple functions like

```
@. model(x,p) = x[:,1] + x[:,2] + p[1]
```

evaluate correctly. I think I’m just not understanding the `@.`

broadcasting stuff? Would be great if I could get some clarification.

Thanks!