end end end else
if (b1<=d1)&&(b2<=d2)
FBy2=(q*(b2-d1)^2-q*(d1-b1)^2)/(2*d2-2*d1);
FAy2=q*(b2-b1)-FBy2; for ii=1:leng if ii<=xx21
Fsx2(ii)=0; Mx2(ii)=0; else
if ii<=xx41 Fsx2(ii)=q*((ii-1)*L/500-b1);
Mx2(ii)=-q*((ii-1)*L/500-b1)^2/2;
else
if ii<=xx22 Fsx2(ii)=q*((ii-1)*L/500-b1)-FAy2;
Mx2(ii)=FBy2*(d2-(ii-1)*L/500)-q*(b2-(ii-1)*L/500)^2/2;
else if ii<=xx42
Fsx2(ii)=FBy2;
Mx2(ii)=FBy2*(d2-(ii-1)*L/500);
else Fsx2(ii)=0;
Mx2(ii)=0;
end end end end end else if (b1<=d1)&&(b2<=L)
FBy2=(q*(b2-d1)^2-q*(d1-b1)^2)/(2*d2-2*d1);
FAy2=q*(b2-b1)-FBy2;
for ii=1:leng if ii<=xx21
Fsx2(ii)=0; Mx2(ii)=0; else
if ii<=xx41 Fsx2(ii)=q*((ii-1)*L/500-b1);
Mx2(ii)=-q*((ii-1)*L/500-b1)^2/2;
else if ii<=xx42
Fsx2(ii)=q*((ii-1)*L/500-b1)-FAy2;
Mx2(ii)=FBy2*(d2-(ii-1)*L/500)-q*(b2-(ii-1)*L/500)^2/2;
else if ii<=xx22
Fsx2(ii)=-q*(b2-(ii-1)*L/500);
Mx2(ii)=-q*(b2-(ii-1)*L/500)/2;
else
Fsx2(ii)=0;
Mx2(ii)=0;
end
end end end end else
if (b1>=d1)&&(b2<=d2)
FBy2=q*(b2-b1)*((b1+b2)/2-d1)/(d2-d1);
FAy2=q*(b2-b1)-FBy2;
for ii=1:leng if ii<=xx41 Fsx2(ii)=0;
Mx2(ii)=0;
else if ii<=xx21
Fsx2(ii)=-FAy2;
Mx2(ii)=FAy2*((ii-1)*L/500-d1);
else if ii<=xx22
Fsx2(ii)=q*((ii-1)*L/500-b1)-FAy2;
Mx2(ii)=FAy2*((ii-1)*L/500-d1)-q*((ii-1)*L/500-b1)^2/2;
else
if ii<=xx42
Fsx2(ii)=FBy2;
Mx2(ii)=FBy2*(d2-(ii-1)*L/500);
else
Fsx2(ii)=0;
Mx2(ii)=0;
end
end
end end end else if
(b1>=d1)&&(b1<=d2)&&(b2<=L)
FBy2=q*(b2-b1)*((b1+b2)/2-d1)/(d2-d1);
FAy2=q*(b2-b1)-FBy2;
for ii=1:leng
if ii<=xx41
Fsx2(ii)=0;
Mx2(ii)=0;
else if ii<=xx21
Fsx2(ii)=-FAy2;
Mx2(ii)=FAy2*((ii-1)*L/500-d1);
else
if ii<=xx42
Fsx2(ii)=q*((ii-1)*L/500-b1)-FAy2;
Mx2(ii)=FAy2*((ii-1)*L/500-d1)-q*((ii-1)*L/500-b1)^2/2;
else
if ii<=xx22
Fsx2(ii)=-q*(b2-(ii-1)*L/500);
Mx2(ii)=-q*(b2-(ii-1)*L/500)/2;
else
if ii<=xx22 Fsx2(ii)=0;
Fsx2(ii)=-q*(b2-(ii-1)*L/500); Mx2(ii)=0; end end end end end else FBy2=q*(b2-b1)*((b1+b2)/2-d1)/(d2-d1); FAy2=FBy2-q*(b2-b1); for ii=1:leng if ii<=xx41 Fsx2(ii)=0; Mx2(ii)=0; else if ii<=xx42 Fsx2(ii)=FAy2; Mx2(ii)=-FAy2*((ii-1)*L/500-d1); else if ii<=xx21 Fsx2(ii)=-q*(b2-b1); Mx2(ii)=FBy2*((ii-1)*L/500-d2)-FAy2*((ii-1)*L/500-d1); else
Mx2(ii)=-q*(b2-(ii-1)*L/500)^2/2;
else
Fsx2(ii)=0;
Mx2(ii)=0; end end
end
end end
end end
end end
end
FBy3=M/(d2-d1); FAy3=M/(d2-d1); if c<=d1
for ii=1:leng; if ii<=xx3
Fsx3(ii)=0; Mx3(ii)=0;
else if ii<=xx41
Fsx3(ii)=0; Mx3(ii)=-M;
else if ii<=xx42
Fsx3(ii)=-FBy3;
Mx3(ii)=-FBy3*(d2-(ii-1)*L/500); else
Fsx3(ii)=0; Mx3(ii)=0; end end end end else
if c<=d2
for ii=1:leng if ii<=xx41
Fsx3(ii)=0; Mx3(ii)=0; else
if ii<=xx3 Fsx3(ii)=-FAy3;
Mx3(ii)=FAy3*((ii-1)*L/500-d1);
else
if ii<=xx42 Fsx3(ii)=-FBy3;
Mx3(ii)=-FBy3*(d2-(ii-1)*L/500);
else Fsx3(ii)=0;
Mx3(ii)=0;
end end end end else
for ii=1:leng if ii<=xx41
Fsx3(ii)=0; Mx3(ii)=0; else
if ii<=xx42 Fsx3(ii)=-FAy3;
Mx3(ii)=FAy3*((ii-1)*L/500-d1); else
if ii<=xx3 Fsx3(ii)=0;
Mx3(ii)=M;
else Fsx3(ii)=0;
Mx3(ii)=0;
end end end end end end
flag1=1; flag2=1;
Fsx=Fsx3+Fsx2+Fsx1; Mx=Mx3+Mx2+Mx1; for jj=1:leng
if abs(Fsx(jj))>=abs(Fsx(flag1)) flag1=jj; end
if abs(Mx(jj))>=abs(Mx(flag2)) flag2=jj; end
end yy=0*ones(1,leng); yyy2=abs(Fsx); yyyy2=max(yyy2); yyy3=abs(Mx); yyyy3=max(yyy3); axes(handles.axes2); grid on
plot(x,yy,'LineWidth',2);
axis([0,L,-1.2*yyyy2,1.2*yyyy2]); hold on
plot(x,Fsx,'LineWidth',2); hold on
xxx1=L/500*(flag1-1);
plot(xxx1,Fsx(flag1),'bo','MarkerSize',10);
hold on
for kk=1:4:leng
plot([x(kk),x(kk)],[0,Fsx(kk)],'LineWidth',0.4)
end
xlabel('x/m');
ylabel('??á|Fs/N'); axes(handles.axes3); grid on
plot(x,yy,'LineWidth',2);
axis([0,L,-1.2*yyyy3,1.2*yyyy3]); hold on
plot(x,Mx,'LineWidth',2); hold on
xxx2=L/500*(flag2-1);
plot(xxx2,Mx(flag2),'bo','MarkerSize',10);
for ll=1:4:leng
plot([x(ll),x(ll)],[0,Mx(ll)],'LineWidth',0.4)
end
xlabel('x/m'); ylabel('í???M/N.m'); str1=num2str(yyyy2); str2=num2str(xxx1);
set(handles.edit11,'String',str1); set(handles.edit12,'String',str2); str3=num2str(yyyy3); str4=num2str(xxx2);
set(handles.edit13,'String',str3); set(handles.edit14,'String',str4);
% Hint: get(hObject,'Value') returns toggle state of togglebutton1
% --- Executes on button press in togglebutton2.
function
togglebutton2_Callback(hObject, eventdata, handles)
% hObject handle to togglebutton2 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
axes(handles.axes2); cla;
axes(handles.axes3); cla;
str1=num2str(0); str2=num2str(0);
set(handles.edit11,'String',str1); set(handles.edit12,'String',str2); str3=num2str(0); str4=num2str(0);
set(handles.edit13,'String',str3); set(handles.edit14,'String',str4); % Hint: get(hObject,'Value') returns toggle state of togglebutton2

