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

2 Ansichten (letzte 30 Tage)
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 Kommentare
Matt J
Matt J am 5 Nov. 2021
Bearbeitet: Matt J am 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 am 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

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Sulaymon Eshkabilov
Sulaymon Eshkabilov am 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

Weitere Antworten (0)

Kategorien

Mehr zu Symbolic Math Toolbox finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by