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

Mathematica, fitting an arbitrary number of parameters

  1. Jun 2, 2008 #1
    Let's say I have some data, as a function of a variable [itex]x[/itex]. I want to fit this to the real part of the function


    by numerically fitting the first [itex]N[/itex] of the [itex]c_n[/itex]'s ([itex]A[/itex] is fixed). I tried something like

    Code (Text):

    A = 1; N = 100;
    fit = FindFit[data, Re[A(1+Sum[c[k]/(1-i x)^k,{k,1,N}])], Table[c[k], {k,1,N}], x];
    Plot[Re[A(1+Sum[c[k]/(1-i x)^k,{k,1,N}])]/.fit, {x,0,10}]
    However, this way does not work. For the case [itex]N=5[/itex], I put in the summation explicitly, calling my parameters c1, c2, etc, and it produces different (better) results than the above code. This is not feasible if I want the first 100 or 1000 coefficients, so any help with the above method would be appreciated. Thanks in advance.
  2. jcsd
  3. Jun 5, 2008 #2
  4. Jun 5, 2008 #3


    User Avatar
    Staff Emeritus
    Science Advisor
    Homework Helper

    It looks like your code is missing the factor 1 / (1-ix)
  5. Jun 6, 2008 #4


    Staff: Mentor

    Also, in Mathematica the symbol N is protected, use n instead.
  6. Jun 6, 2008 #5
    Yes, it is, but the original code wasn't. That was just me missing it when typing it into here.
    That could be the problem, I'll check it later. Thanks for the replies.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook