I am trying to build a program in Matlab to solve the following hyperbolic PDE by the method of characteristics ∂n/∂t + G(t)∂n/∂L = 0 with the inital and boundary conditions n(t,0)=B(t)/G(t) and n(0,L)=ns Here ns is an intial distribution (bell curve) but I dont have a function to fit it. I just have different values of n at various sizes, L (from 0 to 1000μm). I know that the method of characterisitics gives the solution ∂n/∂s=0 ∂t/∂s=1 ∂L/∂s=G(t) which gives the characteristic curve as L-G(t)*t=L0. So the values of n @ any initial size, L0, remain constant along the characteristic curve. My problem is how do I incorporate the original n values at time zero and various sizes into the equation. I want to say: n@(L0)=n@(L-G(t)*t) If the initial condition was given as a function of L0, say n(0,L)= f(L0)=sin(L0), then I could just sub in the characteristic equation and calculate n(t,L) as sin(L-G(t)*t). But I dont have a function that describes the initial condition, just vaues of n at various sizes, L as said above. The other problem is the boundary condition, this should make up one section of the solution and the initial condition the other. But again how do I actually say n@(t,0)=B(t)/G(t)=n@(L-G(t)*t). Say if n(t,0)=g(t), so the boundary condition is a function of time explicitly, not the case for me, B and G are actually a function of concentration which is changing with time, then the solution for the PDE above subject to the boundary would be; n(t,L)=g(t-(L/G(t)) So I get the method overall, Im just confused how I propagate each value when I dont have functions to describe the initial and boundary conditions, like f(L0) and g(t) shown above. I posted about this ages ago but if anyone had some feedback on this it would be great.