Research Article

Closed-Form Solutions to Differential Equations via Differential Evolution

Algorithm 3

do k=length-1,1,-1
  if(.not. isnan( auxv(1,k+1) ).and. narg(x(k)).eq. 0 ) then
    cycle
  elseif(.not. isnan( auxv(1,k+1) ).and. narg(x(k)).eq. 1 ) then
    auxv(:,k) = operf(x(k),auxv(:,k+1))
    if( isnan(auxv(1,k)) ) return
  elseif(.not. isnan( auxv(1,k+1) ).and. narg(x(k)).eq.2)then
    auxv(:,k) = operf2(x(k),auxv(:,k+1:length))
    if( isnan(auxv(1,k)) ) return
  end if
end do