How to find the intersection values?
    8 Ansichten (letzte 30 Tage)
  
       Ältere Kommentare anzeigen
    
    GULZAR
 am 17 Aug. 2023
  
    
    
    
    
    Bearbeitet: Torsten
      
      
 am 17 Aug. 2023
            How to find the intersection values  of line(black) and the curve(blue)
clc
close all
d1 = 0.4;d2 = 0.6;d = d1 + d2;
n1 = sqrt(12);n2 = 1;
lambda = linspace(400e-3,800e-3, 100000);
D1 = (2*pi*n1*d1)./lambda;D2 = (2*pi*n2*d2)./lambda;
RHS = cos(D1).*cos(D2) - 0.5*(n1^2+n2^2)/(n1*n2) * sin(D1) .*sin(D2);
plot(lambda,RHS)
hold on
yline(-1);
hold off
hold on
yline(1);
0 Kommentare
Akzeptierte Antwort
  Bruno Luong
      
      
 am 17 Aug. 2023
        d1 = 0.4;d2 = 0.6;d = d1 + d2;
n1 = sqrt(12);n2 = 1;
lambda = linspace(400e-3,800e-3, 100000);
D1 = (2*pi*n1*d1)./lambda;D2 = (2*pi*n2*d2)./lambda;
RHS = cos(D1).*cos(D2) - 0.5*(n1^2+n2^2)/(n1*n2) * sin(D1) .*sin(D2);
plot(lambda,RHS)
hold on
for yx = [-1 1]
    yline(yx);
    ys = RHS-yx;
    i = find(ys(1:end-1).*ys(2:end) <= 0);
    % linear interpolation
    i1 = i; ss1 = ys(i1);
    i2 = i1 + 1; ss2 = ys(i2);
    w = ss2./(ss2-ss1);
    xx = w.*lambda(i1) + (1-w).*lambda(i2);
    plot(xx, yx+zeros(size(xx)), 'rx')
end
Weitere Antworten (1)
  Torsten
      
      
 am 17 Aug. 2023
        format long
d1 = 0.4;d2 = 0.6;d = d1 + d2;
n1 = sqrt(12);n2 = 1;
D1 = @(lambda)(2*pi*n1*d1)./lambda;D2 = @(lambda)(2*pi*n2*d2)./lambda;
RHS = @(lambda)cos(D1(lambda)).*cos(D2(lambda)) - 0.5*(n1^2+n2^2)/(n1*n2) * sin(D1(lambda)) .*sin(D2(lambda));
% Case -1
start = [0.42,0.45,0.56,0.59,0.72];
offset = -1;
rhs = @(lambda) RHS(lambda)-offset;
for i = 1:numel(start)
    sol(i) = fsolve(rhs,start(i),optimset('Display','none'));
end
sol
% Case 1
start = [0.4,0.47,0.52,0.63,0.67];
offset = 1;
rhs = @(lambda) RHS(lambda)-offset;
for i = 1:numel(start)
    sol(i) = fsolve(rhs,start(i),optimset('Display','none'));
end
sol
0 Kommentare
Siehe auch
Kategorien
				Mehr zu Time Series finden Sie in Help Center und File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

