'Duplicate'에 해당되는 글 3건
- 2014.12.20 :: EES간편사용법(21)-duplicate(3) 4
- 2014.12.17 :: EES간편사용법(20)-duplicate(2)
- 2014.12.11 :: EES간편사용법(19)-duplicate(1)
안녕하십니까 깡입니다
기말고사 친 많은 학부생 여러분 수고하셧습니다
오늘도 그러면 EES 사용법에대해서 써 볼까 합니다.
오늘은 EES로 수열 표현 나타내는 것을 보여드릴까 합니다.
갑자기 수열? 이라고 생각하실텐데요
이번학기 수치해석 대학원 과정을 배우면서 참 많은 도움이 되었습니다.
그럼 우선
duplicate i=1,5
A[i+1]=A[i]+3
end
라고 치고 solve 를 눌러봅시다.
에러가나왔네요?
5개의 식과 6개의 미지수가 있다니까 한번 확인해 봅시다.
이런 에러창이 나왔는데요
지금 우리가 하는 부분의 경우 어려울 것이 없습니다.
A[5]와 A[6]이 막혔다고 하고 A[1]과 A[6]이 한번 밖에 안나왔다고 하네요
A[1]을 설정하지 않아서 돌아가지 않음을 유추할 수 있습니다
그럼 A[1]=4 라고 입력해 볼까요?
A[1]=4를 추가 입력 후에 solve 버튼과 Fomatted Equation 버튼을 누른 상황입니다
그런데 이 경우엔 어떻게 돌아가는지 정확하게 알 수 가 없습니다
이제 우리는 다른 새로운 버튼을 눌러보도록합시다
Fomatted equation 위치에서 3번째 아이콘을 보면
Computation flow window 라는 것이 존재합니다
위의 그림과 같고요 한번 눌러봅시다.
새로운 창이 뜨면서 알아보기 쉽도록 되어 있습니다
A[1+1]=A[1]+3 이런식으로 식이 있고 옆에는 계산 값들이 나옵니다.
자신이 입력한 식이 어디가 잘못되어서 그릇된 결과가 나오는지 파악하기 쉽습니다.
이상 등차수열 표현이었습니다.
이번엔 등비수열 표현을 가볼까합니다.
A[1]=3
duplicate i=1,6
A[i+1]=2*A[i]
end
라고 쳐 보도록 합시다.
우선 이 창이 단순 solve 창입니다 등비수열임이 보이죠.
Fomatted equation 과 Computation Flow 를 눌러봅시다.
이 두개를 보면 이해가 쉽지 않을까 생각됩니다.
이번에는 계차수열을 해 보도록 합시다
A[1]=2
duplicate i=1,7
A[i+1]=A[i]+i
end
라고 친 뒤 solve 를 누르면
이렇게 항 사이 값이 하나씩 증가함이 보입니다.
이것만으론 이해가 안될테니 Computational Flow 를 눌러봅시다.
보기가 훨씬 쉽습니다
왼쪽에 있는 residuals window 를 눌러봅시다.
위치는 다음과같습니다.
역시 식이 어떻게 구성되어 있는지를 파악 할 수 있습니다
duplicate 작업을 할때는 computational Flow 나 Residual Window 를 보는것이 좋습니다.
이번에는 색다른 식을 해보도록 합시다.
아래와 같이 입력합니다.
이런 식으로 자유롭게 표현이 가능합니다.
그럼 이번엔 FDM 에서 쓰이는 식을 이용해 봅시다.
미분방정식을 풀 때 격자형식으로 푼다고 생각하면 쉽지 않을까합니다
쉽고 빠르게 설명하자면
Dirichlet boundary condition 만 있을 경우엔 양쪽 끝 점이 지정됩니다
그리고 사이에 몇개의 점이 있으니 풀어다오
정도로 생각하면 되겠지요
보다 자세한 내용은 추후에 블로깅 할 예정입니다.
우선 위와 같이 입력하고 solve를 누릅니다.
0과 100 사이에 점 3개가 등간격으로 생겨났군요!
computation flow 를 눌러봅시다.
그다음은 residual window 입니다.
뭐 이상입니다
마지막에 소개한 FDM의 경우엔 언젠가 수식이랑 같이 설명을 할 수도 있고
안그럼 설명만 하겠지요.
EES의 duplicate 의 기능은 아직끝나지 않았습니다
다음 편에서 뵙겠습니다.
'ees관련' 카테고리의 다른 글
EES간편사용법(23)-curve fitting (4) | 2015.03.29 |
---|---|
EES간편사용법(22)-internal function(Thermodynamic property) (2) | 2015.03.23 |
EES간편사용법(20)-duplicate(2) (0) | 2014.12.17 |
EES간편사용법(19)-duplicate(1) (0) | 2014.12.11 |
EES간편사용법(18)-plot(6) (1) | 2013.02.11 |
안녕하십니까 깡입니다
레포트 매겨야 하는데 시험 감독 들어가기전에 이렇게 포스팅을 하나 더 해봅니다.
지난시간에 간단히 행렬나타내는 법을 언급했었지요
A[1,1..N]=[]
A[2,1..N]=[]
A[3,1..N]=[]
의 꼴을 언급했는데 이 표현으론 한계가 있다는 것을 깨달을 거라고 생각합니다
예를들어서 행 열 다 관계 있는 각 성분을 나타내려고 하면
꽤나 고생할 것이라고 생각합니다.
이 경우에 duplicate 형식은 꽤나 유용하게 사용할 수 있습니다.
기본형식은
duplicate 변수=처음,끝
~번째 항 = 수식
end
가 되겠습니다.
설명만으로는 이해하기 어려울 테니 예시를 한번 보도록 하겟습니다.
duplicate i=1,3
C[i]=i
end
를 치고 solve 버튼을 누르면?
이해가 되셧는지요?
예전에 배운적 있는 fomatted equation을 눌러봅시다.
이제 좀 더 이해가 쉽게 되지 않을까 합니다
다른 예도 몇가지 보도록 합시다.
위와 같이 이번에는 D[1,j]를 이용하여 나타내 보았습니다.
이번엔 단순 i나 j가 아닌 수식을 넣어보도록 합시다.
이 duplicate 를 사용할떄는 항상 계산후에 fomatted equation 버튼을 누릅니다
수식이 맞는가를 확인해야지요
이번엔 수식부분의 i만 j로 바꿔봅시다
작동하지 않습니다 yes 버튼을 눌러봅시다.
j에 대해서 정의되지 않음을 알 수 있습니다.
이번엔 다른 식을 몇가지 더 해봅시다.
이건 F[x]=x^2 꼴이라 생각하시면 쉽습니다
이번엔 i=시작,끝
부분을 바꿔봅시다 우선은 끝부분부터 바꿔봅니다.
무사히 작동함을 알 수 있습니다
이번엔 첫값까지 바꿔봅시다.
우리가 원하는대로 무사히 작동하였습니다
뒷부분을 더 적자니 양이 많아질것 같아서 잠시 끊고 포스팅 올리도록 하겠습니다.
'ees관련' 카테고리의 다른 글
EES간편사용법(22)-internal function(Thermodynamic property) (2) | 2015.03.23 |
---|---|
EES간편사용법(21)-duplicate(3) (4) | 2014.12.20 |
EES간편사용법(19)-duplicate(1) (0) | 2014.12.11 |
EES간편사용법(18)-plot(6) (1) | 2013.02.11 |
EES간편사용법(17)-plot(5) (0) | 2013.02.05 |
안녕하십니까 깡입니다
오랜만에 글을 쓰는거같네요.
3학년 겨울방학때 글을 썻다가 그 이후에 접어놨다가 석사 2기인 지금 이렇게 다시 쓰고 있습니다
우선 요새 관리 못해서 방명록 대답을 빨리 못 달았는데 궁금한점이 생기면
'영남대학교 기계관 512호 에너지공학연구실'로 방문하시거나 ,
010-9258-1010 으로 연락 주시면 아마 빠른 답변을 받아 보실 수 있을겁니다
이번학기에 대학원 수치해석을 들으면서 duplicate 명령어를 알게 되어서
거기서부터 시작할까 합니다
우선 duplicate 명령어를 쓰기 위해서는 행렬 표현부터 알아 놓을 필요가 있습니다.
우선 일반적으로 알고 있는 표현을 이용해 보도록 합시다
A=1 입니다
위와같이 A=1에 solve 버튼을 누르면 solution 창에 A=1 이라고 나옵니다.
이번에는 A[1]=1 이라고 쳐 봅시다.
보기와 같은 결과가 나옵니다
A[1]=1
A[2]=2
A[3]=3
을 넣고 solve를 돌려봅시다.
마찬가지로 위와 같은 결과가 나오게 됩니다.
근데 결과창이 우리가 원래 보던 solution이나 parametric table 이 아님을 알 수 있습니다
이번엔 아까 그 식에 A[1,1]=4를 추가로 입력해 봅시다.
이
이제야 짤린 table 이름이 보이는군요 Array table 이라고 합니다.
쉽게 말하자면 행렬 작업용? 으로 생각하시면 좋을것 같습니다
추가로
A[1,2]=5
A[2,1]=7
을 더 입력해 봅시다.
보기와 같이 나오게 됩니다
근데 그러면 행렬 배치를 할떄 하나 하나 다 쳐야 하냐고요? 식을 조금 간단히 해 봅시다.
B[1..3]=[11,22,33]
을 입력해 봅시다.
아까 우리가 한땀 한땀 해서 만들었던 세 줄을 한줄만에 요약할 수 있습니다.
B[1,1..3]=[1,2,3]을 입력해 봅시다
이 행렬의 의미하는 바를 말하면 B[1,1]=1 ; B[1,2]=2 ; B[1,3]=3
이 되겠습니다.
이번에는 B[1..3,1]=[1,2,3]을 입력해 봅시다
같은 의미로 B[1,1]=1 ; B[2,1]=2 ; B[3,1]=3 을 의미하게 됩니다.
아까 맨 위에 하나 하나 적은 것에 비해서 간단해 진 것이 보이죠?
그럼 이번에는 3*3 행렬을 만들어 봅시다
C[1,1..3]=[1,3,5]
C[2,1..3]=[7,9,11]
C[3,1..3]=[13,15,17]
을 입력해 봅시다.
3*3행렬이 만들어 졌습니다
같은 느낌으로
C[1..3,1]=[2,4,6]
C[1..3,2]=[8,10,12]
C[1..3,3]=[14,16,18]
을 입력해 봅시다.
역시 결과가 간단하게 나옵니다.
1..3 부분을 좀 바꿔봅시다
N=3
F[1.1..N-1]=[1,2]
G[1.1..N]=[1,2,3] 을 입력해 봅시다
이 경우 아까까지 없었던 solution 창을 보게 됩니다
하지만 그것보다는 행렬 안에 적용이 됨을 보는것이 더 중요하다고 생각합니다.
G에 관한 식을 지우고 F[1,1]=10 을 넣어봅시다
이 경우 결과창은 이렇게 뜹니다
F[1,1]=10 이라고 지정이 되어 있는데 뒤에서 다시 F[1,1..N-1]=[1,2]
즉 한번 더 F[1,1]을 지정했으므로 이미 정해진 값이라고 경고메세지가 뜨는것이지요
이번에는
m=2
G[1..3]=[m,m+1,m+2]
를 입력해 봅시다.
이 작업은 뒤에 설명할 duplicate랑 관련이 있습니다.
알아서 인식을 하고 값이 나오게 됩니다.
그럼 이번에는 앞부분으로 돌아가서
k=1
H[k,k+1]=1
을 넣어봅시다
우리가 의도한 바라면 H[1,2]=1 이라는 결과가 나오겠죠?
역시 예상대로 가능합니다.
이번에는 확장 행렬 표현을 다시 써 봅시다.
k=1
H[1..K+1]=[1,2]
를 입력해 봅시다.
확장 표현 또한 작동합니다
하지만 1..N 부분에서 1부분을 다른 숫자로 바꾸면 어떻게 될까요?
보기와 같이 됨을 알 수 있습니다 .
마지막으로
H_1=2
H[1..2]=[1,2]
표현을 같이 써 봅시다.
그런경우 H_1은 solution 창에 , H[1..2]=[1,2] 는 Array table에 나옴을 알 수 있습니다.
일단 EES 상에서 간단한 행렬 사용은 이렇습니다
본격적인 duplicate 명령어는 다음 포스팅에서 다루겠습니다.
'ees관련' 카테고리의 다른 글
EES간편사용법(21)-duplicate(3) (4) | 2014.12.20 |
---|---|
EES간편사용법(20)-duplicate(2) (0) | 2014.12.17 |
EES간편사용법(18)-plot(6) (1) | 2013.02.11 |
EES간편사용법(17)-plot(5) (0) | 2013.02.05 |
EES간편사용법(16)-plot(4) (0) | 2013.01.27 |