How to find the intersection values?
Mostrar comentarios más antiguos
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);
Respuesta aceptada
Más respuestas (1)
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
Categorías
Más información sobre Time Series en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

