<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/81191</link>
    <title>MATLAB Central Newsreader - Curve fitting a 3D data set</title>
    <description>Feed for thread: Curve fitting a 3D data set</description>
    <language>en-us</language>
    <copyright>&amp;copy;1994-2012 by MathWorks, Inc.</copyright>
    <webmaster>webmaster@mathworks.com</webmaster>
    <generator>MATLAB Central Newsreader</generator>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <ttl>60</ttl>
    <image>
      <title>MathWorks</title>
      <url>http://www.mathworks.com/images/membrane_icon.gif</url>
    </image>
    <item>
      <pubDate>Thu, 18 Nov 2004 06:25:53 -0500</pubDate>
      <title>Curve fitting a 3D data set</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/81191#206565</link>
      <author>Sanne Christensen</author>
      <description>I'm pretty new in the Matlab-world. How do I make curve fitting on a&lt;br&gt;
3D data set (x, y, z)? Do I need a special toolbox for it?&lt;br&gt;
&lt;br&gt;
Thanx for your help :)&lt;br&gt;
Sanne</description>
    </item>
    <item>
      <pubDate>Thu, 18 Nov 2004 12:14:57 -0500</pubDate>
      <title>Re: Curve fitting a 3D data set</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/81191#206572</link>
      <author>Roy Schestowitz</author>
      <description>Sanne Christensen wrote:&lt;br&gt;
&lt;br&gt;
&amp;gt; I'm pretty new in the Matlab-world. How do I make curve fitting on a&lt;br&gt;
&amp;gt; 3D data set (x, y, z)? Do I need a special toolbox for it?&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; Thanx for your help :)&lt;br&gt;
&amp;gt; Sanne&lt;br&gt;
&lt;br&gt;
The other day I came across:&lt;br&gt;
&lt;br&gt;
&lt;a href=&quot;http://www.mathworks.nl/matlabcentral/fileexchange/loadFile.do?objectId=6232&amp;objectType=FILE&quot;&gt;http://www.mathworks.nl/matlabcentral/fileexchange/loadFile.do?objectId=6232&amp;objectType=FILE&lt;/a&gt;&lt;br&gt;
&lt;br&gt;
It seems to do something related.&lt;br&gt;
&lt;br&gt;
Also see:&lt;br&gt;
&lt;br&gt;
&lt;a href=&quot;http://www.mathworks.com/access/helpdesk/help/toolbox/curvefit/curvefit.shtml&quot;&gt;http://www.mathworks.com/access/helpdesk/help/toolbox/curvefit/curvefit.shtml&lt;/a&gt;&lt;br&gt;
&lt;br&gt;
-- &lt;br&gt;
Roy Schestowitz&lt;br&gt;
&lt;a href=&quot;http://schestowitz.com&quot;&gt;http://schestowitz.com&lt;/a&gt;</description>
    </item>
    <item>
      <pubDate>Thu, 18 Nov 2004 18:28:05 -0500</pubDate>
      <title>Re: Curve fitting a 3D data set</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/81191#206734</link>
      <author>Teddy Hsung</author>
      <description>My understanding to you question is that you have a known form of function &lt;br&gt;
with some unknown parameters. And you have bunch of 3D data. You want to fit &lt;br&gt;
those data to get the parameters??&lt;br&gt;
&lt;br&gt;
If so, the optimization toolbox can help you out. If you can provide more &lt;br&gt;
details, I would be happy to give it a try.&lt;br&gt;
&lt;br&gt;
Rentian&lt;br&gt;
&lt;br&gt;
&quot;Sanne Christensen&quot; &amp;lt;sc_trold@hotmail.com&amp;gt; wrote in message &lt;br&gt;
news:eef3579.-1@webx.raydaftYaTP...&lt;br&gt;
&amp;gt; I'm pretty new in the Matlab-world. How do I make curve fitting on a&lt;br&gt;
&amp;gt; 3D data set (x, y, z)? Do I need a special toolbox for it?&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; Thanx for your help :)&lt;br&gt;
&amp;gt; Sanne </description>
    </item>
    <item>
      <pubDate>Fri, 19 Nov 2004 04:51:58 -0500</pubDate>
      <title>Re: Curve fitting a 3D data set</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/81191#206804</link>
      <author>Sanne</author>
      <description>That is exactly what I am trying to do. My data should fit to&lt;br&gt;
something like a poly of second order (parabola) and I could only&lt;br&gt;
find functions (polyfit) which could do it in 2D&lt;br&gt;
&lt;br&gt;
Teddy Hsung wrote:&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; My understanding to you question is that you have a known form of&lt;br&gt;
&amp;gt; function&lt;br&gt;
&amp;gt; with some unknown parameters. And you have bunch of 3D data. You&lt;br&gt;
&amp;gt; want to fit&lt;br&gt;
&amp;gt; those data to get the parameters??&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; If so, the optimization toolbox can help you out. If you can&lt;br&gt;
&amp;gt; provide more&lt;br&gt;
&amp;gt; details, I would be happy to give it a try.&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; Rentian&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; &quot;Sanne Christensen&quot; &amp;lt;sc_trold@hotmail.com&amp;gt; wrote in message&lt;br&gt;
&amp;gt; news:eef3579.-1@webx.raydaftYaTP...&lt;br&gt;
&amp;gt;&amp;gt; I'm pretty new in the Matlab-world. How do I make curve fitting&lt;br&gt;
&amp;gt; on a&lt;br&gt;
&amp;gt;&amp;gt; 3D data set (x, y, z)? Do I need a special toolbox for it?&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; Thanx for your help :)&lt;br&gt;
&amp;gt;&amp;gt; Sanne&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;</description>
    </item>
    <item>
      <pubDate>Fri, 19 Nov 2004 15:10:26 -0500</pubDate>
      <title>Re: Curve fitting a 3D data set</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/81191#206879</link>
      <author>spellucci@fb04373.mathematik.tu-darmstadt.de (Peter Spellucci)</author>
      <description>&lt;br&gt;
In article &amp;lt;eef3579.2@webx.raydaftYaTP&amp;gt;,&lt;br&gt;
&amp;nbsp;Sanne &amp;lt;sc_trold@hotmail.com&amp;gt; writes:&lt;br&gt;
&amp;nbsp;&amp;gt;That is exactly what I am trying to do. My data should fit to&lt;br&gt;
&amp;nbsp;&amp;gt;something like a poly of second order (parabola) and I could only&lt;br&gt;
&amp;nbsp;&amp;gt;find functions (polyfit) which could do it in 2D&lt;br&gt;
&amp;nbsp;&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;gt;Teddy Hsung wrote:&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt; My understanding to you question is that you have a known form of&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt; function&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt; with some unknown parameters. And you have bunch of 3D data. You&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt; want to fit&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt; those data to get the parameters??&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt; If so, the optimization toolbox can help you out. If you can&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt; provide more&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt; details, I would be happy to give it a try.&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt; Rentian&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt; &quot;Sanne Christensen&quot; &amp;lt;sc_trold@hotmail.com&amp;gt; wrote in message&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt; news:eef3579.-1@webx.raydaftYaTP...&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt;&amp;gt; I'm pretty new in the Matlab-world. How do I make curve fitting&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt; on a&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt;&amp;gt; 3D data set (x, y, z)? Do I need a special toolbox for it?&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;gt;&amp;gt;&amp;gt; Thanx for your help :)&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt;&amp;gt; Sanne&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt;&lt;br&gt;
&lt;br&gt;
as long as only a polynomial model is to used, \ alone will do the job for you&lt;br&gt;
otherwise you will need lsqcurvefit from the optimization toolbox. &lt;br&gt;
but ... (x,y,z) -data: and &quot;curvefitting&quot;  you mean indeed a curve?&lt;br&gt;
not a surface? and then: which model do you have for that curve?&lt;br&gt;
parametric : (a+b*t+c*t^2 ; d+e*t+f*t^2; g+h*t+i*t^2)  with&lt;br&gt;
t the curve parameter (how to get this?) or implicit:&lt;br&gt;
(intersection of two surfaces) &lt;br&gt;
&amp;nbsp;a(i)+b(i)*x+c(i)*y+d(i)*x^2+e(i)*x*y+f(i)*y^2=0  i=1,2&lt;br&gt;
&amp;nbsp;plus some normalization constraints?&lt;br&gt;
hth&lt;br&gt;
peter&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&amp;nbsp;</description>
    </item>
    <item>
      <pubDate>Fri, 19 Nov 2004 11:13:50 -0500</pubDate>
      <title>Re: Curve fitting a 3D data set</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/81191#206899</link>
      <author>Teddy Hsung</author>
      <description>I guess his problem can be formulated like this:&lt;br&gt;
&lt;br&gt;
z1 = f(x1, y1, p1,p2...)&lt;br&gt;
z2 = f(x2, y2, p1,p2...)&lt;br&gt;
.&lt;br&gt;
.&lt;br&gt;
.&lt;br&gt;
zn = f(xn, yn, p1,p2...)&lt;br&gt;
&lt;br&gt;
where f is a known form of function. p1,p2... are the parameters that he &lt;br&gt;
wants to estimate.&lt;br&gt;
&lt;br&gt;
\ (slash) function probably won't work because his function is highly &lt;br&gt;
possible a nonlinear function.&lt;br&gt;
&lt;br&gt;
p=LSQCURVEFIT(f,p0,XYDATA,ZDATA) should be able to solve this problem.&lt;br&gt;
&lt;br&gt;
where, p is a vector [p1, p2..]', p0 is initial guess of p.&lt;br&gt;
&lt;br&gt;
XYDATA is a matrix [x1,y1&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;x2,y2&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.....&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;xn,yn]&lt;br&gt;
&lt;br&gt;
ZDATA is a vector  [z1, z2...zn]'&lt;br&gt;
&lt;br&gt;
Please let us know how it works&lt;br&gt;
&lt;br&gt;
Rentian&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&quot;Peter Spellucci&quot; &amp;lt;spellucci@fb04373.mathematik.tu-darmstadt.de&amp;gt; wrote in &lt;br&gt;
message news:cnl2d2$cd5$1@fb04373.mathematik.tu-darmstadt.de...&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; In article &amp;lt;eef3579.2@webx.raydaftYaTP&amp;gt;,&lt;br&gt;
&amp;gt; Sanne &amp;lt;sc_trold@hotmail.com&amp;gt; writes:&lt;br&gt;
&amp;gt; &amp;gt;That is exactly what I am trying to do. My data should fit to&lt;br&gt;
&amp;gt; &amp;gt;something like a poly of second order (parabola) and I could only&lt;br&gt;
&amp;gt; &amp;gt;find functions (polyfit) which could do it in 2D&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt;Teddy Hsung wrote:&lt;br&gt;
&amp;gt; &amp;gt;&amp;gt;&lt;br&gt;
&amp;gt; &amp;gt;&amp;gt;&lt;br&gt;
&amp;gt; &amp;gt;&amp;gt; My understanding to you question is that you have a known form of&lt;br&gt;
&amp;gt; &amp;gt;&amp;gt; function&lt;br&gt;
&amp;gt; &amp;gt;&amp;gt; with some unknown parameters. And you have bunch of 3D data. You&lt;br&gt;
&amp;gt; &amp;gt;&amp;gt; want to fit&lt;br&gt;
&amp;gt; &amp;gt;&amp;gt; those data to get the parameters??&lt;br&gt;
&amp;gt; &amp;gt;&amp;gt;&lt;br&gt;
&amp;gt; &amp;gt;&amp;gt; If so, the optimization toolbox can help you out. If you can&lt;br&gt;
&amp;gt; &amp;gt;&amp;gt; provide more&lt;br&gt;
&amp;gt; &amp;gt;&amp;gt; details, I would be happy to give it a try.&lt;br&gt;
&amp;gt; &amp;gt;&amp;gt;&lt;br&gt;
&amp;gt; &amp;gt;&amp;gt; Rentian&lt;br&gt;
&amp;gt; &amp;gt;&amp;gt;&lt;br&gt;
&amp;gt; &amp;gt;&amp;gt; &quot;Sanne Christensen&quot; &amp;lt;sc_trold@hotmail.com&amp;gt; wrote in message&lt;br&gt;
&amp;gt; &amp;gt;&amp;gt; news:eef3579.-1@webx.raydaftYaTP...&lt;br&gt;
&amp;gt; &amp;gt;&amp;gt;&amp;gt; I'm pretty new in the Matlab-world. How do I make curve fitting&lt;br&gt;
&amp;gt; &amp;gt;&amp;gt; on a&lt;br&gt;
&amp;gt; &amp;gt;&amp;gt;&amp;gt; 3D data set (x, y, z)? Do I need a special toolbox for it?&lt;br&gt;
&amp;gt; &amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;  &amp;gt;&amp;gt;&amp;gt; Thanx for your help :)&lt;br&gt;
&amp;gt; &amp;gt;&amp;gt;&amp;gt; Sanne&lt;br&gt;
&amp;gt; &amp;gt;&amp;gt;&lt;br&gt;
&amp;gt; &amp;gt;&amp;gt;&lt;br&gt;
&amp;gt; &amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; as long as only a polynomial model is to used, \ alone will do the job for &lt;br&gt;
&amp;gt; you&lt;br&gt;
&amp;gt; otherwise you will need lsqcurvefit from the optimization toolbox.&lt;br&gt;
&amp;gt; but ... (x,y,z) -data: and &quot;curvefitting&quot;  you mean indeed a curve?&lt;br&gt;
&amp;gt; not a surface? and then: which model do you have for that curve?&lt;br&gt;
&amp;gt; parametric : (a+b*t+c*t^2 ; d+e*t+f*t^2; g+h*t+i*t^2)  with&lt;br&gt;
&amp;gt; t the curve parameter (how to get this?) or implicit:&lt;br&gt;
&amp;gt; (intersection of two surfaces)&lt;br&gt;
&amp;gt; a(i)+b(i)*x+c(i)*y+d(i)*x^2+e(i)*x*y+f(i)*y^2=0  i=1,2&lt;br&gt;
&amp;gt; plus some normalization constraints?&lt;br&gt;
&amp;gt; hth&lt;br&gt;
&amp;gt; peter&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; </description>
    </item>
    <item>
      <pubDate>Fri, 19 Nov 2004 17:27:27 -0500</pubDate>
      <title>Re: Curve fitting a 3D data set</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/81191#207004</link>
      <author>predictr@bellatlantic.net (Will Dwinnell)</author>
      <description>MATLAB provides an easy way to calculate least-squares fits of linear&lt;br&gt;
functions:&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Coefficients = Inputs \ Outputs;&lt;br&gt;
&lt;br&gt;
...where 'Inputs' and 'Outputs' are data arrays holding the&lt;br&gt;
independent and dependent variables, respectively, with variables in&lt;br&gt;
columns and observations in rows.&lt;br&gt;
&lt;br&gt;
Adding a constant term simply requires a column of ones in the&lt;br&gt;
'Inputs' matrix:&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Coefficients = [ones(size(Inputs,1),1) Inputs] \ Outputs;&lt;br&gt;
&lt;br&gt;
This process is readily extended to functions which are nonlinear, but&lt;br&gt;
linear in their inputs by performing whatever transformations are&lt;br&gt;
necessary on the input data before performing the fit.  For instance,&lt;br&gt;
if the model were to include squares and cubes of the input variables&lt;br&gt;
(but no interactions), one could try:&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Coefficients = [ones(size(Inputs,1),1) Inputs Inputs.^2 Inputs.^3]&lt;br&gt;
\ Outputs;&lt;br&gt;
&lt;br&gt;
Cross-terms are more work, but it should be straightforward at this&lt;br&gt;
point.&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
-Will Dwinnell&lt;br&gt;
&lt;a href=&quot;http://will.dwinnell.com&quot;&gt;http://will.dwinnell.com&lt;/a&gt;&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
Sanne &amp;lt;sc_trold@hotmail.com&amp;gt; wrote in message news:&amp;lt;eef3579.2@webx.raydaftYaTP&amp;gt;...&lt;br&gt;
&amp;gt; That is exactly what I am trying to do. My data should fit to&lt;br&gt;
&amp;gt; something like a poly of second order (parabola) and I could only&lt;br&gt;
&amp;gt; find functions (polyfit) which could do it in 2D&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; Teddy Hsung wrote:&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; My understanding to you question is that you have a known form of&lt;br&gt;
&amp;gt; &amp;gt; function&lt;br&gt;
&amp;gt; &amp;gt; with some unknown parameters. And you have bunch of 3D data. You&lt;br&gt;
&amp;gt; &amp;gt; want to fit&lt;br&gt;
&amp;gt; &amp;gt; those data to get the parameters??&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; If so, the optimization toolbox can help you out. If you can&lt;br&gt;
&amp;gt; &amp;gt; provide more&lt;br&gt;
&amp;gt; &amp;gt; details, I would be happy to give it a try.&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; Rentian&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; &quot;Sanne Christensen&quot; &amp;lt;sc_trold@hotmail.com&amp;gt; wrote in message&lt;br&gt;
&amp;gt; &amp;gt; news:eef3579.-1@webx.raydaftYaTP...&lt;br&gt;
&amp;gt; &amp;gt;&amp;gt; I'm pretty new in the Matlab-world. How do I make curve fitting&lt;br&gt;
&amp;gt;  on a&lt;br&gt;
&amp;gt; &amp;gt;&amp;gt; 3D data set (x, y, z)? Do I need a special toolbox for it?&lt;br&gt;
&amp;gt; &amp;gt;&amp;gt;&lt;br&gt;
&amp;gt; &amp;gt;&amp;gt; Thanx for your help :)&lt;br&gt;
&amp;gt; &amp;gt;&amp;gt; Sanne&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt;</description>
    </item>
    <item>
      <pubDate>Wed, 24 Nov 2004 15:31:10 -0500</pubDate>
      <title>Re: Curve fitting a 3D data set</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/81191#207952</link>
      <author>Sanne Christensen</author>
      <description>I still have some more pre-processing of my CT-scanned images to do&lt;br&gt;
