Комплексный расчет элементов строительных конструкций в среде MATLAB. Карпов В.В - 48 стр.

UptoLike

Составители: 

94 95
Теперь в окне приложения разместим текстовое поле Edit для ввода
количества базисных функций со значением editNF свойства Tag, ря-
дом с нимсоответствующую метку с текстом и кнопку решение
с именем btnSOLVE. Для вывода информации об окончании расчета разме-
стим рядом с кнопкой метку, куда после решения будет занесён текст ре-
шение
выполнено. Обработаем событие ptnSOLVE_Callback (листинг 3.9).
Листинг 3.9
function btnSOLVE_Callback(hObject, eventdata, handles)
handles.nf = str2double(get(handles.editNF, 'String'));
guidata(gcbo,handles);
handles.C = ritz_lin_elast(handles.L,handles.E,handles.H,handles.q,…
handles.nf, handles.ends);
guidata(gcbo,handles);
set(handles.textSOLVE, 'String','РЕШЕНИЕ ВЫПОЛНЕНО');
Следующий этапвизуализация результатов. Предварительно
создадим две функции: fig_w.m для изображения прогибов
)(
x
w
и fig_def.mформы деформированной оси балки. Текст функций при-
ведён в листингах 3.10 и 3.11.
Листинг 3.10
function fig_w(L,H,C,nf,ends)
% построение функции прогибов
syms x
switch ends
case 0
for k = 1:nf
fi(k) = sin(k*pi*x/L);
ddfi(k) = -(k*pi/L)^2*sin(k*pi*x/L);
end
case 1
for k = 1:nf
fi(k) = x^(k+3)-2*L*x^(k+2)+L^2*x^(k+1);
ddfi(k) = (k^2+5*k+6)*x^(k+1)-2*L*(k^2+3*k+2)*x^k…
+L^2*(k^2+k)*x^(k-1);
end
end
yr = 0;
for k =1:nf
yr = yr + C(k)*fi(k);
end
xp = [0:0.01:L]';
w = subs(yr, x, xp);
set(gcf,'Color', 'w');
grw = plot(xp,w);
set(grw,'Color', 'c','LineWidth', 3) ;
set(gca, 'Box', 'off');
set(gca, 'FontName','Times New Roman Cyr','FontSize',10);
set(gca,'YLim', [-H 5*H ], 'XLim', [0 L]);
xlabel('{\itx} [м]')
ylabel('{\itw} [м]')
grid on
Листинг 3.11
function fig_def(L,C,nf,ends)
% построение формы деформированной оси балки
syms x
switch ends
case 0
for k = 1:nf
fi(k) = sin(k*pi*x/L);
ddfi(k) = -(k*pi/L)^2*sin(k*pi*x/L);
end
case 1
for k=1:nf
fi(k) = x^(k+3)-2*L*x^(k+2)+L^2*x^(k+1);
ddfi(k) = (k^2+5*k+6)*x^(k+1)-2*L*(k^2+3*k+2)*x^k…
+L^2*(k^2+k)*x^(k-1);
end
end
yr = 0;