Dear:
Reading the Core Language cited above I typed the following instructions:
 odeplot[de_, y_, {x_, x0_, x1_}, opts : OptionsPattern[]] :=
 
  Module[{sol},
   sol = NDSolve[de, y, {x, x0, x1}, 
     FilterRules[{opts}, Options[NDSolve]]];
   if[Head[sol] === NDSolve,
    $Failed,
    Plot[Evaluate[y /. sol], {x, x0, x1},
    Evaluate[FilterRules[{opts}, Options[Plot]]]]
   ]
  ]
odeplot[{y''[x] + y[x] == 0, y[0] == 1, y'[0] == 0}, y[x], {x, 0, 10}]
Unfortunatelly it did not work but it worked when I delete the If, as you can see bellow (Plts Attachded):
odeplot[de_, y_, {x_, x0_, x1_}, opts : OptionsPattern[]] :=
 Module[{sol},
  sol = NDSolve[de, y, {x, x0, x1}, 
    FilterRules[{opts}, Options[NDSolve]]];
  Plot[Evaluate[y /. sol], {x, x0, x1}, 
   Evaluate[FilterRules[{opts}, Options[Plot]]]]
  ]
Could you help me why does not work a simple program from Tutorial Collection ?
Thanks,
Ana
				
					
				
				
					
					
						
							
							Attachments: