Developing an arbitrary form of equation from parameters and data

1 view (last 30 days)
Hi, ..., Although Matlab is capable of calculating the equation between data, I am wondering if there is anyway to dictate Matlab to develop our own form of equation like f=-1+(N/Nmax)^q+T/Tmax)^r? Given that N, Nmax, T, and Tmax are known and they are not a single point but a series of data, how q and r can be calculated for the best fit to the equation?
Thanks, Cyrus
  2 Comments
dpb
dpb on 3 Mar 2014
Look for the section "Curve Fitting via Optimization" in the documentation under Matlab/Mathematics/Optimization. It gives an example.
If you have the Optimization and/or Curve Fitting toolboxen there are additional tools therein.
Walter Roberson
Walter Roberson on 15 Mar 2014
Cyrus commented "Thanks mate, your comment was so helpful. Cyrus."

Sign in to comment.

Accepted Answer

Star Strider
Star Strider on 3 Mar 2014
If N, Nmax, and T are vectors, you first need to use meshgrid to convert them to matrices with the appropriate orientations. Then you can use nlinfit or lsqcurvefit to do the regression. There is an example here for fitting a surface. You can expand it to your problem.
You can also experiment with the more general Statistical Toolbox functions listed under Nonlinear Models.

More Answers (0)

Categories

Find more on Oceanography and Hydrology in Help Center and File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!