How do I iterate f(x)

2 visualizzazioni (ultimi 30 giorni)
LILIA VERGARA
LILIA VERGARA il 26 Gen 2023
Risposto: Alan Weiss il 27 Gen 2023
using x^(0) = 0 and x^(1) = 5 as inital condition
I am trying to iterate f(x) up to 60 iterations or till the estimated relative error is less than 10^-6
note that f(x) = e^x - 2 - x - (x^2 / 2)
The code I have startead with has been giving me errors:
f = @(x)exp(x) - 2 - x - x.^2./2
f = function_handle with value:
@(x)exp(x)-2-x-x.^2./2
x_true = fzero(f,[0.01 0.1],optimset("Display","iter"));
Error using fzero
Function values at the interval endpoints must differ in sign.
  2 Commenti
Torsten
Torsten il 26 Gen 2023
What do you mean by
I am trying to iterate f(x) up to 60 iterations or till the estimated relative error is less than 10^-6
?
Walter Roberson
Walter Roberson il 26 Gen 2023
f = @(x)exp(x) - 2 - x - x.^2./2
f = function_handle with value:
@(x)exp(x)-2-x-x.^2./2
fplot(f, [0.01 0.1])
There is no zero of the function within that range.

Accedi per commentare.

Risposte (1)

Alan Weiss
Alan Weiss il 27 Gen 2023
Is this what you are looking for?
f = @(x)exp(x) - 2 - x - x.^2./2;
t = linspace(0,5);
plot(t,f(t))
OK, there is a root in that interval. Find it.
[x,fval,eflag,output] = fzero(f,[0 5])
x = 1.5681
fval = 2.2204e-16
eflag = 1
output = struct with fields:
intervaliterations: 0 iterations: 11 funcCount: 13 algorithm: 'bisection, interpolation' message: 'Zero found in the interval [0, 5]'
Number of iterations is not too high.
Alan Weiss
MATLAB mathematical toolbox documentation

Community Treasure Hunt

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

Start Hunting!

Translated by