Solving for unknown iteratively, guess and check
7 views (last 30 days)
Show older comments
Hi,
I'm hoping to solve for an unknown in an equation that cann't be solved for directly. Instead, I have measured values (from data), and an equation relating my unknown to the theoretical calculated value.
I have 1000+ data points of F_measured and an equation that looks something like this
F_calc = a(b*sqrt(c*(1 - x/d)^k)) + x*e
where a, b, c, d, and k are constants and x is my unknown.
What I need to do is iterate through possible values of x until the % difference between F_calc and F_measured is < 10e-5... and x values can be quite large so thousands of tiny steps is very impractical if not impossible. Any ideas how to do this more efficiently?
0 Comments
Answers (1)
Jonathan LeSage
on 17 Oct 2013
Edited: Jonathan LeSage
on 17 Oct 2013
Perhaps a better way of formulating the problem is to solve for the zeros of the nonlinear function.
F - a*(b*sqrt(c*(1 - x/d)^k)) + x*e = 0
To learn more:
doc fzero
0 Comments
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!