Why this algorithm work only for 4 equations ?

This algorithm solves n non linear equations for n variables. And it is working only for n=4. I cant find why, if anyone can help please ?

Answers (1)

Your checkResult function is returning something insufficiently close to zero. Given that it seems to be comparing the result from fsolve with some kind of analytic solution, the only conclusion I can make is that your analytic solution doesn't make the function in myObjectiveFunction. You can easily check the solution returned by fsolve by evaluating myObjectiveFunction with it (you can also get the function value back as a second output from fsolve). It's pretty much 0 for n = 3 and n = 5, but n = 6 didn't converge (too many function calls).
So either myObjectiveFunction or the analytic solution in checkResult is not giving the value you expect. Without knowing the math of what you're trying to do, it's impossible to know what the exact problem is. Do you have some known values you can evaluate these for and check that they give the values you expect?

1 Comment

Yes I have the known values for n=4 and the program is giving the correct answers for n=4. The prog I already sent is useful in the triphase inverter.
Please find attached another program for the single-phase inverter very close to the previous one but working for all n !!! And I couldnt know why.
Thank you.

This question is closed.

Asked:

on 22 Oct 2014

Closed:

on 20 Aug 2021

Community Treasure Hunt

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

Start Hunting!