Dealing with a nonlinear system of equations.

Click For Summary

Discussion Overview

The discussion revolves around solving a nonlinear system of equations related to eliminating harmonics in a power inverter. Participants explore various methods and approaches to tackle the problem, which involves 11 simultaneous equations derived from Fourier coefficients.

Discussion Character

  • Homework-related, Exploratory, Technical explanation, Debate/contested

Main Points Raised

  • The original poster describes their attempts to solve an 11x11 nonlinear system using Excel's Solver and Scilab's fsolve, both of which were unsuccessful.
  • Some participants inquire about relevant literature, specifically papers published by IEEE, that could provide additional insights or methods for solving the system.
  • One participant suggests that a different inverter design, such as an H bridge or a multi-phase inverter, could offer better harmonic suppression and flexibility.
  • Another participant proposes transforming the equations into polynomial form by using trigonometric identities, which may simplify the problem and allow for different solution methods, including software like Mathcad or Maple.
  • A suggestion is made to generate all possible angle combinations within a specified range and refine the search for solutions based on performance metrics.

Areas of Agreement / Disagreement

Participants express differing views on the best approach to solving the nonlinear system, with no consensus reached on a single method or solution. Various strategies are proposed, but the effectiveness of each remains uncertain.

Contextual Notes

The discussion highlights the complexity of the nonlinear equations and the potential for multiple methods to yield different results. The limitations of the initial attempts and the dependence on specific mathematical transformations are acknowledged but not resolved.

Who May Find This Useful

This discussion may be useful for individuals working on power electronics, particularly those interested in harmonic elimination techniques and nonlinear equation solving methods.

1f5
Messages
12
Reaction score
1

Homework Statement



Hello everyone.

