matlab中怎样确定两曲线交点值大小

来源:百度知道 编辑:UC知道 时间:2024/05/20 16:49:01
运行下面程序得两曲线
clear;no=2.268;ne=2.2;a=36*pi/180;b=59.5*pi/180;
a1=asin(sin(a)./no);b1=asin(sin(b)./no);
c1=(a1+b1)./2;c2=(b1-a1)./2;
z=2*no.*cos(c1);
a2=0.05:0.01:1.57;b2=0.05:0.01:1.57;
k1=no.*ne./((no.*cos(a2)).^2+(ne.*sin(a2)).^2).^0.5;
k2=no.*ne./((no.*cos(b2)).^2+(ne.*sin(b2)).^2).^0.5;
k11=(z.^2+k2.^2-2*k2.*z.*cos(b2-c2)).^0.5;
plot(b2,subs(k11),a2,subs(k1))
我想知道当k11=k1时k1,a2和b2的大小,先告诉我如何得出k11,k1两者相同时k1的大小,谢谢了

用屏幕取坐标函数ginput

clear;no=2.268;ne=2.2;a=36*pi/180;b=59.5*pi/180;
a1=asin(sin(a)./no);b1=asin(sin(b)./no);
c1=(a1+b1)./2;c2=(b1-a1)./2;
z=2*no.*cos(c1);
%a2=0.05:0.01:1.57;
%b2=0.05:0.01:1.57;
a2=0.29:0.01:0.3;
b2=0.29:0.01:0.3;
k1=no.*ne./((no.*cos(a2)).^2+(ne.*sin(a2)).^2).^0.5;
k2=no.*ne./((no.*cos(b2)).^2+(ne.*sin(b2)).^2).^0.5;
k11=(z.^2+k2.^2-2*k2.*z.*cos(b2-c2)).^0.5;
plot(b2,subs(k11),a2,subs(k1))
[a,k]=ginput(1)

图形鼠标将会出现十字,左键点击曲线的交叉点,得到。
a =

0.2912

k =

2.2054