       Re: Approximation of a Function

• To: mathgroup at smc.vnet.net
• Subject: [mg33501] Re: [mg33464] Approximation of a Function
• From: BobHanlon at aol.com
• Date: Sun, 24 Mar 2002 01:43:54 -0500 (EST)
• Sender: owner-wri-mathgroup at wolfram.com

```In a message dated 3/22/02 4:48:38 AM, rezso at amalthea.elte.hu writes:

>Can somebody to help me to find a solution of approximation of a function?
>I have a function f[x_]:=a*x+b*x^2+c*x^3, where a,b,c are known numbers.
>I
>would like to find a simplier function for f, for example g[x]=c1 x^c2
>at an
>given interval with specified precision. How can I find the numbers c1
>and
> c2?
>

Use NonlinearFit

Needs["Graphics`Colors`"];
Needs["Statistics`NonlinearFit`"];

Clear[a,b,c,f,g];

f[x_]:=a*x+b*x^2+c*x^3;

a=5; b=7; c=1; xmin = 2; xmax=5;

data = Table[{x,f[x]},
{x,xmin,xmax,(xmax-xmin)/10}];

g[x_] := Evaluate[
NonlinearFit[data, c1*x^c2, x, {c1,c2}]];

g[x]

Plot[{f[x], g[x]}, {x, xmin-1, xmax+1},

PlotStyle->{Blue, Red},

Epilog->{AbsolutePointSize, Point/@data}];

However, for a given model you get the fit that you get.
It is the best fit for that model but you cannot control the
precision without changing the model.

a=10; b=-6; c=1;

data = Table[{x,f[x]},
{x,xmin,xmax,(xmax-xmin)/10}];

g[x_] := Evaluate[
NonlinearFit[data, c1*x^c2, x, {c1,c2}]];

g[x]

Plot[{f[x], g[x]}, {x, xmin-1, xmax+1},

PlotStyle->{Blue, Red},

Epilog->{AbsolutePointSize, Point/@data}];

Adding a constant term to the model improves the fit

g[x_] := Evaluate[
NonlinearFit[data, c3+c1*x^c2, x, {c1,c2,c3}]];

g[x]

Plot[{f[x], g[x]}, {x, xmin-1, xmax+1},

PlotStyle->{Blue, Red},

Epilog->{AbsolutePointSize, Point/@data}];

Bob Hanlon
Chantilly, VA  USA

```

• Prev by Date: Re: Vector Diagrams
• Next by Date: Re: How to pass an input to the child MathKernel?
• Previous by thread: Re: Approximation of a Function
• Next by thread: Interpolation problem