ТЕКСТ ПРОГРАММЫ К БЛОКУ 0 ПО «ТЕОРИИ КОЛЕБАНИЙ»
1 СЕМЕСТР 2012-2013г.
> restart;
ЗАПИШЕМ ПО ОПРЕДЕЛЕНИЮ ПОТЕНЦИАЛЬНУЮ ЭНЕРГИЮ СИСТЕМЫ НА РИС. 0.1:
> P:=1/2*c_0*(sqrt(L^2+q^2)-L+S_0)^2-1/2*c_0*S_0^2;
НАЙДЕМ ТОЧНОЕ ВЫРАЖЕНИЕ ДЛЯ ВОССТАНАВЛИВАЮЩЕЙ СИЛЫ:
> F:=diff(P,q);
РАЗЛОЖИМ ВЫРАЖЕНИЕ ДЛЯ ПОТЕНЦИАЛЬНОЙ ЭНЕРГИИ В РЯД МАКЛОРЕНА, СОХРАНИВ В НЕМ ЧЛЕНЫ НЕ ВЫШЕ 2-ОЙ СТЕПЕНИ. Это будет линеаризованное выражение для этой энергии:
> #plot([F,c_0*(-L+S_0)/sqrt(L^2+q^2)*q, c_0*q],q=-0.2..0.2);
> P_lin:=taylor(P, q=0,3);
СКОНВЕРТИРУЕМ ЕГО В ПОЛИНОМ ( ЧТОБЫ НЕ БЫЛО ОСТАТОЧНОГО ЧЛЕНА О(q^4)):
> P_lin:=convert(P_lin, polynom);
УПРОСТИМ ЕГО:
> P_lin:=simplify( P_lin, 'assume=positive' );
НАЙДЕМ ЛИНЕАРИЗОВАННУЮ ВОССТАНАВЛИВАЮЩУЮ СИЛУ:
> F_lin:=diff(P_lin, q);
ИССЛЕДУЕМ ВЛИЯНИЕ ЖЕСТКОСТИ ПРУЖИНЫ НА П и F:
> L:=0.15; c_0:=5000; S_0:=0.002;
ЧИСЛО i ОЗНАЧАЕТ, ВО СКОЛЬКО РАЗ МЫ БУДЕМ МЕНЯТЬ ЖЕСТКОСТЬ ПРУЖИНЫ:
> c_0:=c_0*i;
ФОРМИРУЕМ ДИАПОЗОН ИЗМЕНЕНИЯ ОБОБЩЕННОЙ КООРДИНАТЫ И ПОТЕНЦИАЛЬНОЙ ЭНЕРГИИ:
> X_min:=-0.2;X_max:=+0.2;Y_min:=0;Y_max:=20;
СОЗДАЕМ ПОСЛЕДОВАТЕЛЬНОСТЬ ИЗ 3-х ГРАФИКОВ ПОТЕНЦИАЛЬНОЙ ЭНЕРГИИ. РАССТОЯНИЕ L И S_0 – НОМИНАЛЬНЫЕ, А ЖЕСТКОСТЬ ПРУЖИНЫ ПРИНИМАЕТ 3 ЗНАЧЕНИЯ:
> seq_c_0:=plot([seq(P,i=[0.9,1,4]) ],q=X_min..X_max, thickness=2, colour=[RED, BLUE, GREEN]):
> #seq_c_0_lin:=plot([seq(P_lin,i=[0.9,1,4]) ],q=-0.2..0.2, thickness=2, colour=[RED, BLUE, GREEN], linestyle=2):
СОЗДАЕМ ПОСЛЕДОВАТЕЛЬНОСТЬ ИЗ 3-х ГРАФИКОВ ВОССТАНАВЛИВАЮЩЕЙ СИЛЫ. РАССТОЯНИЕ L И S_0 – НОМИНАЛЬНЫЕ, А ЖЕСТКОСТЬ ПРУЖИНЫ ПРИНИМАЕТ 3 ЗНАЧЕНИЯ:
> seq_F_c_0:=plot([seq(F,i=[0.9,1,4]) ],q=X_min..X_max, thickness=2, colour=[RED, BLUE, GREEN]):
ПОДКЛЮЧАЕМ ПАКЕТ ПЕЧАТИ:
> with (plots):
СОЗДАЕМ СЕТКУ ДЛЯ ГРАФИКОВ ПОТЕНЦИАЛЬНОЙ ЭНЕРГИИ:
> Net:=coordplot(cartesian, [X_min..X_max,Y_min..Y_max], color=[black,black], grid=[5,5], view=[X_min..X_max,Y_min..Y_max], ytickmarks=4):
ОТОБРАЖАЕМ 3 ГРАФИКА ТОЧНОЙ ПОТЕНЦИАЛЬНОЙ ЭНЕРГИИ ДЛЯ 3 ЗНАЧЕНИЙ ЖЕСТКОСТИ ПРУЖИНЫ:
> display(seq_c_0, Net);
ФОРМИРУЕМ ДИАПОЗОН ИЗМЕНЕНИЯ ОБОБЩЕННОЙ КООРДИНАТЫ И ВОССТАНАВЛИВАЮЩЕЙ СИЛЫ:
> X_min:=-0.2;X_max:=+0.2;Y_min_F:=-400;Y_max_F:=400;
СОЗДАЕМ СЕТКУ ДЛЯ ГРАФИКОВ ВОССТАНАВЛИВАЮЩЕЙ СИЛЫ:
> Net_F:=coordplot(cartesian, [X_min..X_max,Y_min_F..Y_max_F], color=[black,black], grid=[5,5], view=[X_min..X_max,Y_min_F..Y_max_F], ytickmarks=4, linestyle=[1,1], axesfont=[TIMES, ITALIC, 12]):
ОТОБРАЖАЕМ 3 ГРАФИКА ТОЧНОЙ ВОССТАНАВЛИВАЮЩЕЙ СИЛЫ ДЛЯ 3 ЗНАЧЕНИЙ ЖЕСТКОСТИ ПРУЖИНЫ:
> display(Net_F,seq_F_c_0);
ИССЛЕДУЕМ ВЛИЯНИЕ РАССТОЯНИЯ МЕЖДУ ОПОРАМИ А И В НА РИС. 0.1. ПЕРЕМЕННАЯ j ПОКАЗЫВАЕТ, ВО СКОЛЬКО РАЗ ИЗМЕНЯЕМ РАССТОЯНИЕ L. ТУТ ЖЕ ПРОВЕРЯЕМ, ЧТО ОСТАЛЬНЫЕ ПАРАМЕТРЫ НОМИНАЛЬНЫЕ:
> i:=1;L:=L*j; c_0:=c_0; S_0:=S_0;
СОЗДАЕМ ПОСЛЕДОВАТЕЛЬНОСТЬ ИЗ 3-х ГРАФИКОВ ПОТЕНЦИАЛЬНОЙ ЭНЕРГИИ. ЖЕСТКОСТЬ ПРУЖИНЫ И S_0 – НОМИНАЛЬНЫЕ, А РАССТОЯНИЕ L ПРИНИМАЕТ 3 ЗНАЧЕНИЯ:
> seq_L:=plot([seq(P,j=[0.9,1,4]) ], q=-0.2..0.2, thickness=2, colour=[RED, BLUE, GREEN]):
СОЗДАЕМ ПОСЛЕДОВАТЕЛЬНОСТЬ ИЗ 3-х ГРАФИКОВ ВОССТАНАВЛИВАЮЩЕЙ СИЛЫ. ЖЕСТКОСТЬ ПРУЖИНЫ И S_0 – НОМИНАЛЬНЫЕ, А РАССТОЯНИЕ L ПРИНИМАЕТ 3 ЗНАЧЕНИЯ:
> seq_F_L:=plot([seq(F,j=[0.9,1,4]) ], q=-0.2..0.2, thickness=2, colour=[RED, BLUE, GREEN]):
ОТОБРАЖАЕМ 3 ГРАФИКА ТОЧНОЙ ПОТЕНЦИАЛЬНОЙ ЭНЕРГИИ ДЛЯ 3 ЗНАЧЕНИЙ РАССТОЯНИЯ L:
> display(seq_L, Net);
ОТОБРАЖАЕМ 3 ГРАФИКА ТОЧНОЙ ВОССТАНАВЛИВАЮЩЕЙ СИЛЫ ДЛЯ 3 ЗНАЧЕНИЙ РАССТОЯНИЯ L:
> display(seq_F_L, Net_F);
ОЦЕНКА ВЛИЯНИЯ НАЧАЛЬНОГО НАТЯЖЕНИЯ:
РАССТОЯНИЕ L И ЖЕСТКОСТЬ c_0 НОМИНАЛЬНЫЕ, А НАТЯЖЕНИЕ ПРИНИМАЕТ 3 ЗНАЧЕНИЯ:
> j:=1; L:=L*j; c_0:=c_0; S_0:=S_0*k;
СОЗДАЕМ ПОСЛЕДОВАТЕЛЬНОСТЬ ИЗ 3-х ГРАФИКОВ ПОТЕНЦИАЛЬНОЙ ЭНЕРГИИ. ЖЕСТКОСТЬ ПРУЖИНЫ И L– НОМИНАЛЬНЫЕ, А НАТЯЖЕНИЕ S_0 ПРИНИМАЕТ 3 ЗНАЧЕНИЯ
> seq_S_0:=plot([seq(P,k=[0.9,1,4]) ], q=-0.2..0.2, thickness=2, colour=[RED, BLUE, GREEN]):
ПРОВЕРКА НОМИНАЛЬНОСТИ ПАРАМЕТРОВ:
> c_0; L; S_0;
СОЗДАЕМ ПОСЛЕДОВАТЕЛЬНОСТЬ ИЗ 3-х ГРАФИКОВ ВОССТАНАВЛИВАЮЩЕЙ СИЛЫ. ЖЕСТКОСТЬ ПРУЖИНЫ И L– НОМИНАЛЬНЫЕ, А НАТЯЖЕНИЕ S_0 ПРИНИМАЕТ 3 ЗНАЧЕНИЯ
> seq_F_S_0:=plot([seq(F,k=[0.09,1,4]) ], q=-0.2..0.2, thickness=2, colour=[RED, BLUE, GREEN]):
> display(seq_S_0, Net);
> display(seq_F_S_0, Net_F);
НАХОЖДЕНИЕ ОТРЕЗКА ЛИНЕЙНОСТИ. НАИБОЛЕЕ НЕБЛАГОПРИЯТНОЕ СОЧЕТАНИЕ ПАРАМЕТРОВ:
> c_0:=20000; L:=0.0135; S_0:=0.008;
ПРОВЕРКА ПРАВИЛЬНОСТИ НУЖНЫХ ВЫРАЖЕНИЙ:
> P:=P;F:=F;P_lin:=P_lin;F_lin:=F_lin;
ФОРМИРУЕМ ДИАПОЗОН ИЗМЕНЕНИЯ ОБОБЩЕННОЙ КООРДИНАТЫ И ПОТЕНЦИАЛЬНОЙ ЭНЕРГИИ. ИХ НУЖНО ВЗЯТЬ ПОМЕНЬШЕ, ЧТОБЫ ЛУЧШЕ БЫЛО ВИДНО РАСХОЖДЕНИЕ ГРАФИКОВ:
> X_min:=-0.01;X_max:=+0.01;Y_min:=0;Y_max:=1;
СОЗДАЕМ 2 plot-СТРУКТРУРЫ ДЛЯ ТОЧНОЙ И ЛИНЕАРИЗОВАННОЙ ПОТЕНЦИАЛЬНОЙ ЭНЕРГИИ:
> Gr_P_P_lin:=plot ([P, P_lin], q=X_min..X_max, thickness=2, colour=[RED, GREEN]):
СЕТКА ДЛЯ П:
> Net:=coordplot(cartesian, [X_min..X_max,Y_min..Y_max], color=[black,black], grid=[5,5], view=[X_min..X_max,Y_min..Y_max], ytickmarks=4):
ЭТО ПОДСЧЕТ ПОГРЕШНОСТИ. ЧИСЛА БЕРУТЬСЯ С ГРАФИКОВ:
> (0.62-0.57)/0.62*100;
> display(Gr_P_P_lin, Net);
ФОРМИРУЕМ ДИАПОЗОН ИЗМЕНЕНИЯ ОБОЩЕННОЙ КООРДИНАТЫ И ВОССТАНАВЛИВАЮЩЕЙ СИЛЫ:
> X_min:=-0.01;X_max:=+0.01;Y_min_F:=-250;Y_max_F:=250;
СЕТКА ПОД СИЛУ:
> Net_F:=coordplot(cartesian, [X_min..X_max,Y_min_F..Y_max_F], color=[black,black], grid=[5,5], view=[X_min..X_max,Y_min_F..Y_max_F], ytickmarks=5, linestyle=[1,1], axesfont=[TIMES, ITALIC, 12]):
СОЗДАЕМ 2 plot-СТРУКТРУРЫ ДЛЯ ТОЧНОЙ И ЛИНЕАРИЗОВАННОЙ ВОССТАНАВЛИВАЮЩЕЙ СИЛЫ:
> Gr_P_P_lin:=plot ([F, F_lin], q=X_min..X_max, thickness=2, colour=[RED, GREEN]):
РАСЧЕТ ПОГРЕШНОСТИ СИЛЫ:
> (133.22-115.13)/133.22*100;
> display(Net_F, Gr_P_P_lin);
Поиск по сайту: