How to solve rachford - race function using newton method
11 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Ruslan
el 25 de Nov. de 2024
Comentada: Ruslan
el 26 de Nov. de 2024
I am beginner in MatLab. I don't understand how to define this function. I need to find value of fRg. I have massives with values of ci and Ki.0 comentarios
Respuesta aceptada
Torsten
el 25 de Nov. de 2024
Editada: Torsten
el 25 de Nov. de 2024
Multiply the equation by product_{i=1}^{n_c} (1+f_Rg*(K_i-1)). This gives you a polynomial of degree n_c-1 in f_Rg which can be solved using the "roots" function.
Or if you are lazy, just use:
K = [3 5 -7 9 -10 2];
c = [0.4 0.6 1.2 -0.7 1.1 0.8];
syms f_Rg
fun = sum(c.*(K-1)./(1+f_Rg*(K-1)));
f_Rg_num = double(solve(fun==0,f_Rg))
But don't use Newton's method in this case because the equation has nc-1 solutions, and it were pure luck if Newton's method converged to the "correct" one.
3 comentarios
Torsten
el 26 de Nov. de 2024
Editada: Torsten
el 26 de Nov. de 2024
Your equation rewritten is a polynomial of degree n_c-1 in the variable f_Rg. A polynomial can have real and complex roots. A value for the "i" component in the solution for f_Rg_num that is different from 0 indicates complex roots. You will have to sort out the "correct" solution for your case from the n_c-1 solutions returned.
Más respuestas (0)
Ver también
Categorías
Más información sobre Symbolic Math Toolbox en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!