I'm trying to solve a non linear 11x11 system. (for eliminate harmonics in a power inversor)
I used Excel's Solver but it didn't work. (Solver couldn't solve the system). Then I found fsolve (a scilab function) but again it didn't work
I will attach the code used.

Homework Equations




The system is:

cos(na)-cos(nb)+cos(nc)-cos(nd)+cos(ne)-cos(nf)+cos(ng)-cos(nh)+cos(ni)-cos(nj)+cos(nk)=0
The letters are the unknown angles which are desired.
n represent the number of the harmonic because harmonics 3rd, 5th, 7th, 9th,11th, 13th, 15th, 17th, 19th, 21st, 23rd must be eliminated. They are 11 angles so there are 11 simultaneous equations to solve to find the angles which can eliminate those harmonics.

Who knows another method to solve the system?


The Attempt at a Solution



When i change the initial value in the script i got different solutions, when i substitute I found out that solution is actually false.

code used in Scilab:




clear
function t1 = system (a)
fa(1)= cosd(3*a(1)) - cosd(3*a(2)) + cosd(3*a(3))- cosd(3*a(4))+ cosd(3*a(5))-cosd(3*a(6))+ cosd(3*a(7))-cosd(3*a(8))+cosd(3*a(9))- cosd(3*a(10))+cosd(3*a(11));
fa(2)= cosd(5*a(1)) - cosd(5*a(2)) + cosd(5*a(3))- cosd(5*a(4))+ cosd(5*a(5))-cosd(5*a(6))+ cosd(5*a(7))-cosd(5*a(8))+cosd(5*a(9))- cosd(5*a(10))+cosd(5*a(11));
fa(3)= cosd(7*a(1)) - cosd(7*a(2)) + cosd(7*a(3))- cosd(7*a(4))+ cosd(7*a(5))-cosd(7*a(6))+ cosd(7*a(7))-cosd(7*a(8))+cosd(7*a(9))- cosd(7*a(10))+cosd(7*a(11));
fa(4)= cosd(9*a(1)) - cosd(9*a(2)) + cosd(9*a(3))- cosd(9*a(4))+ cosd(9*a(5))-cosd(9*a(6))+ cosd(9*a(7))-cosd(9*a(8))+cosd(9*a(9))- cosd(9*a(10))+cosd(9*a(11));
fa(5)= cosd(11*a(1)) - cosd(11*a(2)) + cosd(11*a(3))- cosd(11*a(4))+ cosd(11*a(5))-cosd(11*a(6))+ cosd(11*a(7))-cosd(11*a(8))+cosd(11*a(9))- cosd(11*a(10))+cosd(11*a(11));
fa(6)= cosd(13*a(1)) - cosd(13*a(2)) + cosd(13*a(3))- cosd(13*a(4))+ cosd(13*a(5))-cosd(13*a(6))+ cosd(13*a(7))-cosd(13*a(8))+cosd(13*a(9))- cosd(13*a(10))+cosd(13*a(11));
fa(7)= cosd(15*a(1)) - cosd(15*a(2)) + cosd(15*a(3))- cosd(15*a(4))+ cosd(15*a(5))-cosd(15*a(6))+ cosd(15*a(7))-cosd(15*a(8))+cosd(15*a(9))- cosd(15*a(10))+cosd(15*a(11));
fa(8)= cosd(17*a(1)) - cosd(17*a(2)) + cosd(17*a(3))- cosd(17*a(4))+ cosd(17*a(5))-cosd(17*a(6))+ cosd(17*a(7))-cosd(17*a(8))+cosd(17*a(9))- cosd(17*a(10))+cosd(17*a(11));
fa(9)= cosd(19*a(1)) - cosd(19*a(2)) + cosd(19*a(3))- cosd(19*a(4))+ cosd(19*a(5))-cosd(19*a(6))+ cosd(19*a(7))-cosd(19*a(8))+cosd(19*a(9))- cosd(19*a(10))+cosd(19*a(11));
fa(10)= cosd(21*a(1)) - cosd(21*a(2)) + cosd(21*a(3))- cosd(21*a(4))+ cosd(21*a(5))-cosd(21*a(6))+ cosd(21*a(7))-cosd(21*a(8))+cosd(21*a(9))- cosd(21*a(10))+cosd(21*a(11));
fa(11)= cosd(23*a(1)) - cosd(23*a(2)) + cosd(23*a(3))- cosd(23*a(4))+ cosd(23*a(5))-cosd(23*a(6))+ cosd(23*a(7))-cosd(23*a(8))+cosd(23*a(9))- cosd(23*a(10))+cosd(23*a(11));
endfunction

a0 = [0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1];
[ar, v, info] = fsolve(a0, system);
disp(ar)
disp(info)
 

Attachments

  • aswereqw.JPG
    aswereqw.JPG
    8.4 KB · Views: 548
Last edited:
Physics news on Phys.org
Are you familiar with the papers on this topic that have been published by the IEEE? If so, which papers do you have? I may be able to steer you to some others.
 
No, my professor gave me only the Fourier coefficients formulas, with these formulas i obtained those equations from the previous post. I solved a previous exercise with Excel (there were only 3 equations, instead of 11).

Thanks in advance.
 
Varied considerations, I just couldn't resist...

Here you've chosen a single-ended inverter, sadly for you. An H bridge would give you three voltages +V, 0, -V with more flexibility, like the 1/3 2/3 waveform that suppresses harmonics 3 9 15 21. A three-phase output would do the same for free. Needs fewer transitions per period. A multi-phase inverter, like those feeding a Cpu, does essentially the same to reduce the ripple with one transition per period on each output.

Solving the equation for c=cos(a) would make it a set of polynomial equations, which I believe to remember is solved by Mathcad or Maple. That is, cos(3a) comprises cos(a) and cos3(a) and so on for higher powers, which you find through cos(a)=[exp(j*a)+exp(-j*a)]/2. Reinjecting the lower-power equations in the higher ones would then simplify them, possibly to contain only the highest power.

You can perfectly write a dumb software that tries all possible angles. a1 to a11 are between 0° and 90° and are in strict increasing order, so if you try all even degree angles between 2° and 88° you have 3411/11! combinations or 2 billions. Precompute 11 tables of 44 angles for cos(n*a), avoid repeated computations in nested loops, and a single Cpu takes 50 cycles per trial or 30s at 3GHz, without SSE nor multicore. Take the RMS power as a fast figure of merit.

Then, refine your solution within the (2°)11 hypervolume.

More subtle, you could keep a few near-best solutions that aren't local to an other, in case the best one is technologically bad, say if the transitions are too close to an other. Or if the 2° sampling let's you miss the true best solution.

Good luck, I had spent a few thought at this dream when I was a student.
 

Similar threads

  • · Replies 7 ·
Replies
7
Views
3K
  • · Replies 5 ·
Replies
5
Views
9K
  • · Replies 10 ·
Replies
10
Views
3K
  • · Replies 8 ·
Replies
8
Views
2K
  • · Replies 12 ·
Replies
12
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 5 ·
Replies
5
Views
3K
  • · Replies 14 ·
Replies
14
Views
3K
  • · Replies 24 ·
Replies
24
Views
3K
  • · Replies 7 ·
Replies
7
Views
4K