Está en la página 1de 4

Programa que calcula desviaciones

Cdigo de las variables del tipo:


function Hd_Callback (hObject, eventdata, handles)
%Aqui no se escribe nada

function Hd_CreateFcn(hObject, eventdata, handles)


if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
%Aqui no se escribe nada

Botn de ejemplo

function boton_ejemplo_Callback(~, eventdata, handles)

%ejemplo datos
set(handles.cargaB,'String','20000');
set(handles.cargaC,'String','30000');
set(handles.AB,'String','3');
set(handles.BC,'String','3');
set(handles.AE,'String','4');
set(handles.A,'String','300*10^-6');
set(handles.E,'String','200*10^9');
Botn de calcular
function boton_calcular_Callback(hObject, eventdata, handles)

cargaB=get(handles.cargaB,'String');
cargaC=get(handles.cargaC,'String');
AB=get(handles.AB,'String');
BC=get(handles.BC,'String');
AE=get(handles.AE,'String');
%-----------------------------------------------------------
A=get(handles.A,'String');
E=get(handles.E,'String');
%disp('reaccion en los apoyos')
AC=AB+BC;BD=AE/2;alfa=atand(BD/AB);
AD=sqrt(AB^2+BD^2);CE=sqrt(AE^2+AC^2);
DE=AB/AC*CE;CD=BC/AC*CE;
%disp('valores en cada barra')
%equilibrio
Rex=(AB*cargaB+AC*cargaC)/4;
Rax=-Rex;
%nodo E
Tde=-Rex/cosd(alfa);Rey=-Tde*sind(alfa);Ray=cargaB+cargaC-Rey;
%nodo A
Tad=Ray/sind(alfa);Tab=-Rax-Tad*cosd(alfa);
%nodo B
Tbd=-cargaB;Tbc=Tab;
%nodo C
Tcd=(-cargaC)/sind(alfa);
%-------------------------------------------
%disp('valores en cada barra con unitario vertical')
%equilibrio
%disp('equilibrio SFx=0, SFy=0, SMe=0')
nax=-1*AB/4;nex=-nax;
%disp('por inspeccion los nodos B y C no soportan cargas')
nab=0;nbc=0;nbd=0;ncd=0;
%disp('en el nodo E')
nde=-nex/cosd(alfa);
%disp('en el nodo A')
nad=-nax/cosd(alfa);
%-------------------------------------------
%disp(' ')
%disp('deslizamiento vertical del nodo D, dVD')
SSv=Tab*nab*AB+Tbc*nbc*BC+Tbd*nbd*BD+Tde*nde*DE+Tad*nad*AD+Tcd*ncd*CD;
Vd=SSv/(A*E);
Vdp=Vd*1000;
%-----------------------------------------
%disp(' ')
%disp('valores en cada barra con unitario horizontal')
%disp('por inspeccion los nodos B y C no soportan cargas')
mab=0;mbc=0;mbd=0;mcd=0;m1=1;
%disp('por equilibrio, SFx=0, SFy=0, SMa=0')
mex=-m1/2;mde=-mex/cosd(alfa);%max=-m1-mex;
%disp('en el nodo E')
mey=-mde*sind(alfa);
%disp('en el nodo A')
may=-mey;mad=may/sind(alfa);
SSh=Tab*mab*AB+Tbc*mbc*BC+Tbd*mbd*BD+Tde*mde*DE+Tad*mad*AD+Tcd*mcd*CD;
Hd=SSh/(A*E);
Hdp=Hd*1000;
%-----------------------------------------------------------

%------------------------------------------------------------
%reacciones en A y E
set(handles.Rax,'String',Rax)
set(handles.Ray,'String',Ray)
set(handles.Rex,'String',Rex)
set(handles.Rey,'String',Rey)
%cargas en cada barra
set(handles.Tab,'String',Tab)
set(handles.Tbc,'String',Tbc)
set(handles.Tbd,'String',Tbd)
set(handles.Tcd,'String',Tcd)
set(handles.Tad,'String',Tad)
set(handles.Ted,'String',Ted)
%desplazamiento del nodo D
set(handles.Hd,'String',Hd)
set(handles.Hdp,'String',Hdp)
set(handles.Vd,'String',Vd)
set(handles.Vdp,'String',Vdp)

Botn de limpiar

function boton_limpiar_Callback(hObject, eventdata, handles)


limpia=' ';
%limpiar datos
set(handles.cargaB,'string',limpia);
set(handles.cargaC,'string',limpia);
set(handles.AB,'string',limpia);
set(handles.BC,'string',limpia);
set(handles.AE,'string',limpia);
set(handles.A,'string',limpia);
set(handles.E,'string',limpia);
%limpiar resultados
%reacciones
set(handles.Rax,'string',limpia);
set(handles.Ray,'string',limpia);
set(handles.Rex,'string',limpia);
set(handles.Rey,'string',limpia);
%desplazamientos
set(handles.Vd,'string',limpia);
set(handles.Vdp,'string',limpia);
set(handles.Hd,'string',limpia);
set(handles.Hdp,'string',limpia);

Para insertar imagen de fondo

% insertar imagen de fondo.


function axes6_CreateFcn(hObject, eventdata, handles)
a=imread('clarod.jpg');
imshow(a)

Botn salir
% --- Executes on button press in boton_salir.
function boton_salir_Callback(hObject, eventdata, handles)
opc=questdlg('Desea salir del programa?','SALIR','Si','No','No');
if strcmp(opc,'No')
return;
end
clear,clc,close all

También podría gustarte