before I start on the curve fitting part, but thank you for all your&lt;br&gt;
help :)&lt;br&gt;
&lt;br&gt;
Teddy Hsung wrote:&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; I guess his problem can be formulated like this:&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; z1 = f(x1, y1, p1,p2...)&lt;br&gt;
&amp;gt; z2 = f(x2, y2, p1,p2...)&lt;br&gt;
&amp;gt; .&lt;br&gt;
&amp;gt; .&lt;br&gt;
&amp;gt; .&lt;br&gt;
&amp;gt; zn = f(xn, yn, p1,p2...)&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; where f is a known form of function. p1,p2... are the parameters&lt;br&gt;
&amp;gt; that he&lt;br&gt;
&amp;gt; wants to estimate.&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; \ (slash) function probably won't work because his function is&lt;br&gt;
&amp;gt; highly&lt;br&gt;
&amp;gt; possible a nonlinear function.&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; p=LSQCURVEFIT(f,p0,XYDATA,ZDATA) should be able to solve this&lt;br&gt;
&amp;gt; problem.&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; where, p is a vector [p1, p2..]', p0 is initial guess of p.&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; XYDATA is a matrix [x1,y1&lt;br&gt;
&amp;gt; x2,y2&lt;br&gt;
&amp;gt; .....&lt;br&gt;
&amp;gt; xn,yn]&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; ZDATA is a vector [z1, z2...zn]'&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; Please let us know how it works&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; Rentian&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; &quot;Peter Spellucci&quot;&lt;br&gt;
&amp;lt;spellucci@fb04373.mathematik.tu-darmstadt.de&amp;gt;&lt;br&gt;
&amp;gt; wrote in&lt;br&gt;
&amp;gt; message news:cnl2d2$cd5$1@fb04373.mathematik.tu-darmstadt.de...&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; In article &amp;lt;eef3579.2@webx.raydaftYaTP&amp;gt;,&lt;br&gt;
&amp;gt;&amp;gt; Sanne &amp;lt;sc_trold@hotmail.com&amp;gt; writes:&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;That is exactly what I am trying to do. My data should fit&lt;br&gt;
to&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;something like a poly of second order (parabola) and I&lt;br&gt;
could&lt;br&gt;
&amp;gt; only&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;find functions (polyfit) which could do it in 2D&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;Teddy Hsung wrote:&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; My understanding to you question is that you have a&lt;br&gt;
known form&lt;br&gt;
&amp;gt; of&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; function&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; with some unknown parameters. And you have bunch of 3D&lt;br&gt;
data.&lt;br&gt;
&amp;gt; You&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; want to fit&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; those data to get the parameters??&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; If so, the optimization toolbox can help you out. If&lt;br&gt;
you can&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; provide more&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; details, I would be happy to give it a try.&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; Rentian&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; &quot;Sanne Christensen&quot; &amp;lt;sc_trold@hotmail.com&amp;gt; wrote&lt;br&gt;
in message&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; news:eef3579.-1@webx.raydaftYaTP...&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; I'm pretty new in the Matlab-world. How do I make&lt;br&gt;
curve&lt;br&gt;
&amp;gt; fitting&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; on a&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; 3D data set (x, y, z)? Do I need a special toolbox&lt;br&gt;
for it?&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; Thanx for your help :)&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; Sanne&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; as long as only a polynomial model is to used, \ alone will do&lt;br&gt;
&amp;gt; the job for&lt;br&gt;
&amp;gt;&amp;gt; you&lt;br&gt;
&amp;gt;&amp;gt; otherwise you will need lsqcurvefit from the optimization&lt;br&gt;
&amp;gt; toolbox.&lt;br&gt;
&amp;gt;&amp;gt; but ... (x,y,z) -data: and &quot;curvefitting&quot; you mean indeed a&lt;br&gt;
&amp;gt; curve?&lt;br&gt;
&amp;gt;&amp;gt; not a surface? and then: which model do you have for that&lt;br&gt;
curve?&lt;br&gt;
&amp;gt;&amp;gt; parametric : (a+b*t+c*t^2 ; d+e*t+f*t^2; g+h*t+i*t^2) with&lt;br&gt;
&amp;gt;&amp;gt; t the curve parameter (how to get this?) or implicit:&lt;br&gt;
&amp;gt;&amp;gt; (intersection of two surfaces)&lt;br&gt;
&amp;gt;&amp;gt; a(i)+b(i)*x+c(i)*y+d(i)*x^2+e(i)*x*y+f(i)*y^2=0 i=1,2&lt;br&gt;
&amp;gt;&amp;gt; plus some normalization constraints?&lt;br&gt;
&amp;gt;&amp;gt; hth&lt;br&gt;
&amp;gt;&amp;gt; peter&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;</description>
    </item>
    <item>
      <pubDate>Wed, 24 Nov 2004 15:47:46 -0500</pubDate>
      <title>Re: Curve fitting a 3D data set</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/81191#207956</link>
      <author>Sanne Christensen</author>
      <description>Yes - I do mean a curve (when my programme is done it has to&lt;br&gt;
represent a rib of a pig) :) I have looked at the lsqcurvefit, but it&lt;br&gt;
seems that it also only utilises 2D data sets? (or have I missed&lt;br&gt;
something? ;o))&lt;br&gt;
&lt;br&gt;
/Sanne&lt;br&gt;
&lt;br&gt;
Peter Spellucci wrote:&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; In article &amp;lt;eef3579.2@webx.raydaftYaTP&amp;gt;,&lt;br&gt;
&amp;gt; Sanne &amp;lt;sc_trold@hotmail.com&amp;gt; writes:&lt;br&gt;
&amp;gt; &amp;gt;That is exactly what I am trying to do. My data should fit to&lt;br&gt;
&amp;gt; &amp;gt;something like a poly of second order (parabola) and I could&lt;br&gt;
only&lt;br&gt;
&amp;gt; &amp;gt;find functions (polyfit) which could do it in 2D&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt;Teddy Hsung wrote:&lt;br&gt;
&amp;gt; &amp;gt;&amp;gt;&lt;br&gt;
&amp;gt; &amp;gt;&amp;gt;&lt;br&gt;
&amp;gt; &amp;gt;&amp;gt; My understanding to you question is that you have a known&lt;br&gt;
form&lt;br&gt;
&amp;gt; of&lt;br&gt;
&amp;gt; &amp;gt;&amp;gt; function&lt;br&gt;
&amp;gt; &amp;gt;&amp;gt; with some unknown parameters. And you have bunch of 3D&lt;br&gt;
data.&lt;br&gt;
&amp;gt; You&lt;br&gt;
&amp;gt; &amp;gt;&amp;gt; want to fit&lt;br&gt;
&amp;gt; &amp;gt;&amp;gt; those data to get the parameters??&lt;br&gt;
&amp;gt; &amp;gt;&amp;gt;&lt;br&gt;
&amp;gt; &amp;gt;&amp;gt; If so, the optimization toolbox can help you out. If you&lt;br&gt;
can&lt;br&gt;
&amp;gt; &amp;gt;&amp;gt; provide more&lt;br&gt;
&amp;gt; &amp;gt;&amp;gt; details, I would be happy to give it a try.&lt;br&gt;
&amp;gt; &amp;gt;&amp;gt;&lt;br&gt;
&amp;gt; &amp;gt;&amp;gt; Rentian&lt;br&gt;
&amp;gt; &amp;gt;&amp;gt;&lt;br&gt;
&amp;gt; &amp;gt;&amp;gt; &quot;Sanne Christensen&quot; &amp;lt;sc_trold@hotmail.com&amp;gt; wrote in&lt;br&gt;
message&lt;br&gt;
&amp;gt; &amp;gt;&amp;gt; news:eef3579.-1@webx.raydaftYaTP...&lt;br&gt;
&amp;gt; &amp;gt;&amp;gt;&amp;gt; I'm pretty new in the Matlab-world. How do I make&lt;br&gt;
curve&lt;br&gt;
&amp;gt; fitting&lt;br&gt;
&amp;gt; &amp;gt;&amp;gt; on a&lt;br&gt;
&amp;gt; &amp;gt;&amp;gt;&amp;gt; 3D data set (x, y, z)? Do I need a special toolbox for&lt;br&gt;
it?&lt;br&gt;
&amp;gt; &amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt; &amp;gt;&amp;gt;&amp;gt; Thanx for your help :)&lt;br&gt;
&amp;gt; &amp;gt;&amp;gt;&amp;gt; Sanne&lt;br&gt;
&amp;gt; &amp;gt;&amp;gt;&lt;br&gt;
&amp;gt; &amp;gt;&amp;gt;&lt;br&gt;
&amp;gt; &amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; as long as only a polynomial model is to used, \ alone will do the&lt;br&gt;
&amp;gt; job for you&lt;br&gt;
&amp;gt; otherwise you will need lsqcurvefit from the optimization toolbox.&lt;br&gt;
&amp;gt; but ... (x,y,z) -data: and &quot;curvefitting&quot; you mean indeed a curve?&lt;br&gt;
&amp;gt; not a surface? and then: which model do you have for that curve?&lt;br&gt;
&amp;gt; parametric : (a+b*t+c*t^2 ; d+e*t+f*t^2; g+h*t+i*t^2) with&lt;br&gt;
&amp;gt; t the curve parameter (how to get this?) or implicit:&lt;br&gt;
&amp;gt; (intersection of two surfaces)&lt;br&gt;
&amp;gt; a(i)+b(i)*x+c(i)*y+d(i)*x^2+e(i)*x*y+f(i)*y^2=0 i=1,2&lt;br&gt;
&amp;gt; plus some normalization constraints?&lt;br&gt;
&amp;gt; hth&lt;br&gt;
&amp;gt; peter&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;</description>
    </item>
    <item>
      <pubDate>Thu, 25 Nov 2004 13:58:50 -0500</pubDate>
      <title>Re: Curve fitting a 3D data set</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/81191#208077</link>
      <author>spellucci@fb04373.mathematik.tu-darmstadt.de (Peter Spellucci)</author>
      <description>&lt;br&gt;
