Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Adding many functions in mathematica

  1. Jun 13, 2011 #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
     
  2. jcsd
  3. Jun 14, 2011 #2
    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}]
     
  4. Jun 14, 2011 #3
    that works for me. I probably should get better acquainted with that "Apply" operator. Thanks for your help.
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook

Have something to add?



Similar Discussions: Adding many functions in mathematica
  1. Mathematica functions (Replies: 1)

Loading...