Mathematica 9 is now available
Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2013

[Date Index] [Thread Index] [Author Index]

Search the Archive

Problem with function definition inside DynamicModule

  • To: mathgroup at smc.vnet.net
  • Subject: [mg130344] Problem with function definition inside DynamicModule
  • From: "Kevin J. McCann" <kjm at KevinMcCann.com>
  • Date: Wed, 3 Apr 2013 22:52:17 -0400 (EDT)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com
  • Delivered-to: l-mathgroup@wolfram.com
  • Delivered-to: mathgroup-newout@smc.vnet.net
  • Delivered-to: mathgroup-newsend@smc.vnet.net

I am trying to write a dynamic module that does a polynomial fit with 
different orders of the polynomial. I define f[x], the fit within the 
module, but it does not update. If I try a delayed equals in the 
definition, I get lots of unpleasant error messages. Any help would be 
appreciated.

Thanks,

Kevin

data = Table[{x, x^2 + RandomReal[{-1, 1}]}, {x, 0, 5}];

datafit[dat_?ListQ] :=
  DynamicModule[{m, d, f, x, y, k, n = 1, p1, powers},
   p1 = ListPlot[dat, Joined -> False,
     PlotStyle -> {Red, AbsolutePointSize[7]}, PlotRange -> All];

(* Here is where I think the problem is *)
   f[x_] = Fit[dat, Table[x^k, {k, 0, n}], x];

   Panel[
    Column[
     {
      Row[{"n", Spacer[5], SetterBar[Dynamic[n], Range[5]]}],
      Dynamic@
       Plot[f[x], {x, 0, 5}, Epilog -> p1[[1]],
        PlotLabel -> "n = " <> ToString[n],
        PlotRange -> {0, 30}]
      }
     ](*Column*)
    ](*Panel*)
   ]

datafit[data]



  • Prev by Date: Re: Getting an array into a C program through mathlink
  • Next by Date: Re: Getting an array into a C program through mathlink
  • Previous by thread: Re: extract from Reduce
  • Next by thread: Re: Problem with function definition inside DynamicModule