Solving a simple equation
Mostra commenti meno recenti
I have a function that can not be simplified further that goes something like this
0 = (1+exp(x))/(1+exp(-x))
(Simplified, my function is much longer and convoluted. The point is that I can't just write it as 'x = ...')
How can Matlab approximate this equation by choosing a good value for x? What is the command for this?
Risposta accettata
Più risposte (1)
Ben Mitch
il 25 Mag 2011
You can solve an equation algebraically using the symbolic math toolbox, e.g. to solve x+3=0 use:
solve('x+3')
You can solve it numerically using various techniques, including the optimization toolbox, e.g. to solve x+3=0 use:
fminsearch(@(x) (x+3)^2, 0)
However, the equation you've posted has no finite solutions, which is why both of these commands generate trash:
solve('(1+exp(x))/(1+exp(-x))')
fminsearch(@(x) ((1+exp(x))/(1+exp(-x)))^2, 0)
Note that the numerical approach (the second command) does find an answer, but it's only a value of x where the equation is approximately equal to zero, and there's an infinity of them so the particular answer returned is not meaningful.
Categorie
Scopri di più su Mathematics in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!