CAS (Computer Algebra System) 소개 비선형진동연구실 2008 기계진동 CAS 소개 CAS (Computer Algebra System) 소개 비선형진동 연구실 학부연구생 3학년 이두호
비선형진동연구실 CAS 종류 Matlab (Matrix Laboratory) 수치 해석, 행렬 연산, 신호 처리, 간편한 그래픽 기능 등을 통합하여 고성능의 수치 계산 및 결과의 가시화 기능을 제공하는 프로그래밍 언어. 행렬을 기초로 하여 수학과 공학 계산을 수행하는 언어로, 원래 Cleve Moler가 포트란으로 작성하였으나, 현재는 미국의 MathWorks사가 C++로 작성하였다. MATLAB 코딩 체계는 수학적인 기호와 간단한 C 문법으로 되어 있는데, 수학과 관련된 계산, 알고리즘 개발, 상황 모델링과 분석, 여러 가지 과학과 공학적인 그래픽 표현 등에서 이용된다. => 도서관 참고서적 이용 2. Mathematica => 인터넷 강의지원 3. Maple => 도서관 참고서적 이용
비선형진동연구실 Matlab의 기본연산
Matlab의 기본연산(행렬) 비선형진동연구실
비선형진동연구실 Matlab의 기본연산(행렬)
비선형진동연구실 Matlab의 기본연산(복소수, 함수의 계산과 그래프)
비선형진동연구실 Matlab의 기본연산(방정식의 해) ans = 1.5708 = /2 ans = -0.5000 + 0.5000i -0.5000 - 0.5000i ans = 1.0000 -2.0000 3.0000
비선형진동연구실 Matlab의 기본연산(고유치 문제)
비선형진동연구실 2차 선형인 상미분 방정식(ODE) 2개의 1차 상미분 방정식(ODE) 연립하여 계산 행렬을 이용하면 편리함 Matlab 사용 (부록 F.13 )
(부록 F.13 ) 비선형진동연구실 Commend Window에“ edit “ 를 입력하여 “Editor” window를 생성. DampingVib.m 으로 저장 “Editor” window를 하나 더 생성. 2개의 1차 연립방정식을 아래와 같이 입력. Dfunc.m 으로 저장. Debug – run 실행. (DampingVib)
(부록 F.13 ) 비선형진동연구실 “ DampingVib “ 라고 명령어를 입력하면 그래프가 나오고 여러 가지 옵션으로 그래프를 보기 쉽게 할 수 있다.
비선형진동연구실 ( P145) Figure 2.24
( P145) Figure 2.24 각 그래프에 대한 Editor 작성 비선형진동연구실 ζ = 0 ζ = 1 ζ < 1 ζ > 1
( P145) Figure 2.24 각 그래프에 대한 Editor 작성 & 그래프 비선형진동연구실
( P147) Figure 2.26 각 그래프에 대한 Editor 작성 & 그래프 비선형진동연구실
EXAMPLE 2.19 System With Coulomb Damping 비선형진동연구실
EXAMPLE 2.19 System With Coulomb Damping 비선형진동연구실
컴퓨터 실습실 MATLAB 을 사용할 수 있는 자리 비선형진동연구실
비선형진동연구실 기계진동 2007-1 (예제 2.18번) 스프링-질량계의 자유진동 응답 % Ex2_18.m for i = 1: 101 t(i) = 6 * (i-1)/100; x(i) = 3.1048 * sin(5 * t(i) + 1.3102); x1(i) = 15.524 * cos(5 * t(i) + 1.3102); x2(i) = -77.62 * sin(5 * t(i) + 1.3102); end subplot(311); plot(t,x); ylabel('x(t)'); title('Example 2.18'); subplot(312); plot(t,x1); ylabel('x^.(t)'); subplot(313); plot(t,x2); xlabel('t'); ylabel('x^.^.(t)');
비선형진동연구실 기계진동 2007-1 (예제 2.17번) 정적변형에 따른 고유 진동수와 고유 진동주기 변화 % Ex2_17.m g = 9.81; for i = 1: 101 t(i) = 0.01 + (0.5-0.01) * (i-1)/100; w(i) = (g/t(i))^0.5; tao(i) = 2 * pi * (t(i)/g)^0.5; end plot(t,w); gtext('w_n'); hold on; plot(t,tao); gtext('T_n'); xlabel('Delta_s_t'); title('Example 2.17');