function dwdt=vteamRHSRegions(t,w,p)

if p.Region==1 || p.Region==2
  Rm=(p.Roff*(w-p.won)+p.Ron*(p.woff-w))/(p.woff-p.won);
  vm=p.u(t)*Rm/(Rm+p.R); % memristor voltage
  if p.Region==1; dwdt=p.koff*(vm/p.voff-1)^p.aoff; end
  if p.Region==2; dwdt=p.kon*(vm/p.von-1)^p.aon; end
end

if p.Region==3 || p.Region==4 || p.Region==5; dwdt=0; end
