Info
此问题已关闭。 请重新打开它进行编辑或回答。
fzero: not a valid initial bracketing
2 次查看(过去 30 天)
显示 更早的评论
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 个评论
Torsten
2022-12-12
编辑:Torsten
2022-12-12
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.
回答(0 个)
此问题已关闭。
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!