ke, 2006-11-08 kello 16:08 -0800, David L Goldsmith kirjoitti: > Hi! I tried to send this earlier: it made it into my sent mail folder, > but does not appear to have made it to the list. > > I need to numerically solve: > (1-t)x" + x' - x = f(t), x(0) = x0, x(1) = x1 > I've been trying to use (because it's the approach I inherited) an > elementary finite-difference discretization, but unit tests have shown > that that approach isn't working. [clip]
You could try to use some of the pre-existing www.netlib.org codes for
solving BVPs. This only requires writing a wrapper.
However, I have written a wrapper for the COLNEW code, which is a
finite-difference method written by Ascher & Bader in '87, having an
adaptive mesh selection. You can find it here:
http://www.iki.fi/pav/bvp
As I understand, COLNEW does not have any special handling for singular
coefficients, but nevertheless it seems to be able to solve your
problem. The code goes as follows:
----------------------------------------------------
import scipy as N
import bvp
u0 = 1
u1 = 2
def f(t):
return N.sin(2*t)
def fsub(t, z):
u, du = z
return N.array([(f(t) + u - du)/(1-t)])
def gsub(z):
u, du = z
return N.array([u[0] - u0, u[1] - u1])
tol = [1e-5, 1e-5]
boundary_points = [0, 1]
solution = bvp.colnew.solve(boundary_points, [2], fsub, gsub,
is_linear=True, tolerances=tol,
vectorized=True, maximum_mesh_size=300)
import pylab
x = solution.mesh
pylab.plot(x, solution(x)[:,0])
pylab.savefig('solution.png')
----------------------------------------------------
BR,
Pauli Virtanen
signature.asc
Description: Digitaalisesti allekirjoitettu viestin osa
------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________ Numpy-discussion mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/numpy-discussion
