Info

Diese Frage ist geschlossen. Öffnen Sie sie erneut, um sie zu bearbeiten oder zu beantworten.

fzero: not a valid initial bracketing

2 Ansichten (letzte 30 Tage)
Pedro Almeida
Pedro Almeida am 11 Dez. 2022
Geschlossen: Walter Roberson am 12 Dez. 2022
format long
y = @(x) 1 - sin(x);
z = @(x) x.^2;
test1 = @(x) (y(x)-z(x));
test2 = @(x) (z(x) - y(x));
ta = 0;
a = 0;
dados = [];
zero = fzero(test1,[0 1])
while (ta != 1)
a = a + 1;
y1 = @(x) (a - sin(x));
funcao = @(x) (y1(x) - z(x));
intervalo = [0+a 1+a];
ta = fzero(funcao, intervalo);
if (ta = 1)
dados = [dados, a];
endif
endwhile
disp(dados)
It gives me that error and I don't really know how to fix it. Any help would me appreciated!!
  1 Kommentar
Torsten
Torsten am 12 Dez. 2022
Bearbeitet: Torsten am 12 Dez. 2022
Your code is weird and in part not MATLAB compatible:
while / endwhile does not exist in MATLAB; it's while / end
ta != 1 has to be replaced by ta ~= 1
if (ta = 1) has to be replaced by if ta==1
Maybe you should explain in your own words what you try to do.
The error message means that the interval you provided as initial guess for fzero does not satisfy that the function, applied to the endpoints of this interval, gives values that differ in sign.

Antworten (0)

Diese Frage ist geschlossen.

Produkte


Version

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by