problem solving nonlinear equation system with fsolve

2 visualizaciones (últimos 30 días)
Peter Uwsen
Peter Uwsen el 4 de Mzo. de 2019
Respondida: Alex Sha el 22 de Abr. de 2019
Hi,
I'm trying to solve the following equation system
P = 1;
lambda = 1;
Maugis = @(X) [lambda*X(1)^2/2*(sqrt(X(3)^2-1)+(X(3)^2-2)*atan(sqrt(X(3)^2-1)))
+4/3*lambda^2*X(1)*(sqrt(X(3)^2-1)*atan(sqrt(X(3)^2-1))-X(3)+1)-1;
X(1)^2-4/3*X(1)*lambda*sqrt(X(3)^2-1)-X(2);
X(1)^3-lambda*X(1)^2*(sqrt(X(3)^2-1)+X(3)^2*atan(sqrt(X(3)^2-1)))-P];
X0 = [1;1;1];
sol = fsolve(Maugis,X0);
but did not succeed using fsolve:
Warning: Trust-region-dogleg algorithm of FSOLVE cannot handle non-square systems; using Levenberg-Marquardt algorithm
instead.
> In fsolve (line 298)
In solve_equs (line 8)
No solution found.
fsolve stopped because the last step was ineffective. However, the vector of function
values is not near zero, as measured by the default value of the function tolerance.
<stopping criteria details>
I'm happy for any help!

Respuesta aceptada

Torsten
Torsten el 4 de Mzo. de 2019
Try
Maugis = @(X) [lambda*X(1)^2/2*(sqrt(X(3)^2-1)+(X(3)^2-2)*atan(sqrt(X(3)^2-1)))+4/3*lambda^2*X(1)*(sqrt(X(3)^2-1)*atan(sqrt(X(3)^2-1))-X(3)+1)-1;...
X(1)^2-4/3*X(1)*lambda*sqrt(X(3)^2-1)-X(2);...
X(1)^3-lambda*X(1)^2*(sqrt(X(3)^2-1)+X(3)^2*atan(sqrt(X(3)^2-1)))-P];
Best wishes
Torsten.

Más respuestas (1)

Alex Sha
Alex Sha el 22 de Abr. de 2019
here are solutions:
x1: 1.80929329243556
x2: 1.67586180846898
x3: 1.19942316545143

Categorías

Más información sobre Systems of Nonlinear Equations 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!

Translated by