Re: Integrating Conditionals/piecewise cont. functions

*To*: mathgroup at smc.vnet.net*Subject*: [mg26226] Re: Integrating Conditionals/piecewise cont. functions*From*: "Paul Lutus" <nospam at nosite.com>*Date*: Wed, 6 Dec 2000 02:16:14 -0500 (EST)*References*: <90ejrq$lp9@smc.vnet.net>*Sender*: owner-wri-mathgroup at wolfram.com

"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