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

 채택된 답변

Walter Roberson
Walter Roberson 2020년 5월 4일

0 개 추천

y = input('Function? ', 's')
f = str2func(['@(x)' y])

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Get Started with MATLAB에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by