作业帮 > 综合 > 作业

matlab 初学者提问

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/22 01:34:19
matlab 初学者提问
如何求得一个函数的在一个区间的所有零点
比如:exp(2*sin(x))*cos(x)-exp(2*cos(x))*sin(x) 在[-5 5]区间由图像可以看出来有6个零点
如何求出
fzero好像只能在一个区间的
f=inline('exp(2*sin(x))*cos(x)-exp(2*cos(x))*sin(x)');
ezplot(f,[-5 5])
fzero(f,[-5 2]) %这里-5处和2处异号 符合条件 为什么只有一个靠近-5的解
% x=linspace(-5,5,10000);x0=linspace(-5,5);
% y=exp(2*sin(x)).*cos(x)-exp(2*cos(x)).*sin(x);
% f=@(x)exp(2*sin(x)).*cos(x)-exp(2*cos(x)).*sin(x);
% a0=[-5 -2 0 1 1.5 4];L=length(a0);
% for i=1:L
% ZEROS(i)=fsolve(f,a0(i),optimset('Display','off'));
% end
% plot(x,y,'g-',[-5 5],[0 0],'r-',ZEROS,0,'*');grid on;hold on