Re: Solving integral equations numerically
- To: mathgroup at smc.vnet.net
- Subject: [mg100057] Re: Solving integral equations numerically
- From: "Sjoerd C. de Vries" <sjoerd.c.devries at gmail.com>
- Date: Fri, 22 May 2009 01:49:33 -0400 (EDT)
- References: <gv2jgr$977$1@smc.vnet.net>
Hi Georg, In the Nintegrate call you use T which is defined (among other things) by a variable Tlo without a numeric value. For NIntegrate to work all variables must have numeric values. You can circumvent this problem by writing I1 and I2 as function definitions with argumnts and := (SetDelayed, to prevent inmediate evaluation). If you require the arguments to be numeric FindRoot won't be trying to evaluate them symbolically at the start. This would work if the numbers involved were not so gargantuan. I suspect that the value of ta (the activation temperature) is wrong. It's almost 7000 K. That's more than the outer temperature of the sun. I cannot imagine any material you might be interested in having an activation temperature that is that high. Cheers -- Sjoerd On May 21, 5:58 am, viehhaus <g.viehhaus... at physics.ox.ac.uk> wrote: > Hi, > > I'm trying to solve a set of two integral equations, which don't have an = analytic solution, so I'm using NIntegrate and FindRoot > > nodes = 11 (*number of nodes*) > RCOM = 2.17 (* common resistance *) > RS0 = 0.1 (*off-sensor resistance for sensor*) > RS = 1.1 (*sensor resistance pre node*) > Ph = 6 (*hybrid power in W*) > tcool = -25 (*coolant temperature (degC) *) > ta = 1.2/2/0.0000862 (*activation temperature (K) *) > l = 63.56/1000(*length of thermal path*) > w = 128.05/1000(*width of thermal path*) > T0 = 273 + tcool + Ph*RCOM > T = 4/3*(Tlo - T0^2/ta)*(x^2/l^2 - 2*x/l) + Tlo (*parabolic temperature= function in sensor*) > I1 = (RCOM + RS0)*w*qref*Exp[ta/273]/273^2*NIntegrate[T^2*Exp[-ta/T], {= x, 0, l}] > I2 = (RS/l)*w*qref*Exp[ta/273]/273^2*NIntegrate[T^2*Exp[-ta/T]*x, {x, 0= , l/2}] > FindRoot[{Tlo == T0 + I1, T0^2/ta == Tlo + I2}, {{Tlo, 270}, {qre= f, 300}}] > > but I get errors like "... has evaluated to non-numerical values for all = sampling points in the region with boundaries {{0,0.06356}}..." and FindRoo= t does not move. Any idea what I'm doing wrong? > > Cheers, Georg