2017-03-23 1 views
1

저는 인터넷에서 오랜 시간을 찾고 있습니다. 그러나 사용하지 마십시오. 이를 달성하는 방법을 알려주십시오.gnuplot에서 직사각형 함수 아래의 채우기 방법은 무엇입니까?

1D Schrodinger 방정식에 대한 유한 전위를 잘 나타내기를 원합니다. 따라서 먼저 계단식 직사각형 함수를 작성한 다음 'filledcurves below'로 그립니다. 여기 내 코드 : I는 0.5 이하 영역을 원하는

Terminal type set to 'aqua' 
gnuplot> set style fill transparent solid 0.5 noborder 
gnuplot> set xrange [0:5] 
gnuplot> set yrange [0:0.8] 
gnuplot> p(x) = x<= 2? 0.5: x>= 3? 0.5: 0 
gnuplot> plot p(x) w filledcurves below lc rgb "gray" 
gnuplot> set samples 500 
gnuplot> replot 

[0 : 2] & [3 : 5] I가 설정 사촌 모든 회색 및 (2,3) 없음 색 채웠다 값을 0으로 설정하십시오.

그리고 여기에 제가 얻은 플롯이 있습니다. 그러나 기대했던 결과가 아닙니다.

image

나는 당신이 제공 한 아이디어에 감사보다 더 될 것입니다. 큰 감사를 드린다!

+0

작품 벌금을, HTTPS를 참조 (5.0.5, 5.0.0, 4.6.6 테스트) : //i.stack.imgur.com/w5cGR.png – Christoph

+0

안녕하세요 크리스토프, 내가 채워지려고했던 지역은 x = 0 : 2 및 2 : 3이었습니다.이 두 지역에 대해 y = 0.5로 설정했습니다. –

+0

아니면 명령을 잘못된 방식으로 사용 하시겠습니까? 나는 'gnuplot>을 느낀다. p (x) = x <= 2? 0.5: x> = 3? 0.5 : 0 '일 때 x <= 2 or x> = 3, y = 0.5, 그렇지 않은 경우 y = 0 –

답변

0

플롯팅 with filledcurves below은 필요한 것을 수행하지 않습니다. 당신이 원하는 결과를 얻기 위해 x1 축에 explicite 참조를 제공해야합니다 : 나를 위해

set style fill transparent solid 0.5 noborder 
set xrange [0:5] 
set yrange [0:0.8] 
p(x) = x<= 2? 0.5: x>= 3? 0.5: 0 
set samples 500 
plot p(x) w filledcurves below x1 lc rgb "gray" 

enter image description here

+0

답장을 보내 주셔서 감사합니다! 나는 똑같은 줄을 입력하고 이상한 것을 아직도 얻었다. 왼쪽 부분은 이전과 똑같이 보이는 반면 내 결과에는 오른 쪽 부분 만 보이는 것처럼 보입니다. 버전의 문제입니까? 5.0.5를 사용하고 있습니다 –

+0

다른 터미널 (wxt 또는 qt)을 사용해 볼 수 있습니까? 나는 아쿠아 터미널이 없다. 대답의 이미지는 qt로 생성되었습니다. – Christoph

+0

사실 wxt 나 qt가 없었지만 터미널을 변경하면 문제가 해결되었습니다! 고마워요! :디 –

관련 문제