File mttroot/mtt/bin/trans/m/mtt_euler.m artifact 3653e4fcc1 part of check-in b307857564
function [x] = mtt_euler(x,dx,dt,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;