In article &amp;lt;eef3579.7@webx.raydaftYaTP&amp;gt;,&lt;br&gt;
&amp;nbsp;&quot;Sanne Christensen&quot; &amp;lt;sc_trold@hotmail.com&amp;gt; writes:&lt;br&gt;
&amp;nbsp;&amp;gt;Newsgroups: comp.soft-sys.matlab&lt;br&gt;
&amp;nbsp;&amp;gt;Subject: Re: Curve fitting a 3D data set&lt;br&gt;
&amp;nbsp;&amp;gt; Message-ID: &amp;lt;eef3579.7@webx.raydaftYaTP&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;gt;Date: Wed, 24 Nov 2004 15:47:46 -0500&lt;br&gt;
&amp;nbsp;&amp;gt;References: &amp;lt;eef3579.-1@webx.raydaftYaTP&amp;gt; &amp;lt;cnjb5n$guv$1@news-int2.gatech.edu&amp;gt; &amp;lt;eef3579.2@webx.raydaftYaTP&amp;gt; &amp;lt;cnl2d2$cd5$1@fb04373.mathematik.tu-darmstadt.de&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;gt;Lines: 70&lt;br&gt;
&amp;nbsp;&amp;gt;NNTP-Posting-Host: 83.88.75.69&lt;br&gt;
&amp;nbsp;&amp;gt;MIME-Version: 1.0&lt;br&gt;
&amp;nbsp;&amp;gt;Content-Type: text/plain; charset=&quot;ISO-8859-1&quot;&lt;br&gt;
&amp;nbsp;&amp;gt;Content-Transfer-Encoding: 8bit&lt;br&gt;
&amp;nbsp;&amp;gt;Xref: news.tu-darmstadt.de comp.soft-sys.matlab:244487&lt;br&gt;
&amp;nbsp;&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;gt;Yes - I do mean a curve (when my programme is done it has to&lt;br&gt;
&amp;nbsp;&amp;gt;represent a rib of a pig) :) I have looked at the lsqcurvefit, but it&lt;br&gt;
&amp;nbsp;&amp;gt;seems that it also only utilises 2D data sets? (or have I missed&lt;br&gt;
&amp;nbsp;&amp;gt;something? ;o))&lt;br&gt;
&amp;nbsp;&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;gt;/Sanne&lt;br&gt;
&lt;br&gt;
the name sounds like 2D, but it can do curve fitting in 3D. &lt;br&gt;
hth&lt;br&gt;
peter&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;gt;Peter Spellucci wrote:&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt; In article &amp;lt;eef3579.2@webx.raydaftYaTP&amp;gt;,&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt; Sanne &amp;lt;sc_trold@hotmail.com&amp;gt; writes:&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt; &amp;gt;That is exactly what I am trying to do. My data should fit to&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt; &amp;gt;something like a poly of second order (parabola) and I could&lt;br&gt;
&amp;nbsp;&amp;gt;only&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt; &amp;gt;find functions (polyfit) which could do it in 2D&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt; &amp;gt;&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt; &amp;gt;Teddy Hsung wrote:&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt; &amp;gt;&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt; &amp;gt;&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt; &amp;gt;&amp;gt; My understanding to you question is that you have a known&lt;br&gt;
&amp;nbsp;&amp;gt;form&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt; of&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt; &amp;gt;&amp;gt; function&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt; &amp;gt;&amp;gt; with some unknown parameters. And you have bunch of 3D&lt;br&gt;
&amp;nbsp;&amp;gt;data.&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt; You&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt; &amp;gt;&amp;gt; want to fit&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt; &amp;gt;&amp;gt; those data to get the parameters??&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt; &amp;gt;&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt; &amp;gt;&amp;gt; If so, the optimization toolbox can help you out. If you&lt;br&gt;
&amp;nbsp;&amp;gt;can&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt; &amp;gt;&amp;gt; provide more&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt; &amp;gt;&amp;gt; details, I would be happy to give it a try.&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt; &amp;gt;&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt; &amp;gt;&amp;gt; Rentian&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt; &amp;gt;&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &quot;Sanne Christensen&quot; &amp;lt;sc_trold@hotmail.com&amp;gt; wrote in&lt;br&gt;
&amp;nbsp;&amp;gt;message&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt; &amp;gt;&amp;gt; news:eef3579.-1@webx.raydaftYaTP...&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; I'm pretty new in the Matlab-world. How do I make&lt;br&gt;
&amp;nbsp;&amp;gt;curve&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt; fitting&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt; &amp;gt;&amp;gt; on a&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; 3D data set (x, y, z)? Do I need a special toolbox for&lt;br&gt;
&amp;nbsp;&amp;gt;it?&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; Thanx for your help :)&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; Sanne&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt; &amp;gt;&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt; &amp;gt;&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt; &amp;gt;&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt; as long as only a polynomial model is to used, \ alone will do the&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt; job for you&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt; otherwise you will need lsqcurvefit from the optimization toolbox.&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt; but ... (x,y,z) -data: and &quot;curvefitting&quot; you mean indeed a curve?&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt; not a surface? and then: which model do you have for that curve?&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt; parametric : (a+b*t+c*t^2 ; d+e*t+f*t^2; g+h*t+i*t^2) with&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt; t the curve parameter (how to get this?) or implicit:&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt; (intersection of two surfaces)&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt; a(i)+b(i)*x+c(i)*y+d(i)*x^2+e(i)*x*y+f(i)*y^2=0 i=1,2&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt; plus some normalization constraints?&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt; hth&lt;br&gt;
&amp;nbsp;&amp;gt; &amp;gt; peter&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;gt;&amp;gt; </description>
    </item>
    <item>
      <pubDate>Thu, 25 Nov 2004 11:49:59 -0500</pubDate>
      <title>Re: Curve fitting a 3D data set</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/81191#208122</link>
      <author>Paolo Benetti</author>
      <description>Sanne Christensen wrote:&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; I'm pretty new in the Matlab-world. How do I make curve fitting on&lt;br&gt;
