next up previous contents
Next: Taylor Polynomials Up: Homework Previous: Submit   Contents

Test Driver

program test_spline
implicit none
  subroutine spline(t,y,x,v)
    implicit none
    double precision, intent(in),  dimension(:) :: t,y,x
    double precision, intent(out), dimension(:) :: v
  end subroutine spline
end interface
integer, parameter :: ndata=5
integer, parameter :: nplot=201
double precision, dimension(ndata) :: t = (/-1.d0,-.5d0,0.d0,0.5d0,1.0d0/)
double precision, dimension(ndata) :: y = (/0.d0,2.d0,0.d0,-4.d0,1.d0/)
double precision, dimension(nplot) :: x=(/ (-1.d0+(i-1)*1.0D-2, i=1,nplot) /)
double precision, dimension(nplot) :: v
integer :: i 
call spline(t,y,x,v)
open(10, file='Data.m',action='WRITE')
open(20, file='Results.m',action='WRITE')
do i=1,ndata
  write(10,FMT='(F24.16,4X,F24.16)') t(i), y(i)
end do
do i=1,nplot
  write(20,FMT='(F24.16,4X,F24.16)') x(i), v(i)
end do
end program test_spline

Results of this example are shown in the next Figure.

Figure: The spline results for the test driver.

Adrian Sandu 2001-08-26