# Solve a nonlinear function with one variable

2 views (last 30 days)
Mohiedin Bagheri on 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

KSSV on 16 Jan 2023
syms x
eq = x - x^2 + 2*sin(x)*(x-1) == 0
eq =
s = vpasolve(eq)
s =
0
Mohiedin Bagheri on 16 Jan 2023
Edited: Mohiedin Bagheri on 16 Jan 2023

Sulaymon Eshkabilov on 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
Mohiedin Bagheri on 16 Jan 2023
Edited: Mohiedin Bagheri on 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 on 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.