일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 플라즈몬
- 초록빛논문
- 전자기학
- octopus
- metasurface
- 물리학
- Jackson Electrodynamics
- 양자 플라즈몬
- 그래프
- 3분논문
- impact factor
- 자연
- 논문
- 과학
- 메타물질
- Photolithography
- gnuplot
- 나노포토닉스
- 학술지
- 토막잭슨
- 리눅스
- 자연 광자학
- nature photonics
- Linux
- 메타표면
- 우분투
- TDDFT
- 겨울떨개
- 광자학
- 자연 나노기술
- Today
- Total
과꾸로
[gnuplot] 변수가 3개 이상인 함수에 data fitting하기. set dummy 본문
궁극의 plotting tool인 gnuplot을 이용해서 data fitting을 해보자. f(x)형태의 함수는 쉽게 fitting할 수 있는데, 만약에 f(x,y,z) 같은 함수라면 어떨까? 아래 링크에서 답을 찾았다.
cavendish.data 라는 파일이 이렇게 생겼다고 하자.
#h k l I
1 1 1 7807
2 2 0 9664
3 2 1 6042
4 0 0 7394
5 3 2 8358
6 2 0 4896
7 3 0 7896
그걸 I(h,k,l)이라는 함수에 fitting하고 싶으면 다음과 같이 하면 된다.
### Function
I(h,k,l) = M * (F * ((sin(A*pi*sqrt(h*h+k*k+l*l)*L))/(A*2*pi*sqrt(h*h+k*k+l*l)) ))**2
### Initial values
M=1.0
F=0.5
A=1.0
L=1.0
### Fitting
set dummy h, k, l
fit I(h,k,l) "cavendish.data" using 1:2:3:4 via M, F, A, L
set dummy 로 변수를 설정해주는 부분이 중요하다!
그렇게 fitting한 결과를 data와 겹쳐서 보고 싶으면
plot 'cavendish.data' u 1:4 w p ,\
'cavendish.data' u 1:(I($1,$2,$3)) w lp lt 1
라고 하면 된다. data와 함수가 잘 맞지 않아서 그런지 그래프가 그다지 보기 좋지는 않다.
2018년 4월 30일
과꾸로
'연구자료' 카테고리의 다른 글
[동영상] 포토닉스 연구의 역사 (History of Photonics Research) (0) | 2018.08.24 |
---|---|
[gnuplot] 축의 길이 고정하기. tics를 제외하고 축의 비율 정하기. set margin (0) | 2018.06.26 |
[Matlab] spline: 매트랩으로 데이터 interpolation 하기. ppval (0) | 2018.04.27 |
[MNPBEM] bemstateig.m 으로 얻은 eigenvalues의 차원과 단위는? (0) | 2018.04.16 |
[MNPBEM] Eigenvalues 구하기. Boundary-Element Method. Matlab code. (2) | 2018.04.12 |