Solving a complicated non-linear equation in Simulink
    1 view (last 30 days)
  
       Show older comments
    

Is it in any way possible to solve in equation in a MATLAB function block in Simulink? The only variable is the one marked in red, all other are constants.
0 Comments
Accepted Answer
  Torsten
      
      
 on 28 Jun 2023
        
      Moved: Torsten
      
      
 on 28 Jun 2023
  
      With suitable constants c1,...,c6 and substituting x = sin(sigma_A^EC), your equation can be written as
c1*(x^2-c2) - c3*(x*c4-sqrt(1-x^2)*c5) - c6 = 0
Isolating sqrt(1-x^2) on one side of the equation and squaring gives a polynomial of degree 4 in x. The roots of this polynomial can either be solved for analytically using the "solve" command or numerically using the "root" command.
syms c1 c2 c3 c4 c5 c6 x
eqn = c1*(x^2-c2) - c3*(x*c4-sqrt(1-x^2)*c5) - c6 == 0
solve(eqn,x,'MaxDegree',4)
More Answers (0)
See Also
Categories
				Find more on Systems of Nonlinear Equations in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