&amp;gt; a&lt;br&gt;
&amp;gt; 3D data set (x, y, z)? Do I need a special toolbox for it?&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; Thanx for your help :)&lt;br&gt;
&amp;gt; Sanne&lt;br&gt;
&lt;br&gt;
Dear Sanne,&lt;br&gt;
I think we're working on the same problem.&lt;br&gt;
I got a set of 3D points in Cartesian coordinates and I want to find&lt;br&gt;
the equation of the paraboloid that describes these points. It would&lt;br&gt;
be an antenna. If I have some interesting news about it I'll tell&lt;br&gt;
you, hoping you'll do the same!&lt;br&gt;
&lt;br&gt;
Paolo</description>
    </item>
    <item>
      <pubDate>Fri, 26 Nov 2004 03:59:03 -0500</pubDate>
      <title>Re: Curve fitting a 3D data set</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/81191#208204</link>
      <author>Sanne Christensen</author>
      <description>Hi Paolo&lt;br&gt;
&lt;br&gt;
I've scipped using the lsqcurve with x, y, z - it just wouldn't work&lt;br&gt;
for me. Instead I'm using polyfit (I could also use lsqcurve) on x, y&lt;br&gt;
and x, z respectively so I get two curves in a 2D coordinate system.&lt;br&gt;
Then i project one of the curves onto the other and this way I get my&lt;br&gt;
final curve in a 3D coordinate system. I've heard that there are ways&lt;br&gt;
to do it in 3D in Matlab, but I have a deadline coming up and&lt;br&gt;
therefore I don't have time to figure out how to do it :)&lt;br&gt;
&lt;br&gt;
/Sanne&lt;br&gt;
&lt;br&gt;
Paolo Benetti wrote:&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; Sanne Christensen wrote:&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; I'm pretty new in the Matlab-world. How do I make curve fitting&lt;br&gt;
&amp;gt; on&lt;br&gt;
&amp;gt;&amp;gt; a&lt;br&gt;
&amp;gt;&amp;gt; 3D data set (x, y, z)? Do I need a special toolbox for it?&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; Thanx for your help :)&lt;br&gt;
&amp;gt;&amp;gt; Sanne&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; Dear Sanne,&lt;br&gt;
&amp;gt; I think we're working on the same problem.&lt;br&gt;
&amp;gt; I got a set of 3D points in Cartesian coordinates and I want to&lt;br&gt;
&amp;gt; find&lt;br&gt;
&amp;gt; the equation of the paraboloid that describes these points. It&lt;br&gt;
&amp;gt; would&lt;br&gt;
&amp;gt; be an antenna. If I have some interesting news about it I'll tell&lt;br&gt;
&amp;gt; you, hoping you'll do the same!&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; Paolo</description>
    </item>
    <item>
      <pubDate>Tue, 30 Nov 2004 06:40:23 -0500</pubDate>
      <title>Re: Curve fitting a 3D data set</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/81191#208719</link>
      <author>manfred</author>
      <description>try the following:&lt;br&gt;
