Fzero function with inputted ecuation problem

3 visualizzazioni (ultimi 30 giorni)
I am having troubles with fzero function: Maybe I am dumb and this can't be done, but I want to use fzero with any function inputted by an user and I don't know how, here's my code and the problem it shows.
y=input('Function? : ');
f= @(x) y ;
x0=[0 1];
z=fzero(f,x0);
disp(z);
%Command Window:
Function? : exp(-x) - x
Error using fzero (line 257)
Function values at interval endpoints must be finite and real.
Error in prueba (line 4)
z=fzero(f,x0);
But if I use the function instead of 'y' it works perfectly:
f= @(x) exp(-x)-x ;
x0=[0 1];
z=fzero(f,x0);
disp(z);
%Command Window:
0.567143290409784

Risposta accettata

Walter Roberson
Walter Roberson il 4 Mag 2020
y = input('Function? ', 's')
f = str2func(['@(x)' y])

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by