Sie sind auf Seite 1von 5

Universidad Tcnica Federico Santa Mara Taller de MATLAB

Departamento de Obras Civiles 2 Semestre 2014

1. Ejercicios de Aplicacin

1.1. Diagramas de Momento y Corte Estructuras Isostticas

Generar funciones para calcular diagramas de Momento y Corte para los siguientes casos
utilizando las ecuaciones de equilibrio. Usar un enfoque numrico en MATLAB:

1.- Viga Simplemente Apoyada con carga uniformemente distribuida y largo

2.- Viga Simplemente Apoyada con Carga Puntual a una distancia arbitraria medida desde el
apoyo y de largo


3.- Viga en Voladizo con carga uniformemente distribuida y largo


Las funciones deben recibir los parmetros necesarios expuestos en las figuras anteriores y
entregar en una matriz los valores con la posicin, Momento y Corte en la Viga.

Felipe Guerrero Arias Pgina 1


Universidad Tcnica Federico Santa Mara Taller de MATLAB
Departamento de Obras Civiles 2 Semestre 2014

1.2. Hidrulica

Generar funciones para calcular la altura de escurrimiento en canales de distintas secciones


utilizando la ecuacin de Manning:

Dnde:

Caudal Porteado
Pendiente longitudinal del canal
Coeficiente de rugosidad de Manning
rea de escurrimiento
Permetro Mojado

Figura 3.- rea, Permetro Mojado y Radio Hidrulico para distintas secciones de canal.

La funcin debe entregar la altura de escurrimiento en el canal recibiendo los parmetros


necesarios para su clculo. Hint: Use la funcin fzero con un intervalo finito [x0 x1]. Para el caso
de seccin circular usar H=0.8D como mxima altura permisible de diseo.

Felipe Guerrero Arias Pgina 2


Universidad Tcnica Federico Santa Mara Taller de MATLAB
Departamento de Obras Civiles 2 Semestre 2014

Los cdigos para cada botn son los mostrados a continuacin. Ustedes deben analizar en que
Callback va cada cdigo, como vimos en el ltimo taller. Recuerden que solo el BUTTON GROUP
posee un tipo de Callback llamado SelectionChangeFcn (Se explica por si slo con el nombre) y los
dems son slo CALLBACKS, que es el EVENTO ms simple de una componente (apretar un botn
por ejemplo). Sin embargo existen ms tipos de Callbacks o eventos de una componente como por
ejemplo, si mantienen cierta tecla presionada, o hacen click en cierta parte, o cuando se crea
cierta componente, entre otros.

BUTTON GROUP

if hObject == handles.VSA_CW

axes(handles.figura);
im=imread('VSA_CW.png');
imshow(im);

end
if hObject == handles.VE_CW

axes(handles.figura);
im=imread('VE_CW.png');
imshow(im);

end
if hObject == handles.VSA_CP

axes(handles.figura);
im=imread('VSA_CP.png');
imshow(im);

end

Nota 1: Recuerden que esta forma de programar la queramos cambiar por otra, que es ms fcil
de entender segn mi criterio (busquen videos en Youtube de radio buttons). Por mientras usen
esta y traten de analizar que hace, ya que es otra forma de programacin (que ni yo conoca).
Nota 2: Infieran que hace la opcin imread. Notar que necesitan imgenes para mostrar en su axes
de tag figura. Obtnganlas de este mismo documento. Probar el tamao de su axes figura
hasta que se alcanze una buena resolucin

Felipe Guerrero Arias Pgina 3


Universidad Tcnica Federico Santa Mara Taller de MATLAB
Departamento de Obras Civiles 2 Semestre 2014

SLIDER

set(handles.gActual,'String',get(handles.grosor,'Value'))

TOOGLE BUTTON

h=get(handles.grilla,'Value');
if h==1
axes(handles.momento)
grid on
axes(handles.corte)
grid on
else
axes(handles.momento)
grid off
axes(handles.corte)
grid off
end

CHECK BOX

h=get(handles.holdON,'value');

if h==1
axes(handles.momento)
hold on
axes(handles.corte)
hold on
else
axes(handles.momento)
hold off
axes(handles.corte)
hold off
end

Felipe Guerrero Arias Pgina 4


Universidad Tcnica Federico Santa Mara Taller de MATLAB
Departamento de Obras Civiles 2 Semestre 2014

PUSH BUTTON

caso = get(get(handles.panelCaso,'selectedObject'),'Tag');%Obtiene el
caso del panel

w=str2num(get(handles.w,'string'));
L=str2num(get(handles.L,'string'));
a=str2num(get(handles.a,'string'));
P=str2num(get(handles.P,'string'));
grosor=get(handles.grosor,'value');

color={'b','r','k','g','c','m','y'};
colorSeleccionado=get(handles.color,'value');

if strcmp(caso,'VSA_CW')
[x M V] = VSA_cargaW(w,L);
end
if strcmp(caso,'VE_CW')
[x M V] = VEMP_cargaW(w,L);
end
if strcmp(caso,'VSA_CP')
[x M V] = VSA_cargaP(P,L,a);
end

axes(handles.momento);
plot(x,-M,color{colorSeleccionado},'Linewidth',grosor)
ylabel('Momento T*m'); title('Diagrama de Momento')
axes(handles.corte);
plot(x,V,color{colorSeleccionado},'Linewidth',grosor)
xlabel('Distancia m'); ylabel('Corte T'); title('Diagrama de Corte')

Nota 3: Si se fijan, el cdigo para llamar a las funciones que creamos dependiendo el estado de
carga de Viga se encuentran ac. Notar la primera lnea de cdigo. Esto mismo podra haber sido
utilizado para obtener el RADIO BUTTON seleccionado del BUTTON GROUP como se menciona en
la Nota 1

Nota 4: En resumen, nuestro cdigo principal est en el PUSH BUTTON (en este caso) y los dems
son slo cdigos que hacen que su interfaz sea ms dinmica. Podran hacer muchas cosas ms,
como ponerle que muestre el mximo momento o corte, dar la opcin para mostrar o no la leyenda
(similar a la grilla), y todo lo que se les ocurra.

El cdigo anterior slo les funcionar si copiaron los TAGs (nombre de las variables) como se
especific en el taller

SALUDOS!

Felipe Guerrero Arias Pgina 5

Das könnte Ihnen auch gefallen