&lt;br&gt;
%suppose my data is a 512x512 double array.&lt;br&gt;
&lt;br&gt;
%first define a linear grid&lt;br&gt;
x=linspace(-1,1,512);&lt;br&gt;
[x,z]=meshgrid(x,x);&lt;br&gt;
x=x(:);z=z(:);&lt;br&gt;
&lt;br&gt;
A=[x.^2,z.^2,x,z,ones(length(x),1)];&lt;br&gt;
C=data(:)'/A';&lt;br&gt;
% C gives coefficients for 3D parabola&lt;br&gt;
&lt;br&gt;
% data, corrected for parabola:&lt;br&gt;
delta=data(:) - (C*A')';&lt;br&gt;
datacorr=reshape(delta,512,512);&lt;br&gt;
&lt;br&gt;
%do some plotting:&lt;br&gt;
figure;imagesc(data-datacorr);&lt;br&gt;
&lt;br&gt;
-Manfred.&lt;br&gt;
&lt;br&gt;
Sanne Christensen wrote:&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; Hi Paolo&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; I've scipped using the lsqcurve with x, y, z - it just wouldn't&lt;br&gt;
&amp;gt; work&lt;br&gt;
&amp;gt; for me. Instead I'm using polyfit (I could also use lsqcurve) on x,&lt;br&gt;
&amp;gt; y&lt;br&gt;
&amp;gt; and x, z respectively so I get two curves in a 2D coordinate&lt;br&gt;
&amp;gt; system.&lt;br&gt;
&amp;gt; Then i project one of the curves onto the other and this way I get&lt;br&gt;
&amp;gt; my&lt;br&gt;
&amp;gt; final curve in a 3D coordinate system. I've heard that there are&lt;br&gt;
&amp;gt; ways&lt;br&gt;
&amp;gt; to do it in 3D in Matlab, but I have a deadline coming up and&lt;br&gt;
&amp;gt; therefore I don't have time to figure out how to do it :)&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; /Sanne&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; Paolo Benetti wrote:&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; Sanne Christensen wrote:&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; I'm pretty new in the Matlab-world. How do I make curve&lt;br&gt;
&amp;gt; fitting&lt;br&gt;
&amp;gt;&amp;gt; on&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; a&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; 3D data set (x, y, z)? Do I need a special toolbox for it?&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; Thanx for your help :)&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; Sanne&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; Dear Sanne,&lt;br&gt;
&amp;gt;&amp;gt; I think we're working on the same problem.&lt;br&gt;
&amp;gt;&amp;gt; I got a set of 3D points in Cartesian coordinates and I want to&lt;br&gt;
&amp;gt;&amp;gt; find&lt;br&gt;
&amp;gt;&amp;gt; the equation of the paraboloid that describes these points. It&lt;br&gt;
&amp;gt;&amp;gt; would&lt;br&gt;
&amp;gt;&amp;gt; be an antenna. If I have some interesting news about it I'll&lt;br&gt;
tell&lt;br&gt;
&amp;gt;&amp;gt; you, hoping you'll do the same!&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; Paolo</description>
    </item>
    <item>
      <pubDate>Thu, 15 Nov 2007 23:22:14 -0500</pubDate>
      <title>Re: Curve fitting a 3D data set</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/81191#401588</link>
      <author>John </author>
      <description>I've been trying to implement this method but I'm having&lt;br&gt;
