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(최근 30일)
Sean
Sean 2021년 3월 23일
편집: Sean 2021년 3월 30일
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.

채택된 답변

Shashank Gupta
Shashank Gupta 2021년 3월 25일
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.

추가 답변(0개)

Community Treasure Hunt

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

Start Hunting!

Translated by