Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб_роботи_ЕОМ.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1 Мб
Скачать
☆

Хід роботи

  1. Відкрийте середовище Guide для розробки графічного інтерфейсу програми.

  2. На форму встановіть об'єкти Edit1, Statictext1 відповідно. Задайте значення властивості String рівне пустому рядку для об'єкта Edit1, а для об'єкта Statictext1 – 'Початкова швидкість'.

  3. На форму встановіть об'єкт Axes1 та об'єкти Radiobutton1, Radiobutton2, Radiobutton3 відповідно. Задайте значення властивості String для радіокнопок відповідно pi/4, pi/6, pi/10. Форма буде мати такий вигляд:

  1. Створіть такий М-файл:

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))

  1. Створіть таку власну функцію:

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)];

  1. Збережіть проект у власній папці.

  2. Дослідіть траєкторії руху тіла при різних початкові швидкості та кутах.

  3. Оформіть звіт.

В результаті виконання програми отримаємо таке вікно:

Завдання 2. Тіло масою m прикріплене до пружини жорсткістю k здійснює гармонічні коливання. Записати рівняння руху вантажу . Побудувати графік функції .

1. кг, Н/м; 2. кг, Н/м; 3. кг, Н/м;

4. кг, Н/м; 5. кг, Н/м; 6. кг, Н/м;

7. кг, Н/м; 8. кг, Н/м; 9. кг, Н/м;

10. кг, Н/м.

Врахувати, що в початковий момент часу t = 0: х = 10, = х = 0.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]