some problems.  I think I've written the function I'm&lt;br&gt;
fitting to incorrectly.  I'm trying to do a global fit to a&lt;br&gt;
data set that I have previously fit by non-globally.  This&lt;br&gt;
is the error I get:&lt;br&gt;
&lt;br&gt;
??? Error using ==&amp;gt; optim/private/lsqncommon at 131&lt;br&gt;
Function value and YDATA sizes are incommensurate.&lt;br&gt;
&lt;br&gt;
my function call is as such:&lt;br&gt;
[x,resnorm,residual,exitflag,output,lambda,jacobian] =&lt;br&gt;
lsqcurvefit(@globfun,x_init,Time_Tot',cleanex.data',lb,ub);&lt;br&gt;
&lt;br&gt;
where @globfun is:&lt;br&gt;
function F = globfun(xy,xydata)&lt;br&gt;
F(1) =&lt;br&gt;
xy(2)*(exp(xy(1)*xydata(1))-exp(-(xy(2)+xy(3))*xydata(1)))/(xy(2)+xy(3)-xy(1))&lt;br&gt;
F(2) =&lt;br&gt;
xy(4)*(exp(xy(1)*xydata(2))-exp(-(xy(4)+xy(5))*xydata(2)))/(xy(4)+xy(5)-xy(1))&lt;br&gt;
F(3) =&lt;br&gt;
xy(6)*(exp(xy(1)*xydata(3))-exp(-(xy(6)+xy(7))*xydata(3)))/(xy(6)+xy(7)-xy(1))&lt;br&gt;
...&lt;br&gt;
&lt;br&gt;
Time_Tot and cleanex.data are both m by n matrices&lt;br&gt;
Before my error I get the following cycle:&lt;br&gt;
F = 0.7506&lt;br&gt;
F = 0.7506    0.0248&lt;br&gt;
F = 0.7506    0.0248    0.3464&lt;br&gt;
...&lt;br&gt;
&lt;br&gt;
Where in the non-global (2D) case I would get a series of&lt;br&gt;
column vectors that would approach cleanex.data(:,i) with&lt;br&gt;
each cycle.  Why is it iterating through the individual&lt;br&gt;
functions instead of fitting the system?&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&quot;Teddy Hsung&quot; &amp;lt;gtg101p@mail.gatech.edu&amp;gt; wrote in message&lt;br&gt;
&amp;lt;cnl63d$bbt$1@news-int2.gatech.edu&amp;gt;...&lt;br&gt;
&amp;gt; I guess his problem can be formulated like this:&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; z1 = f(x1, y1, p1,p2...)&lt;br&gt;
&amp;gt; z2 = f(x2, y2, p1,p2...)&lt;br&gt;
&amp;gt; .&lt;br&gt;
&amp;gt; .&lt;br&gt;
&amp;gt; .&lt;br&gt;
&amp;gt; zn = f(xn, yn, p1,p2...)&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; where f is a known form of function. p1,p2... are the&lt;br&gt;
parameters that he &lt;br&gt;
&amp;gt; wants to estimate.&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; \ (slash) function probably won't work because his&lt;br&gt;
function is highly &lt;br&gt;
&amp;gt; possible a nonlinear function.&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; p=LSQCURVEFIT(f,p0,XYDATA,ZDATA) should be able to solve&lt;br&gt;
this problem.&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; where, p is a vector [p1, p2..]', p0 is initial guess of p.&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; XYDATA is a matrix [x1,y1&lt;br&gt;
&amp;gt;                     x2,y2&lt;br&gt;
&amp;gt;                     .....&lt;br&gt;
&amp;gt;                     xn,yn]&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; ZDATA is a vector  [z1, z2...zn]'&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; Please let us know how it works&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; Rentian&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; </description>
    </item>
  </channel>
</rss>

