MATLAB Answers

solving for parameters which make f(x1,y1,z1​)=f(x2,y2,​z2)=f(x3,y​3,z3)...et​c, given equation f(x,y,z) is known and x,y,z are experimental values.

4 views (last 30 days)
Sean
Sean on 23 Mar 2021
Edited: Sean on 30 Mar 2021
I have an equation f(x,y,z) where for every experimental pair of x, y, and z, the value of f(x,y,z) is the same. So f(x1,y1,z1) = f(x2,y2,z2) = f(x3,y3,z3)..... etc. at these specific sets of points. They are related by some parameters which are unknown, lets say a, b, c, and d. How would I go about solving for these parameters, given that I have around 1000 sets of x, y, z pairs. f(x,y,z) is between 0 and 1. Another way to word this would be solving for the parameters which make f(x1,y1,z1) = f(x2,y2,z2)...etc
I do not know where to begin with this, and any guidance on packages / methods to look at would be greatly appreciated. I suspect I will need to use some sort of minimization methods, as there are so quite a few parameters. I have not listed the equation as it is too complex, and would only complicate the problem, but can do so if requested.

Accepted Answer

Shashank Gupta
Shashank Gupta on 25 Mar 2021
Hi Sean,
I think the best way to approach this problem is to convert them into a matrix form and depending upon the linearity of equation w.r.t parameters solve it.
So by the looks of it, the problem seems to be overdetermined system. So let's first generalised the equation.
which can also be written as,
After this there are two cases possible.
  • Let's take the first case where the equation is linear with respect to the parameters. Then the above equation can very easily be convert into format, where x is unknowns vector ([a,b,c,d] in your case) and A and B are known. these can easily be solved using least sqaure methods which is basically the pseudo inverse solution.
  • If the equation is non-linear with respect to the parameters, something of sort , then try fsolve function. It might not be the best way to deal with situation but certainly will give you an headstart.
I hope this helps.
Cheers.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!