MathGroup Archive 2009

[Date Index] [Thread Index] [Author Index]

Search the Archive

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



  • Prev by Date: Re: Rotating a list of 3D point coordinates in one shot
  • Next by Date: Re: Wolfram|Alpha Lookup Tool for Mathematica
  • Previous by thread: Re: Solving integral equations numerically
  • Next by thread: Re: Solving integral equations numerically