I'm trying to run a while loop until my error reaches the tolerance. But this loop doesn't start. I tried running it without the while loop (putting it manually the parameters) and it workd, but when I want to loop it it doesnt even start, no errors.. My goal here is to find the paramateres b and k that match the minimum error between the sampled solution (y2data) and the numerical solution
findbk = @(t,y) [y(3);y(4);k/J1 * y(2) - k/J1 * y(1);T0/J2 - b*y(4)/J2 - (k/J2)*(y(2)-y(1))];
[t,y] = ode45(@(t,y) findbk(t,y),[0:0.01:10],[0,0,0,0]);
fun = @(b,k) T0/J2 - (b/J2).*y(:,4) - ((k/J2).*(y(:,2)-y(:,1)));
err = abs(norm(y2data - fun(b,k)));