- •Лабораторна робота 1.
- •Теоретичні відомості
- •Хід роботи
- •Хід роботи
- •Контрольні питання
- •Лабораторна робота 2
- •Теоретичні відомості
- •Хід роботи
- •Контрольні запитання
- •Лабораторна робота 3.
- •Хід роботи
- •Контрольні запитання
- •Лабораторна робота 4
- •Теоретичні відомості
- •Хід роботи
- •Контрольні запитання
- •Лабораторна робота 6
- •Теоретичні відомості
- •Хід роботи
- •Контрольні запитання
- •Лабораторна робота 7
- •Теоретичні відомості
- •Хід роботи
- •Хід роботи
- •Контрольні запитання
- •Зразок оформлення звіту про виконаня лабораторної роботи
- •"Розробка контролюючого модуля"
- •Список рекомендованої літератури
Хід роботи
Відкрийте середовище Guide для розробки графічного інтерфейсу програми.
На форму встановіть об'єкти Edit1, Statictext1 відповідно. Задайте значення властивості String рівне пустому рядку для об'єкта Edit1, а для об'єкта Statictext1 – 'Початкова швидкість'.
На форму встановіть об'єкт Axes1 та об'єкти Radiobutton1, Radiobutton2, Radiobutton3 відповідно. Задайте значення властивості String для радіокнопок відповідно pi/4, pi/6, pi/10. Форма буде мати такий вигляд:
Створіть такий М-файл:
function varargout = gg5(varargin)
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @gg5_OpeningFcn, ...
'gui_OutputFcn', @gg5_OutputFcn, ...
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
function gg5_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject;
guidata(hObject, handles);
function varargout = gg5_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
.
function radiobutton1_Callback(hObject, eventdata, handles)
cla;
axes(handles.axes1);
global v0 m A;
g=9.8;
alfa=pi/4;
tint=[0 2*v0*sin(alfa)/g];
y0=[0; v0*cos(alfa); 0; v0*sin(alfa)]
[t,y]=ode45('fun',tint,y0);
i=1;
while y(i,3)>=0
y1(i,1)=y(i,1);
y1(i,3)=y(i,3);
i=i+1;
end;
comet(y1(:,1),y1(:,3))
function radiobutton2_Callback(hObject, eventdata, handles)
global v0;
cla;
axes(handles.axes1);
g=9.8;
alfa=pi/6;
tint=[0 2*v0*sin(alfa)/g];
y0=[0; v0*cos(alfa); 0; v0*sin(alfa)]
[t,y]=ode45('fun',tint,y0);
hold on
comet(y(:,1),y(:,3))
function edit1_Callback(hObject, eventdata, handles)
global v0;
v0=str2double(get(hObject,'String'))
function edit1_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function radiobutton3_Callback(hObject, eventdata, handles)
global v0;
cla;
axes(handles.axes1);
g=9.8;
alfa=pi/10;
tint=[0 2*v0*sin(alfa)/g];
y0=[0; v0*cos(alfa); 0; v0*sin(alfa)]
[t,y]=ode45('fun',tint,y0);
hold on
comet(y(:,1),y(:,3))
Створіть таку власну функцію:
function F=fun(t,y)
g=9.8;
f(1)=y(2);
f(2)=0;
f(3)=y(4);
f(4)=-g;
F=[f(1);f(2);f(3);f(4)];
Збережіть проект у власній папці.
Дослідіть траєкторії руху тіла при різних початкові швидкості та кутах.
Оформіть звіт.
В результаті виконання програми отримаємо таке вікно:
Завдання 2.
Тіло масою
m
прикріплене до
пружини жорсткістю
k
здійснює гармонічні
коливання. Записати
рівняння руху вантажу
.
Побудувати графік функції
.
1.
кг,
Н/м;
2.
кг,
Н/м;
3.
кг,
Н/м;
4.
кг,
Н/м;
5.
кг,
Н/м;
6.
кг,
Н/м;
7.
кг,
Н/м;
8.
кг,
Н/м;
9.
кг,
Н/м;
10. кг, Н/м.
Врахувати, що в початковий момент часу t = 0: х = 10, = х = 0.
