How to find two variable function from scattered data?

6 views (last 30 days)
Hi everyone!
I am getting started with MatLab and I would be very grateful if you can help me. How can I find approximating function of this 3D plot?
This is plot of my data which I need to approximate. In a book, I have found that this data should be approximated with two variable polynominal like this:
How can I solve this equations with my data in matlab?
Regards, Sergiusz.

Accepted Answer

Walter Roberson
Walter Roberson on 6 Mar 2017
function Avals = approximate_f5(nbar, Z, mbar)
nbar = nbar(:); Z = Z(:); mbar = mbar(:);
nZ = length(Z);
A = [ones(nZ, 1), nbar, nbar.^2, nbar.^3, nbar.*Z, nbar.^2.*Z, nbar.*Z.^2, Z, Z.^2, Z.^3];
b = mbar;
Avals = A\b;
  9 Comments
Walter Roberson
Walter Roberson on 13 Mar 2017
Generally, you can use a From Workspace to read data in Simulink. However, Simulink does not read graphic objects, so you would have to calculate into variables instead.
Simulink generally works based on time steps, so you have to decide whether you are wanting to do these calculations and treat the results like constants for the Simulink session, or if you are wanting the values to be used somehow based upon input signals in Simulink. For example you might want to generate it all before Simulink and then use the calculated values as part of an N-D Lookup block (that is, interpolate based upon input values), or you might be looking to generate coefficients that are used in a Fcn (Arithmetic Block) or MATLAB Function Block... or you might be thinking of having Simulink read the values sequentially...
Sergiusz Lorys
Sergiusz Lorys on 13 Mar 2017
Ok, I get it. Thank you very much again! I really appreciate that!

Sign in to comment.

More Answers (0)

Categories

Find more on General Applications in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!