x*cot(x)=y*tan(y)与x^2-y^2=0.9两个曲线的交点坐标怎么由MATLAB用数值方法求出

如题所述

f1=@(x) sqrt(x.^2-0.9);

f2=@(x) x./tan(x)-f1(x).*tan(f1(x));

x0=[];y0=[];

for ii=1:8

x0(ii)=fzero(f2,pi/4+pi/2*(ii-1)); %利用fzero求交点,每pi/2有一个交点

y0(ii)=f1(x0(ii));

end

%求得 x0,y0就是对应的交点

%交点有无情多个,这里列出了x属于0-2pi内的交点

%根据函数的对称性,可以知道 (x0,-y0)(-x0,-y0)(-x0,y0)也是交点 


%以下为画图,只画出了第一象限

xl=linspace(0,4*pi,1000);

[x,y]=meshgrid(xl);

z1=x./tan(x)-y.*tan(y);

z1(abs(z1)>100)=nan;

yl=f1(xl);

contour(x,y,z1,[0 0]); %画出x./tan(x)-y.*tan(y)=0的函数图像

hold on;

plot(xl,yl,'r'); %画出 x^2-y^2=0.9的函数图像

plot(x0,y0,'k.');%画出交点

hold off;

axis image



温馨提示:答案为网友推荐,仅供参考
相似回答