% fzero和fsolve的对比
tic
x = 0:0.01:100;
[result1,fval1] = arrayfun(@(z)fzero(@(y)tan(y)-tanh(y),z),x);
indexf1 = abs(fval1)>0.001; %fzero解会有奇异点,需去除
result1(indexf1) = [];
[result1,indexf2] = uniquetol(result1,1e-3);%带容差去除相同零点
toc
fval1(indexf1) = [];
fval1 = fval1(indexf2);
% 利用fsolve得到的解没有奇异解但是效率低而且精度低
tic
opt = optimset('Display','off'); % 你不加试试
x = 0:0.01:100;
result2 = arrayfun(@(z)fsolve(@(y)tan(y)-tanh(y),z,opt),x);
result2 = uniquetol(result2,1e-3);
toc
fval2 = tan(result2)-tanh(result2);
plot(fval1);hold on ;plot(fval2)
legend('fval1','fval2')