solving system of non linear equations using fsolve by converting symbolic expressions

2 vues (au cours des 30 derniers jours)
Hi. I want to solve a system of non linear equations in 3 variables using fsolve. But the equations which i get would be in the symbolic form. My code somewhat looks like this:
%file to create equations
syms c d e x;
R=(1+(1-c-d-e+c*x^2+d*x^3+e*x^4))*(2*c+6*d*x+12*e*x^2) + (2*c*x+3*d*x^2+4*e*x^3)^2 -(1-c-d-e+c*x^2+d*x^3+e*x^4);
eq_1=int(R*x^3,x,0,1);
eq_2=int(R*x^2,x,0,1);
eq_3=int(R*x,x,0,1);
Now, I want to solve above equations using fsolve. for that i have created a separate function file, to where i copy the three equations from the command window after running this script file. what i want to know is that, is there any way to update these three equations automatically directly to the function file which i have created.
  2 commentaires
Matt J
Matt J le 5 Nov 2021
Modifié(e) : Matt J le 5 Nov 2021
First of all, they don't seem to be equations because they are not set equal to anything. Do you intend to set them equal to zero?
Secondly, eq_1 and eq_2 are identical.
Walter Roberson
Walter Roberson le 6 Nov 2021
Symbolic toolbox recognizes pure expressions with no equality in them, as implicit equality with 0. This allows you to easily do things like E = lhs(eq_1) - rhs(eq_1); fplot(E); solve(E) %solutions are places where E is 0

Connectez-vous pour commenter.

Réponse acceptée

Sulaymon Eshkabilov
Sulaymon Eshkabilov le 5 Nov 2021
Here is the solution:
syms c d e x;
R=(1+(1-c-d-e+c*x^2+d*x^3+e*x^4))*(2*c+6*d*x+12*e*x^2) + (2*c*x+3*d*x^2+4*e*x^3)^2 -(1-c-d-e+c*x^2+d*x^3+e*x^4);
eq(1)=int(R*x^3,x,0,1);
eq(2)=int(R*x^3,x,0,1);
eq(3)=int(R*x^2,x,0,1);
SOL = solve(eq==0);
c = double(SOL.c)
c =
1.0e+02 * 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0022 + 0.0000i -0.0369 - 0.0472i -0.0369 + 0.0472i 2.6212 + 0.0000i
d = double(SOL.d)
d =
1.0e+02 * 1.1092 + 0.0000i -0.2601 + 0.0000i -0.0001 + 0.0000i 0.0303 + 0.0183i 0.0303 - 0.0183i -2.2801 + 0.0000i
e = double(SOL.e)
e = 6×1
-214.8882 18.1132 0 0 0 0

Plus de réponses (0)

Catégories

En savoir plus sur Symbolic Math Toolbox dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by