Q: What takes so long in my code?

There is a wonderful command,

profile
"The profiler utility helps you debug and optimize M-files by tracking their execution time. For each function, the profiler records information about execution time, number of calls, parent functions, child functions, code line hit count, and code line execution time."

Try

profile on -detail builtin -history
[t,y] = ode23('lotka',[0 2],[20;20]);
profile report