104
plot(t/2/pi,y(:,1)*180/pi);grid;
title('Отклонение от вертикали','FontSize',14);
xlabel('Время (в периодах малых собственных колебаний)','FontSize',12);
ylabel('Угол в градусах','FontSize',12);
subplot(2,4,1:2);
plot(y(:,1)*180/pi,y(:,2));grid;
title('Фазовый портрет','FontSize',14);
xlabel('Угол в градусах','FontSize',12);
ylabel('Угл. скорость (б/р)','FontSize',12);
% Вывод текстовой информации в графическое окно
subplot(2,4,3:4); axis('off');
h1=text(0,1.1,'Движение физического маятника',
FontSize', 14, 'FontWeight', 'Bold');
h1=text(0.4, 1,'в соответствии с уравнением','FontSize',12);
h1=text(0,0.9,'fi" + 2*dz*fi'' + [1+nmy*sin(nu*t+ey)]*sin(fi) =','FontSize',14);
h1=text(0.55,0.8,' = - nmx*sin(nu*t+ex)*cos(fi)','FontSize',14);
h1=text(0,0.7,'при следующих значениях параметров:','FontSize',12);
h1=text(0.45,0.6,sprintf('dz = %g',KM1(1)),'FontSize',12);
h1=text(0,0.5,sprintf('nmy = %g',KM1(2)),'FontSize',12);
h1=text(0.7,0.5,sprintf('nmx = %g',KM1(3)),'FontSize',12);
h1=text(0,0.4,sprintf('ey = %g град.',KM1(5)*180/pi),'FontSize',12);
h1=text(0.7,0.4,sprintf('ex = %g град.',…
KM1(6)*180/pi),'FontSize',12);
h1=text(0.45,0.3,sprintf('nu = %g',KM1(4)),'FontSize',12);
h1=text(0,0.2,'и начальных условий:','FontSize',12);
h1=text(0,0.1,[sprintf('fi(0) = %g
град.',fi0*180/pi),' градусов'],'FontSize',12);
h1=text(0.7,0.1,sprintf('fi''(0) = %g',fit0),'FontSize',12);
h1=text(0,0.05,);-----------------------------------------------');
h1=text(0,-0.2,);-----------------------------------------------');
h1=text(-0.05,-0.05,['Программа ',sprogram]);
h1=text(0.55,-0.05,'Автор - Лазарев Ю.Ф., каф. ПСОН');
h1=text(0,-0.15,['Выполнил ',sname]);
tm=fix(clock); Tv=tm(4:5);
h1=text(0.65,-0. 15,[sprintf(' %g:',Tv),' ',date]);
% Конец файла FizMayatn2_Yadro
Как видим, основные операции включают три главные группы - ввод начальных условий, организацию цикла
интегрирования и организацию оформления графического окна вывода.
Отладка программы
Отладка программы Заключается в запуске главного М-файла FizMayatn2, проверке правильности
функционирования всех частей программы, внесения корректив в тексты используемых М-файлов до тех пор,
пока все запрограммированные действия не
будут удовлетворять заданным требованиям. Сюда же входят и
действия по проверке «адекватности», т. е. соответствия получаемых программой результатов отдельным
априорно известным случаям поведения исследуемой системы. Очевидно, для такой проверки нужно подобрать
несколько совокупностей значений параметров системы, при которых поведение системы является известным
из предыдущих теоретических или экспериментальных исследований. Если полученные
программой
результаты полностью согласуются с известными, программа считается адекватной принятой математической
модели.
В приведенном тексте программы «вшитые» начальные значения параметров отвечают свободному движению
маятника при отсутствии трения. При таких условиях движение маятника представляет собой незатухающие
колебания относительно положения вертикали. Поэтому, если программа работает верно, на графиках должны
наблюдаться именно такие колебания
маятника. Результат работы созданной программы при этих условиях
представлен на рис. 2.11. Как видно, в этом отношении программа является адекватной принятой
математической модели.
Проведение исследований
Созданная программа теперь может быть использована для моделирования и исследования разнообразных
нелинейных эффектов, которые наблюдаются у физического маятника при поступательной вибрации точки его
подвеса. На рис. 2.12 - 2.17
продемонстрированные некоторые возможности созданной программы.
На рис. 2.12 приведены параметрические колебания маятника, которые могут возникать при вибрации точки
подвеса в вертикальном направлении. Из рисунка видно, что в этом случае колебания маятника относительно
вертикали сначала увеличиваются по амплитуде, а потом устанавливаются, причем частота постоянных
колебаний вдвое меньше частоты вибрации основания и составляет примерно
1,15.