Adding many functions in mathematica

  • Context: Mathematica 
  • Thread starter Thread starter wil3
  • Start date Start date
  • Tags Tags
    Functions Mathematica
Join the discussion
Registration is free. Ask a follow-up in this thread, or start your own.
2 replies · 4K views
wil3
Messages
177
Reaction score
1
Hello. Can someone tell me what I can do to the following code fragment:

sigma = {2,4,6,8}
mu = {1,3,5,7}
gauss[x_, mu_, sigma_] = (1/(2*\[Pi] * sigma^2))*
E^-((x - mu)^2/(2*sigma^2))
lorentz[x_, m_, gamma_] = 1/(\[Pi]*gamma*(1 + ((x - m)/gamma)^2))
spec1 = Apply[Plus, gauss[x, mu, sigma]]
spec2 = Apply[Plus, lorentz[x, mu, sigma]]

spec1 and spec 2 correctly appear as sums of multiple terms, but I cannot plot either as a function of x. Where have I gone wrong?

thanks for any help
 
Physics news on Phys.org
The following quick fix will work:

sigma = {2, 4, 6, 8};
mu = {1, 3, 5, 7};

gauss[x_, mu_, sigma_] := E^(-(x - mu)^2/(2*sigma^2))/(2*Pi*sigma^2)
lorentz[x_, m_, gamma_] := 1/(Pi*gamma*(1 + ((x - m)/gamma)^2))

spec1[x_] := Total[gauss[x, mu, sigma]]
spec2[x_] := Total[lorentz[x, mu, sigma]]

Plot[{spec1[x], spec2[x]}, {x, -10, 10}]
 
that works for me. I probably should get better acquainted with that "Apply" operator. Thanks for your help.