Re: Multiline functions
- To: mathgroup at smc.vnet.net
- Subject: [mg112784] Re: Multiline functions
- From: dr DanW <dmaxwarren at gmail.com>
- Date: Thu, 30 Sep 2010 04:52:26 -0400 (EDT)
- References: <i7uses$ram$1@smc.vnet.net>
Dude, where to even start. Perhaps it looks awkward because you typed in code intended for a another language. Oddly, it will only work for your test case; in LaplaceOnUnitCircle, sum is accumulated but never used. Neglecting the fact that Mathematica has built in capability for this problem, here is how to code your solution in real Mathematica: CosCoefficient[f_, n_] := (1/Pi)*Integrate[f[x]*Cos[n*x], {x, -Pi, Pi}] SinCoefficient[f_, 0] := 0 SinCoefficient[f_, n_] := (1/Pi)*Integrate[f[x]*Sin[n*x], {x, -Pi, Pi}] LaplaceOnUnitCircle2[phi_, order_] := CosCoefficient[phi, 0]/2 + Sum[r^n*(CosCoefficient[phi, n]*Cos[n*x] + SinCoefficient[phi, n]*Sin[n*x]), {n, 1, order}] Notice that I only have to use Sum[], none of that Fortrany "for" loop nonsense. The (or at least, one) way to do this using the full capabilities of Mathematica is: LaplaceOnUnitCircle3[phi_, order_] := FourierTrigSeries[phi[x], x, order] /. {Cos[(n_Integer)*x] :> r^n*Cos[n*x], Cos[x] -> r*Cos[x], Sin[(n_Integer)*x] :> r^n*Sin[n*x], Sin[x] -> r*Sin[x]} I'm helping because I'm like that. However, in the future, if you do not wish to become a flame target, I would strongly suggest that you make an effort to learn some aspect of a language on your own before running to the users group for help. It may already be too late. Daniel