:: 게시판
:: 이전 게시판
|
이전 질문 게시판은 새 글 쓰기를 막았습니다. [질문 게시판]을 이용바랍니다.
통합규정 1.3 이용안내 인용"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
11/04/11 20:45
exp가 중요한부분입니다;; 보통 지수 함수를 줄여서 exp(x) 라고 표현합니다. C에서 지수함수에 상응하는 명령어를 넣어주셔야 바른 analytic solution을 구하실 수 있을겁니다. 그리고 C로 짜시려는게 수치해석용인지 아니라면 시간을 넣으면 바로 속도를 알수있는 해인지 정확히 모르겠습니다. 수치해석용이라면 매 초만큼 루프를 돌려야죠.
11/04/11 21:29
제가 C를 잘 안해봐서 명령어등을 잘 모르니 개념적으로만 설명드리겠습니다. 프로그램을 알기 쉽게 나누어 생각하시는 편이 좋을 것같습니다.
아래는 제가 임의적으로 나누어 봤습니다. 1번파트는 먼저 예제/지문에서 준 초기조건들 이겠죠. 초기조건은 중력가속도같은 것도 포함하겠지만 v(t=0) = 0 이란 것도 명시해주셔야 할겁니다. 속력이 벡터가 아니라면(스칼라) v=0 이라고 루프돌리시기 전에 명시해주셔야겠구요. 2번은 몇초나 시뮬레이트 할지 물어보는 명령과 받은 입력을 저장하는 명령 정도 되겠습니다. 3번이 루프 파트가 될텐데요. 수치해석이란게 별거 없습니다. 이전의 속력이 얼마였는지를 안다면 dt동안 얼마나 속력이 증가/감소 했는가를 더해주시면 되는겁니다. 예제에 식 (9)가 이부분이라고 할수있겠네요. 다만 빗방울이 나는 체공시간 t를 dt로 나눈 만큼 속력이 변함을 누적시키셔야합니다. 4번 루프가 끝나시면 그래프를 그리시는게 편합니다. 그래프를 그리시려면 이전에 나온 매 초마다의 속력 값을 저장하시는게 간편할 겁니다. v와 t를 벡터값으로 저장하시는 법을 아셔야합니다.
|