A function plotting issue with fplot
조회 수: 7 (최근 30일)
이전 댓글 표시
I want to plot the function
vs
. I can get the result using fplot, however the x-range (
) is not
correct. My code is:
v1 = -2.63; v2 = -2.38; gamma=1;
T=[0:0.01:5];
k=pi/2;
l=-k;
w=-2*cos(k);
w1=-2*cos(l);
delta2 = @(T) v2-w+(gamma.*abs(T).^2);
delta1 = @(T) v1-w+gamma*abs(T).^2.*abs(delta2(T)-exp(1i.*k)).^2;
delta21 = @(T) v1-w1+(gamma.*abs(T).^2);
delta11 = @(T) v2-w1+gamma*abs(T).^2.*abs(delta21(T)-exp(1i.*l)).^2;
fplot(@(T) abs((exp(i*k)-exp(-i*k))/(1+(delta2(T)-exp(i*k)).*(exp(i*k)-delta1(T))))^2,[0,5],'g')
hold on
fplot(@(T) abs((exp(i*l)-exp(-i*l))/(1+(delta21(T)-exp(i*l)).*(exp(i*l)-delta11(T))))^2,[0,5],'r')
hold off
The output is alright but the x-axis range seems not correct. The correct figure (ignoring the middle dotted black curve) should look like

What I get is the following

I tried various ways but failed to fix the x-axis issue, what is the problem here?. Any help is highly appreciated. Thanks.
댓글 수: 2
Geoff Hayes
2019년 3월 10일
John - is the output correct? If it is, what is the x-axis issue? Why do you think it should look like the first figure?
답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Annotations에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!