Effacer les filtres
Effacer les filtres

Solve a nonlinear function with one variable

1 vue (au cours des 30 derniers jours)
Mohiedin Bagheri
Mohiedin Bagheri le 16 Jan 2023
Hi,
I need to solve this function using Matlab in single script:
x - x^2 + 2*{sin(x)*(x-1)} = 0
Would you be able to provide a sample code and method to do this in Matlab?
Thank you very much

Réponses (2)

KSSV
KSSV le 16 Jan 2023
syms x
eq = x - x^2 + 2*sin(x)*(x-1) == 0
eq = 
s = vpasolve(eq)
s = 
0
  1 commentaire
Mohiedin Bagheri
Mohiedin Bagheri le 16 Jan 2023
Modifié(e) : Mohiedin Bagheri le 16 Jan 2023
Thank you @KSSV for your reply.

Connectez-vous pour commenter.


Sulaymon Eshkabilov
Sulaymon Eshkabilov le 16 Jan 2023
It is quite simple to solve this exercise. Just use vpasolve(), e.g.:
syms x
Solution = vpasolve(x-x^2+2*sin(x)*(x-1)==0)
Solution = 
0
An alternative way is to try Newton-Raphson method
  2 commentaires
Mohiedin Bagheri
Mohiedin Bagheri le 16 Jan 2023
Modifié(e) : Mohiedin Bagheri le 16 Jan 2023
Thank you @Sulaymon Eshkabilov. Assueming that the solution for f1(x)-f2(x)==0 is 'x_sol' (x=0 in this case). then how would be the rest of the code look like if I want to calculate the f1(x_sol)?
Thank you again
Sulaymon Eshkabilov
Sulaymon Eshkabilov le 16 Jan 2023
if you are talking about NR method, see this explanation. You'd need to use [for .. end] or [while ... end] loop. See this link where a bunch of matlab codes and discussions of NR method.

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by