- #1
S. Moger
- 53
- 2
Hey,
This works but it's crap.
Why?
- Ugly code.
I want to set the params outside the function.
So ok, I did this:
And that's nice because it works. But how would I do this without this strange nesting?
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?