File mttroot/mtt/bin/trans/m/mtt_euler.m artifact a811a17cef part of check-in b0fa64f3c6
function [x] = mtt_euler(x,dx,dt,stepfactor,Nx,open) # Euler update I_open = nozeros(open.*[1:Nx]'); # Indices of open switches x(I_open) = 0.0; # Open switches have zero state I = nozeros(!open.*[1:Nx]'); # Indices of states to update x(I) = x(I) + dx(I)*dt; # Update states except open switches. endfunction;