- #1

- 53

- 2

Code:

```
function dy = pizzaode(t, y)
a=2;
b=0.5;
d=4;
u=y(1);
v=y(2);
dy = nan(2,1);
dy(1) = u*(1-u) - a*u*v/(u+d);
dy(2) = b*v*(1-v/u);
end
```

Code:

`[t,y] = ode45(@pizzaode, [0 100], [u(1);v(1)]);`

**This works but it's**

__crap__.Why?

Code:

```
a=2;
b=0.5;
d=4;
```

- Ugly code.

I want to set the params outside the function.

So ok, I did this:

Code:

```
function [t,y] = pizzamaker(a, b, d, u0, v0)
[t,y] = ode45(@pizzaode, [0 100], [u0;v0]);
function dy = pizzaode(t, y)
u=y(1);
v=y(2);
dy = nan(2,1);
dy(1) = u*(1-u) - a*u*v/(u+d);
dy(2) = b*v*(1-v/u);
end
end
```

And that's nice because it works. But how would I do this without this strange nesting?