Solving for unknown iteratively, guess and check
2 次查看(过去 30 天)
显示 更早的评论
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 个评论
回答(1 个)
Jonathan LeSage
2013-10-17
编辑:Jonathan LeSage
2013-10-17
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 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!