Re: Integrate a matrix-function
- To: mathgroup at smc.vnet.net
- Subject: [mg27488] Re: Integrate a matrix-function
- From: "Martin Richter" <mrMICE.fi at cbs.dk>
- Date: Thu, 1 Mar 2001 03:53:14 -0500 (EST)
- Organization: UNI-C
- References: <97cemm$d9s@smc.vnet.net> <97fepk$fu5@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Hi Yes I should have started with a simple example and the one you gave me is working. I must say that in my case it looks like a Mathematica BUG. I know that in 99,999% of the cases your are the dummy but here is my example (the code is of course take out of content but you should be able to just paste it into Mathematica, if you/anyone has the time) So if anyone can explain, it would be great: Martin Code: A := {{0, -1, -1/2}, {0, -\[Alpha], 0}, {0, 0, -\[Kappa]}} B[t_] := {r, \[Alpha]*\[Beta][t], \[Kappa]*\[Theta]} IntegrandMean[u_, t_] := Simplify[MatrixExp[A*(t - u)].B[u]] X := {logP, \[Delta], v} \[Alpha] := 1; \[Kappa] := 5; \[Theta] := 1/5; r := 1/15; \[Beta]11 := 1/10; \[Beta]12 := 1/10; \[Beta]21 := 1/10; \[Beta]22 := 1/10; logP := 4; \[Delta] := 1/5; v := 1/20; \[Beta][t_] := \[Beta]11*Cos[2*Pi*t] + \[Beta]12*Sin[2*Pi*t] + \[Beta]21* Cos[4*Pi*t] + \[Beta]22*Sin[4*Pi*t] // Case one: Defining using entries: EX[s_, t_] := (MatrixExp[A*(t - s)] - IdentityMatrix[3]).X + {NIntegrate[ IntegrandMean[s, u][[1]], {u, s, t}], NIntegrate[IntegrandMean[s, u][[2]], {u, s, t}], NIntegrate[IntegrandMean[s, u][[3]], {u, s, t}]} N[EX[1, 2]] --------- Output: \!\({\(-0.21843440253831964`\), 2.7755575615628914`*^-17, 0.14898930795013723`}\) //Case two: Using vector/matrix formulation EX1[s_, t_] := (MatrixExp[A*(t - s)] - IdentityMatrix[3]).X + NIntegrate[IntegrandMean[s, u], {u, s, t}] N[EX1[1, 2]] ---------- Output: \!\(NIntegrate::"inum" \(\(:\)\(\ \)\) "Integrand \!\({\(\(-0.10381870152841678`\)\), 0.1213061319425267`, \ 0.0820849986238988`}\) is not numerical at \!\({u}\) = \!\({3\/2}\)."\) And so one: "Allan Hayes" <hay at haystack.demon.co.uk> wrote in message news:97fepk$fu5 at smc.vnet.net... > Martin, > > With > f[s_,t_] := {{s t, s t^2},{s^2 t,s^2 t^2}} > > The integration that you use seems to do what you want: the outpur is a > matrix of the same size as the integrand. > > Integrate[f[u,t],{u,s,t}] > > {{t*(-(s^2/2) + t^2/2), t^2*(-(s^2/2) + t^2/2)}, > {t*(-(s^3/3) + t^3/3), t^2*(-(s^3/3) + t^3/3)}} > > -- > Allan > --------------------- > Allan Hayes > Mathematica Training and Consulting > Leicester UK > www.haystack.demon.co.uk > hay at haystack.demon.co.uk > Voice: +44 (0)116 271 4198 > Fax: +44 (0)870 164 0565 > > "Martin Richter" <mrMICE.fi at cbs.dk> wrote in message > news:97cemm$d9s at smc.vnet.net... > > Hi > > > > I'm using Mathematical 4.0. The problem is the following. > > > > I have a function, say f[s_,t_], there s,t are real numbers and the output > > is a matrix of size (n,n). I need to integrate each component in the > matrix, > > i.e. make a new function, like this: > > g[s_,t_] := Integrate[f[u,t], {u,s,t}] // error > > > > So right now I have a line for each element but I think there is a > one-line > > way of doing this (using Map or Apply) ? > > > > Thanks IA for any help > > Martin > > > > > > ---------------------------------------------- > > Please remove the PET to reply by email > > > > > > > > >
- Follow-Ups:
- Re: Re: Integrate a matrix-function
- From: Tomas Garza <tgarza01@prodigy.net.mx>
- Re: Re: Integrate a matrix-function