Folks: My program (below) does not return an error message, it does open a plot window, but no graph/data is plotted. I am not sure why. Thank you for your help. H Daniel
조회 수: 1 (최근 30일)
이전 댓글 표시
clear all;
neff=1.45;
dn=3.5 *(10^-4);
lambdad=1550;
Lmm=20.0;
L=Lmm*(10^6);
INPUT=[1;0];
dx=0.1;
for lambda=1549:dx:1551
k=(pi*dn)/lambda;
sigma=2*pi*neff*((1/lambda)-(1/lambdad));
gamma2=(k^2)-(sigma^2);
gamma=sqrt(gamma2);
gL=gamma*L;
sg=sigma/gamma;
kg=k/gamma;
%
F111=cosh(gL)-j*sg*sinh(gL);
F112=-j*kg*sinh(gL);
F121=j*kg*sinh(gL);
F122=cosh(gL)+j*sg*sinh(gL);
%
F=[F111,F112;F121,F122];
OUT=F*INPUT;
R1=OUT(1);
R2=OUT(2);
REFLECTION=abs(R2/R1);
hold on
grid on
plot (lambda,REFLECTION);
end
댓글 수: 0
채택된 답변
per isakson
2017년 11월 6일
편집: per isakson
2017년 11월 6일
Plotting one value at a time as line doesn't work. Line is default. Two values are needed to make a line.
Replace
plot (lambda,REFLECTION );
by
plot (lambda,REFLECTION, 'd' );
to plot diamond markers
However, a maybe better solution would be to build vectors inside the loop and plot the vectors after the loop.
댓글 수: 0
추가 답변 (1개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Annotations에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!