МІНІСТЕРСТВО ОСВІТИ ТА НАУКИ УКРАЇНИ ДЕРЖАВНИЙ ВИЩІЙ НАВЧАЛЬНИЙ ЗАКЛАД ДОНЕЦЬКИЙ НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВЕРСИТЕТ Кафедра АТ Практичне завдання на тему: «Модель коливання торсіонного пружинного осцилятора» з дисципліни: «Об’єктно-оріентовані технології в комп.системах» Варіант №7 Виконав: ст. гр. АКТ-18 Рогожин Андрій Перевірив викладач Кафедри АТ Лесiна Є.В. Покровськ – 2019 Мета роботи: Метою практичного завдання є отримання практичних навичок у роботі з cередовищем Matlab. Нвчитися моделювати коливання торсіонного пружинного осцилятора. Порядок виконання: 1. Записав рівняння руху торсіонного осцилятора в разі відсутності сил тертя, отримав систему рівнянь у формі Коші. k=50; m=15 0 0= ; ; -система рівнянн у форі Коші ; =10.7; ; ; 10.7*sin(1.4*t+1.33). Програмний код k=50; m=15; x0=13; v0=10; omega0=sqrt(k/m) A=sqrt(x0^2+v0^2/omega0^2) fi0=atan(x0*omega0/v0) t=[0:0.1:50]; x=A*sin(omega0*t+fi0); figure; plot(t,x); grid on; Скріншоти роботи програми Програма для чисельного методу розв'язання Програмний код Файл sysdif: function F=sysdif(t, x) omega02=1.99; F=[x(2); -omega02*x(1)]; Файл prog: x10=30; x20=10; x0=[x10, x20]; options=odeset('RelTol', 1.0e-6); [T, X]=ode45('sysdif', [0 50], x0, options); x1=X(:,1); x2=X(:,2); hold on plot (x1, x2, 'b') xlabel('дистанция'); ylabel('скорость'); figure plot (T, x1, 'r') xlabel('время'); ylabel('дистанция'); axis([0 50 -60 60]) Скріншоти роботи програми Фазовий портрет (залежність швидкості від відстані) Закон руху (залежність відстані від часу) Графік закону руху, побудованого чисельно в Matlab, збігається з графіком закону руху, отриманого аналітично. 2. Записати рівняння руху торсіонного осцилятора з урахуванням сил в'язкого тертя, отримати системи рівнянь у формі Коші. ; ; ; = =0.4; тоді =1.3565; ); ). Програмний код k=40; m=20; x0=30; v0=10; u=22.63; omega0=sqrt(k/m) C1=x0 C2=v0 T=2*pi/omega0 y=u/(2*sqrt(k*m)) omega=sqrt(omega0^2-y^2) A=sqrt(x0^2+v0/omega0^2) t=[0.1:0.1:25]; x=exp(-y*omega0*t).*(C1*cos(omega*t)+C2*sin(omega*t)) figure; plot(t,x); grid on; Скріншоти роботи програми Програма для чисельного методу розв'язання Програмний код Файл sysdif: function F=sysdif3(t, x) omega02=1.12; y=0.8; F=[x(2); -y*x(2)-omega02*x(1)]; Файл prog: x10=30; x20=10; x0=[x10, x20]; options=odeset('RelTol', 1.0e-6); [T, X]=ode45('sysdif3', [0 50], x0, options); x1=X(:,1); x2=X(:,2); hold on plot (x1, x2, 'b') xlabel('дистанция'); ylabel('скорость'); figure plot (T, x1, 'r') xlabel('время'); ylabel('дистанция'); axis([0 25 -10 50]) grid on; Скріншоти роботи програми Фазовий портрет (залежність швидкості від Закон руху (залежність відстані від часу) відстані) Графік закону руху, побудованого чисельно в Matlab, збігається з графіком закону руху, отриманого аналітично. Висновок : Одержав практичний навик у роботі в Matlab. Навчився моделювати коливання торсіонного пружинного осцилятора.