Re: Solving differential equations with parameters
- To: mathgroup at smc.vnet.net
- Subject: [mg79847] Re: Solving differential equations with parameters
- From: chuck009 <dmilioto at comcast.com>
- Date: Tue, 7 Aug 2007 01:22:28 -0400 (EDT)
I've found the best way to handle a bunch of solutions from NDSolve is to identify the solutions with subscripts. The example below is your equation being solved for 10 values of p with y[0]=0. Note the Table command, I switch all the Interpolated polynomials to v_i[x] to identify each. Note I can't use y_i since y is already being used in NDSolve. Note I also have to use Evaluate to "evaluate" the interpolated polynomial. I can then plot v_i, use v_i[x] to find a value and take derivatives and plot them also as long as I remember to use Evaluate: sol = (NDSolve[{Derivative[1][y][x] == -Sin[#1*x + y[x]], y[0] == 0}, y, {x, 0, 1}] & ) /@ {1, 2, 3, 4, 5, 6, 7, 8, 9, 10} Table[Subscript[v, i][x_] := Evaluate[y[x] /. Take[Flatten[sol], {i, i}]], {i, 1, 10}] Plot[Subscript[v, 5][x], {x, 0, 1}] Subscript[v, 5][0.5] Plot[Evaluate[D[Subscript[v, 5][x], x]], {x, 0, 1}] > Hi, I am trying to solve the differential equations > like > > y'[x]= - Sin[ p*x + y[x] ] > > where p is a parameter. Now I want to solve the > equation with respect > to x for a range of values of p, instead for just a > single p. > What is the best way to do it? > >