진동학

카테고리: 원하는 부분만 골라! 골라!

순서: 남들이 많이 봤던 내용들만 먼저! 먼저!

키워드 검색: 원하는 내용만 뽑아! 뽑아!

진동학 한방에 끝내기 강의(6강, MATLAB)에서 질문드립니다.

Ch. 1 Introduction To Vibration and the Free Response
작성자
Godjunpyo (관리자)
작성일
2021-08-19 02:42
조회
763
#진동학 #매트랩 

 

안녕하세요. 이전에 작성했던 글을 잘못 올린 것 같아서 다시 올립니다. 갓준표 사이트와 유튜브를 한번 훑어봐도 내용이 잘 안나와서 질문드립니다.

과도감쇠운동에서 매트랩으로 표현하실때 syms를 안쓰고 그냥 a1 , a2값을 집어넣어 계산을 하셨어 가지고 제가 한번 syms를 사용하여 타이핑을 쳐서 계산을 도출해봤습니다.

k=1;

m=1;

c=2.2;

x0=1;

v0=0;

t = linspace(0,10);

 

wn=sqrt(k/m);

xi=c/(2*m*wn);

wd=sqrt(1-xi^2)*wn;

%a1 = (-v0+wn*x0*(-xi+sqrt(xi^2-1)))/(2*wn*sqrt(xi^2-1));

%a2 = (v0+wn*x0*(xi+sqrt(xi^2-1)))/(2*wn*sqrt(xi^2-1));

 syms a1 a2

 f = a1+a2-x0;

 g = x0-a1-a2;

 [a1 a2 ] = solve(f,g);

x = exp(-xi*wn*t).*(a1*exp(-wn*sqrt(xi^2-1)*t)+a2*exp(wn*sqrt(xi^2-1)*t));

plot(x);

이렇게 과도감쇠운동에서 syms를 사용하여 사용을 했더니 영상에서 결과그래프가 다르게 나와서 질문드립니다. 혹시 어느쪽에서 다르게 틀리게 하여 이상하게 나왔는지 모르겠습니다. 전체적인 타이핑에서 다른건 linspace 범위만 (0,10)으로만 변경하고 다른건 없습니다. 영상에서 적은 a1, a2값은 주석 처리하여 결과에 반영이 안되게 했습니다. 다르게 많이 시도해봤는데 저 혼자서는 답이 안나와서 질문드립니다.

전체 1

  • 2021-08-19 02:46

    안녕하세요.

    작성하신 코드에서
    a1, a2 값을 계산할 때
    f와 g라는 식을 이용하셨는데

    f와 g가 결국 같기 때문에
    a1, a2가 원래의 값과 다른 값이 나오는 것 같습니다.

    syms를 이용해도 전혀 무리는 없지만,
    최소한 a1과 a2가 잘 계산될 수 있도록
    정확한 식을 넣어주는 것이 좋겠습니다.

    값이 나오지 않을 때는
    각각의 변수에 대한 값들을 비교해보시면
    쉽게 디버깅하실 수 있습니다.

    질문하시기 전에
    스스로 값을 비교해가면서
    코드를 고쳐본다면
    더욱 효과적으로 공부하실 수 있을 겁니다.

    식을 고쳐서 다시 계산해보시길 바랍니다.
    감사합니다.


Engineering Vibration, Daniel J. Inman, Pearson

Ch. 1 Introduction To Vibration and the Free Response
Ch. 2 Response To Harmonic Excitation
Ch. 3 General Forced Response
Ch. 4 Multiple-Degree-of-Freedom Systems
Ch. 5 Design for Vibration Suppression
Ch. 6 Distributed-Parameter Systems
Ch. 7 Vibration Testing and Experimental Modal Analysis
Ch. 8 Finite Element Method