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! > >