Re: Function Fit to 3D data set
- To: mathgroup at smc.vnet.net
- Subject: [mg57767] Re: [mg57748] Function Fit to 3D data set
- From: Bob Hanlon <hanlonr at cox.net>
- Date: Wed, 8 Jun 2005 03:21:16 -0400 (EDT)
- Reply-to: hanlonr at cox.net
- Sender: owner-wri-mathgroup at wolfram.com
Needs["Graphics`"];
data=Partition[Table[Random[],{30}],3];
sp=ScatterPlot3D[data,
PlotStyle->{Red,AbsolutePointSize[4]}];
expr=a+b*x^0*y^1+c*x^0*y^2+k*x^2*y^0+l*x^2*y^1;
f1=expr/.FindFit[data,expr,{a,b,c,k,l},{x,y}]
-3.6191002429477375*y*x^2 + 2.369175079975754*x^2 -
1.949339720581435*y^2 +
4.0513659678579135*y - 1.1985125893996162
DisplayTogether[sp,
Plot3D[f1,{x,0,1},{y,0,1}]];
Bob Hanlon
>
> From: Adrienne R <roehrich at unlserve.unl.edu>
To: mathgroup at smc.vnet.net
> Date: 2005/06/07 Tue AM 02:03:52 EDT
> Subject: [mg57767] [mg57748] Function Fit to 3D data set
>
> I have been trying to do several analyses with an [x,y,z] data set, where z is
dependent on x and y. First, I tried a 3D plot. However, the only way I was
able to get Mathematica to plot my data was to assume a grid form for x and
y, and use ListPlot3D. First question: can Mathematica make a 3D plot from
stated x,y,z points?
>
> Secondly, I am trying to fit a function to the data. I have determined a
function to which to fit parameters. However, Mathematica does not seem to
want to accept y as a variable. Here is a simple suggestion of what I was
trying. Note, my function is much more complicated. Please also ignore if
the given does not work as stated, as I'm making it up.
>
> points = {{1, 1, 1}, {1, 2, 4}, {1, 4, 16}}
> f1 = FindFit[points, a + b*x^0 * y^1 + c*x^0 *y^2 +k*x^2 *y^0 + l*x^2 *
y^1, {a, b, c, k, l}, x, y]
>
> The error I receive is \!\(\*
> RowBox[{\(FindFit::"nonopt
> "\), \(\(:\)\(\ \)\), "\<\"Options expected (
> instead of \\!\\(y\\)) beyond
> position \\!\\(4\\) in \\!\\(\[LeftSkeleton] 1 \[RightSkeleton]\\). An \
> option must be a rule or a list of rules. \\!\\(\\*ButtonBox[\\\"Moreâ?¦\\\",
\
> ButtonStyle->\\\"RefGuideLinkText\\\", ButtonFrame->None, \
> ButtonData:>\\\"General::nonopt\\\"]\\)\"\>"}]\)
>
> Second question: Can Mathematica take a set of x,y,z data where z is
dependent on x and y and fit a function to it?
>
> Secondary question for both: How?
>
> Thanks for the help!
>
>