검색어 입력폼
평가점수C

[C언어] 1차원 조화진동자 구현 (4차 Runge-Kutta 방법)

저작시기 2007.05 |등록일 2007.06.01 | 최종수정일 2014.08.09 한글파일한글 (hwp) | 4페이지 | 가격 1,200원

소개글

C언어를 이용해 1차원 조화진동자(Harmonic Oscillator)의 단순, 감쇠(under-damping), 과도감쇠(overdampng), 임계제동(critical damping) 등 4가지 진동 유형을 구현해 본 예제입니다.
계산과정에서 Runge-Kutta 4차식을 이용했고, 도표는 엑셀로 출력했습니다.

(컴파일 환경: Microsoft Visual C++)

목차

(1) 프로그램 개요

(2) 프로그램 (환경 : Microsoft Visual C++)

(3) 결과

1) 단순 진동
2) 감쇠 진동(under-damping)
3) 과도 감쇠(overdamping)
4) 임계 제동(critical damping)

본문내용

<1차원 어울떨개(harmonic oscillator)>

(1) 프로그램 개요

1차원 어울떨개(조화진동자)의 위치와 속도 x, v는
,
로 나타낼 수 있는데, 위상차 는 초기값 , 에 따라 결정된다.
다음 프로그램에서는 진폭 로 두고, (감쇠상수)와 (각속도)를 조절하여 4가지 유형의 1차원 어울떨개를 구현했다. 계산 과정에 4차 Runge-Kutta식을 이용했고, 도표는 엑셀을 이용해 출력했다.



(2) 프로그램 (환경 : Microsoft Visual C++)

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

#define dt 0.02 // 구현 시간 간격
#define A(x,v) (-2*Beta*v - pow(Omega_0,2)*x) // 가속도
#define pi 3.14159265

#define t_final 50 // 최종 시간
#define X_init cos(0) // x 초기값
#define V_init cos(pi/2) // v 초기값

double Beta=6; // 감쇠상수
double Omega_0=3; // 각속도

void increase(double &x, double &v) // 4차 Runge-Kutta 계산을 위한 함수
{
double k1_x, k2_x, k3_x, k4_x;
double k1_v, k2_v, k3_v, k4_v;
다운로드 맨위로