MathGroup Archive 2000

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

Search the Archive

Re: Integrating Conditionals/piecewise cont. functions


"Richard Lindenberg" <georgepburdell at hotmail.com> wrote in message
news:90ejrq$lp9 at smc.vnet.net...
> I am trying to do some simplified finite elements that simply requires the
> integration of some roof functions (i.e. piecewise continous functions
that
> are 0 everywhere except where they ramp up and then down in a specified
> domain). I was hoping that I could do everything symbolically, but
> Mathemtica refuses to integrate every conditional I give it. I can get it
to
> do the numerically, but it comes with baggage. This is what I have right
> now:
>
> These are roof functions differentiated
>
> Piecewise continuous
> b'[x_, n_] :=
>   Which[x < n, 0, n <= x <= n + 1, 1, n + 1 < x < n + 2, -1, x >= n + 2,
0]
>
> Another way to look at it
> v'[x_, n_] := 0 /; x < n
> v'[x_, n_] := 1 /; n <= x <= n + 1
> v'[x_, n_] := -1 /; n + 1 < x < n + 2
> v'[x_, n_] := 0 /; x >= n + 2
>
> I want to simply do this...
>
> Integrate[v'[x,m] v'[x,n]]  for m=n=1...5 (or something)
>
> (If you copy the below item into Mathematica you will see exactly, I
> think...)
>
> Essentially I am trying to make a matrix full of the these functions. The
> numerical integrate seems to work, but keeps spitting up after trying to
> integrate integrands of zero. I suppose if I could turn this off that
would
> be good. The other stuff in the table function just makes it a
tridiagonal.
>
> \!\(Table[
>     Switch[i - j, \(-1\),
>       N[\[Integral]\_0\%5\((\(v'\)[x, i]\ \(v'\)[x, j])\)
> \[DifferentialD]x],
>       0, N[\[Integral]\_0\%5\((\(v'\)[x, i]\ \(v'\)[x,
>                   j])\) \[DifferentialD]x], 1,
>       N[\[Integral]\_0\%5\((\(v'\)[x, i]\ \(v'\)[x,
>                   j])\) \[DifferentialD]x], _, 0], {i, 5}, {j, 5}]\)
>
> Appreciate any help/ideas...

The problem with your function is it is not symbolically integrable. Why not
design the original function to provide the ramp shapes you want, and skip
the integration step?

In[144]:=
b[x_, n_] :=
  Which[x < -2 n, 0,
    n (-2) <= x < n (-1), x n - n (-2),
    n (-1) <= x < n (+1), n - x n - 1,
    n (+1) <= x < n (+2), x n - n 2,
    x > n (+2), 0]

Plot this function -- is it what you are after?

--
Paul Lutus
www.arachnoid.com





  • Prev by Date: Re: Integrating Conditionals/piecewise cont. functions
  • Next by Date: Re: Integrating Conditionals/piecewise cont. functions
  • Previous by thread: Re: Integrating Conditionals/piecewise cont. functions
  • Next by thread: Re: Integrating Conditionals/piecewise cont. functions