Can anyone help me code the fsolve equivalent in C/C++?

16 views (last 30 days)
Hello,
Off-lately, i have been working on some code which requires conversion of MATLAB's "fsolve" function into C/C++. Although, i am pretty aware that MATLAB's fsolve is speed efficient and requires no more tuning to get to the kernel level language. But, there is some application i am working on which requires the fsolve calculations to be done at kernel level and hence C/C++ or any UNIX/LINUX base shell script would do.
Please let me know if i am unclear or do write in case of any doubts or if some solution already exists and i am unaware. (coz, i already searched a lot on the internet and i wasn't able to.
Regards, Pratik
  2 Comments
Walter Roberson
Walter Roberson on 13 May 2015
You need to specify which of the Algorithms you are invoking, and whether you are supplying your own Jacobian
Pratik Bajaria
Pratik Bajaria on 14 May 2015
@Walter Roberson @Jan Simson
I am working with global solutions. In particular, the solutions that are independent of the initial conditions. So, i did some research and found that Levenberg-marquedt algorithm or Trust region algorithm could help. But, i am unable to find the equivalents on the internet, maybe i am searching it wrong. Could you guide me on what algorithm suites best to finding a global solution which are initial condition independent.
Regards, Pratik

Sign in to comment.

Answers (1)

Jan
Jan on 13 May 2015
Did you read the documentation of fsolve? This is a quite huge function using a lot of different options, methods and strategies. Look at the list of publications on the bottom. Mathworks does not publish the source code of their implementation, but you can find C code for all methods in the net. It would be an overkill to implement the complete fsolve, so start with finding out, which algorithm is required for the problems you are working with.

Tags

Community Treasure Hunt

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

Start Hunting!