Software de Programacion Radios Kenwood_ SOFTWARE de PROGRAMACION RADIOS KEN
Programacion
-
Upload
rocky-ayala-bizarro -
Category
Documents
-
view
8 -
download
0
Transcript of Programacion
Universidad Nacional de San Cristobal deHuamanga
Facultad de Ingenierıa Minas, Geologıa y Civil
Escuela de Formacion Profesional de Ingeniera Civil
CURSO
PROGRAMACION DIGITAL (IC-246)
TITULO
DOCENTE:
Ing. CANCHARI GUTIERREZ Edmundo
ALUMNOS:
AYALA BIZARRO Rocky G.
CARDENAS HUAMAN Royer J.
CONTRERAS VENTURA Samir
GAMBOA SANTANA Hedber
HUAMAN CABRERA Yelsin J.
Ayacucho, 19 de Junio de 2013
Baja
E FA DIOS por iluminar y bendecir nuestro camino. A nue-
stros padres, quienes nos apoyan de manera incondicional
en nuestra formacion academica; gracias a ellos por apostar
siempre en la educacion.
H G
INGENIERÍA CIVIL - UNSCH
INTRO DUCCION
Movimiento vibratorio o vibracion es la variacion o cambio de configuracion de un sistema
en relacion al tiempo, en torno a una posicion de equilibrio estable, su caracterıstica
fundamental es que es periodico, siendo frecuente el movimiento armonico simple, por lo que
este movimiento adquiere una singular importancia en los estudios vibratorios. Los sistemas
mecanicos al ser sometidos a la accion de fuerzas variables con el tiempo, principalmente
periodicas, responden variando sus estados de equilibrio y, como consecuencia, presentan
cambios de configuracion que perturban su normal funcionamiento, presentan molestias al
personal que los maneja y acortan la vida util de los mecanismos.
Actualmente, el estudio y analisis de las vibraciones mecanicas ha adquirido gran im-
portancia en la supervision de los sistemas mecanicos, sobre todo de elementos de tipo
rotativo. Independientemente de los planes de mantenimiento correctivo y preventivo, el
plan de mantenimiento predictivo se basa, principalmente, en el estudio de las vibraciones
mediante la instalacion de sensores que permiten detectar vibraciones fuera de rango.
En general, se suponen vibraciones de pequena amplitud porque fuera de ellas dejan de
tener validez la mayorıa de las hipotesis que se establecen para su estudio. Supongamos el
sistema de la figura, formado por una masa principal m, un elemento recuperador elastico
de constante k y un dispositivo amortiguador de constante c.
El Grupo
Escuela Profesional de Ingenierıa Civil
Universidad Nacional de San Cristobal de Huamanga
Ayacucho, Agosto del 2013.
INGENIERÍA CIVIL - UNSCH
OBJE TIVOS
Del informe:
Este trabajo se realiza para que el alumno obtenga una mejor comprension y
familiarizacion del entorno de programacion en MATLAB, adoptando ası su
entorno de guıa grafica mas conocido como GUIDE.
Se quiere que se logre manejar, comprender y entender la sintaxis de las
instrucciones de decision y las instrucciones iterativas en MATLAB.
Crear una aplicacion tipo ventana de trabajo en GUIDE, utilizando controles
admitidos por MATLAB.
Del Programa Desarrollado:
Facilitar y asegurar un rapido calculo en extensos puntos de un levantamiento
topografico.
Dar la facilidad de obtencion de datos al alumno y ejecutor de un levantamiento
topografico pueda exportar facilmente los puntos y resultados, dando ası una
mejor realizacion de plano del proyecto deseado.
Tambien el que podamos realizar un levantamiento topografico y un calculo
rapido y adecuado ayuda y facilita al ingeniero y/o alumno a hacer mas eficaz
y su proyecto.
1ING. CIVIL
FG
F
r
x
y
z
x0
y0
z0
0
0
+y
+xN
f R
T
Mg
+
T0
mg
v
y
x
60°
30°
z
A
B
120 ft
vB
vA C H A P T E R
691
Kinetics of Particles:Newton’s Second Law
bee29400_ch12_690-726.indd Page 691 12/3/08 9:27:13 PM user-s172bee29400_ch12_690-726.indd Page 691 12/3/08 9:27:13 PM user-s172 /Volumes/204/MHDQ077/work%0/indd%0/Volumes/204/MHDQ077/work%0/indd%0
UNSCH
Newton’s Second Law
N I N T H ED I T I O N
VECTOR MECHANICS FOR ENGINEERS
Statics and Dynamics
Ferdinand P. Beer Late of Lehigh University
E. Russell Johnston, Jr. University of Connecticut
David F. Mazurek U.S. Coast Guard Academy
Phillip J. Cornwell Rose-Hulman Institute of Technology
Elliot R. Eisenberg The Pennsylvania State University
bee29400_fm_i-xxiv.indd Page i 12/18/08 3:39:27 PM user-s172bee29400_fm_i-xxiv.indd Page i 12/18/08 3:39:27 PM user-s172 /Volumes/204/MHDQ078/work%0/indd%0/Volumes/204/MHDQ078/work%0/indd%0
Ferdinand
P.
Beer
Late of Lehigh University
E.
Russell
Johnston, Jr.
University of Connecticut
PROGRAMACIÓN
DINAMICA FOR ENGINEERS
v
v0
y
x
z
DIGITAL (IC-246) APLICACIÓN: CALCULO DE COORDENADAS
Fundamento Teorico
ING. CIVIL
FG
F
r
x
y
z
x0
y0
z0
0
0
+y
+xN
f R
T
Mg
+
T0
mg
v
y
x
60°
30°
z
A
B
120 ft
vB
vA C H A P T E R
691
Kinetics of Particles:Newton’s Second Law
bee29400_ch12_690-726.indd Page 691 12/3/08 9:27:13 PM user-s172bee29400_ch12_690-726.indd Page 691 12/3/08 9:27:13 PM user-s172 /Volumes/204/MHDQ077/work%0/indd%0/Volumes/204/MHDQ077/work%0/indd%0
UNSCH
Newton’s Second Law
N I N T H ED I T I O N
VECTOR MECHANICS FOR ENGINEERS
Statics and Dynamics
Ferdinand P. Beer Late of Lehigh University
E. Russell Johnston, Jr. University of Connecticut
David F. Mazurek U.S. Coast Guard Academy
Phillip J. Cornwell Rose-Hulman Institute of Technology
Elliot R. Eisenberg The Pennsylvania State University
bee29400_fm_i-xxiv.indd Page i 12/18/08 3:39:27 PM user-s172bee29400_fm_i-xxiv.indd Page i 12/18/08 3:39:27 PM user-s172 /Volumes/204/MHDQ078/work%0/indd%0/Volumes/204/MHDQ078/work%0/indd%0
Ferdinand
P.
Beer
Late of Lehigh University
E.
Russell
Johnston, Jr.
University of Connecticut
PROGRAMACIÓN
DINAMICA FOR ENGINEERS
v
v0
y
x
z
DIGITAL (IC-246) APLICACIÓN: CALCULO DE COORDENADAS
Programacion Digital Fundamento Teorico
1.1 Levantamiento Topografico.
Los levantamientos topograficos son tridimensionales y utilizan tecnicas de levantamiento
geodesico plano y otras especiales para establecer un control tanto vertical como horizontal.
Algunas Caracterısticas de un Levantamiento Topografico.
Las principales caracterısticas fısicas del terreno, tales como rıos, lagos, reservorios,
caminos, bosques o formaciones rocosas; o tambien los diferentes elementos que
componen la granja, estanques, represas, diques, fosas de drenaje o canales de
alimentacion de agua
Las diferencias de altura de los distintos relieves, tales como valles, llanuras, colinas o
pendientes; o la diferencia de altura entre los elementos de la granja. Estas diferencias
constituyen el perfil vertical.
1.2 Preparacion de un Levantamiento Topografico.
1.2.1 Planificacion del Trabajo:
Cuando se prepara un levantamiento topografico, como regla fundamental se debe proceder
de lo general a lo particular. Teniendo presente el trabajo en su conjunto y cuando deben
de darse los primeros pasos. Los diferentes tipos de levantamientos topograficos requieren
precisiones diversas, pero es importante determinar con la mayor precision posible los
primeros puntos de cada levantamiento. Los trabajos sucesivos se ajustan en relacion a
dichos primeros puntos.
Eleccion de exactitudes: Depende de la finalidad del trabajo y de la escala a que se
va a dibujar el plano.
Estudio del control existente: Se debe estudiar detenidamente los documentos
aprovechables a la zona del proyecto con el fin de ubicar los controles horizontales
y verticales (vertices geodesicos y BMs) que puedan existir en los alrededores del
levantamiento, determinando su importancia y exactitud. Estos controles se usan
posteriormente para comprobar y controlar el trabajo.
Reconocimiento: Una vez estudiados los documentos, es necesario realizar un recor-
rido del terreno con el fin de recuperar las senales de control existentes; al mismo
tiempo se colocan las estacas, jalones u otras senales que serviran para realizar el
trabajo de triangulacion, itinerario, poligonacion o nivelacion.
Una vez elegido el proyecto deben de seguirse los siguientes pasos:
Ingenierıa Civil3
Ing. Civil
Programacion Digital Fundamento Teorico
Al efectuarse el reconocimiento debe procederse del todo hacia las partes, es decir que la
zona a levantar se estudia en su totalidad y luego se realizan las subdivisiones necesarias;
se deben escoger alineamientos que no presenten dificultades para su mesura, los vertices
deben ubicarse en los lugares que no incomoden a nadie.
Eleccion de instrumentos y metodos: Depende de la exactitud que deban tenerse.
Los instrumentos precisos ahorran tiempo pero no son economicos.
Eleccion del metodo de calculo: Se debe de establecer el metodo mas eficaz para
manejar los datos que se van recibiendo del campo y seleccionar las formas de calculo.
Figure 1.1: Levantamiento Topografico
Ingenierıa Civil4
Ing. Civil
2ING. CIVIL
FG
F
r
x
y
z
x0
y0
z0
0
0
+y
+xN
f R
T
Mg
+
T0
mg
v
y
x
60°
30°
z
A
B
120 ft
vB
vA C H A P T E R
691
Kinetics of Particles:Newton’s Second Law
bee29400_ch12_690-726.indd Page 691 12/3/08 9:27:13 PM user-s172bee29400_ch12_690-726.indd Page 691 12/3/08 9:27:13 PM user-s172 /Volumes/204/MHDQ077/work%0/indd%0/Volumes/204/MHDQ077/work%0/indd%0
UNSCH
Newton’s Second Law
N I N T H ED I T I O N
VECTOR MECHANICS FOR ENGINEERS
Statics and Dynamics
Ferdinand P. Beer Late of Lehigh University
E. Russell Johnston, Jr. University of Connecticut
David F. Mazurek U.S. Coast Guard Academy
Phillip J. Cornwell Rose-Hulman Institute of Technology
Elliot R. Eisenberg The Pennsylvania State University
bee29400_fm_i-xxiv.indd Page i 12/18/08 3:39:27 PM user-s172bee29400_fm_i-xxiv.indd Page i 12/18/08 3:39:27 PM user-s172 /Volumes/204/MHDQ078/work%0/indd%0/Volumes/204/MHDQ078/work%0/indd%0
Ferdinand
P.
Beer
Late of Lehigh University
E.
Russell
Johnston, Jr.
University of Connecticut
PROGRAMACIÓN
DINAMICA FOR ENGINEERS
v
v0
y
x
z
DIGITAL (IC-246) APLICACIÓN: CALCULO DE COORDENADAS
Desarrollo del Programa
ING. CIVIL
FG
F
r
x
y
z
x0
y0
z0
0
0
+y
+xN
f R
T
Mg
+
T0
mg
v
y
x
60°
30°
z
A
B
120 ft
vB
vA C H A P T E R
691
Kinetics of Particles:Newton’s Second Law
bee29400_ch12_690-726.indd Page 691 12/3/08 9:27:13 PM user-s172bee29400_ch12_690-726.indd Page 691 12/3/08 9:27:13 PM user-s172 /Volumes/204/MHDQ077/work%0/indd%0/Volumes/204/MHDQ077/work%0/indd%0
UNSCH
Newton’s Second Law
N I N T H ED I T I O N
VECTOR MECHANICS FOR ENGINEERS
Statics and Dynamics
Ferdinand P. Beer Late of Lehigh University
E. Russell Johnston, Jr. University of Connecticut
David F. Mazurek U.S. Coast Guard Academy
Phillip J. Cornwell Rose-Hulman Institute of Technology
Elliot R. Eisenberg The Pennsylvania State University
bee29400_fm_i-xxiv.indd Page i 12/18/08 3:39:27 PM user-s172bee29400_fm_i-xxiv.indd Page i 12/18/08 3:39:27 PM user-s172 /Volumes/204/MHDQ078/work%0/indd%0/Volumes/204/MHDQ078/work%0/indd%0
Ferdinand
P.
Beer
Late of Lehigh University
E.
Russell
Johnston, Jr.
University of Connecticut
PROGRAMACIÓN
DINAMICA FOR ENGINEERS
v
v0
y
x
z
DIGITAL (IC-246) APLICACIÓN: CALCULO DE COORDENADAS
Programacion Digital Desarrollo del Programa
2.1 Procedimiento.
El procedimiento que se siguio para la realizacion del programa es:
Crear la aplicacion desde el entorno de desarrollo integrado de MATLAB.
El Diseno de una ventana principal para la ejecucion de la aplicacion utilizando los
controles necesarios.
Asignar un codigo pertinente a las funciones creadas con instrucciones de decision e
instrucciones de iteracion a los eventos para que los controles utilizados realicen los
calculos necesarios para la obtencion de datos.
Se le asigno un nombre a cada variable para ası poder declararlas al nivel de funciones
y como variables globales.
Como ultimo punto se implemento la aplicacion con un cuadro de datos adjuntos
que se le pueden importar como modo de demostracion del programa en sı.
Figure 2.1: Poligonal
Ingenierıa Civil6
Ing. Civil
Programacion Digital Desarrollo del Programa
2.2 Diagrama de Flujo.
INICIO
Seleccione el numero de lados de la poligonal
Ingrese datos correspondientes
Coloque el azimut en: grados minutos y segundos.
Coloque coordenadas del punto:este norte
Coloque la cota del punto
Coloque los angulos
horizontales y verticales de cada
vertice.
CALCULOS
Crea el numero de lados de la
poligonal(n 3)
Grados:Minutos:
Segundos:
Este:Norte:
Cota:
n α Horizontales:Grados:
Minutos:Segundos:
n α verticales:Grados:
Minutos:Segundos:
Seleccione lado de la poligonal
n
Seleccione el punto de la poligonal
Seleccione el punto de la poligonal
Ángulos horizontales de la
poligonal
EC<Emax
Calculo del error de cierre angular.
Ec= nα int.-180(n-2)
Calculo del error máximo permisible
Emax=0.2*sqrt(n)
Compensación angular
cα =+-Ec/n
Ángulos horizontales compensandos
α' 1=α 1+-cα α' 2=α 2+-cα
..α' n=α n+-cα
Calculo de coordenadas
parciales
EC>Emax
Calculo del perimetro
P=d1+d2+ +di
Calculo de:Ex= Δx
Calculo de:Ey= Δy
Calculo de:E=0.2*sqrt(Ex^´2+Ey^´2)
Calculo de los azimuts
Az(i-1)+α i <180
Azi=Az(i-1)+α i +180
Azi=Az(i-1)+α i -180
Calculo de errores lineales
Ingrese hilos:Hilo inferior Hilo medio
Hilo superior
Hilos:HI
HMHS
Distancias horizontales:
di=(HS-HI)*100
Δx =disinAz
Δy =dicosAz
Calculo de la precisiónEr=1/(perímetro/E)
Compensación lineal
Compensacion lineal:Cx=-Ex*di/pCy=-Ey*di/p
Coordenadas parciales compensadas
X=Δx +CxY=Δy +Cy
Calculo de coordenadas este y
norte.
Calculo de coordenadas:Este=este1+X
Norte=norte1+Y
FIN
Imprimir:Distancias
Imprimir:'Error','Ec>Emax'
Imprimir ángulos horizontales
compensados
Imprimir azimut
Imprimir azimut
Imprimir Δx
Imprimir Δy
Imprimir E
Imprimir X e Y.
Imprimir este y norte.
Imprimir Er;
si
no
Figure 2.2: Diagrama de Flujo 1Ingenierıa Civil
7Ing. Civil
Programacion Digital Desarrollo del Programa
INICIO
Seleccione el numero de lados de la poligonal
Ingrese datos correspondientes
Coloque el azimut en: grados minutos y segundos.
Coloque coordenadas del punto:este norte
Coloque la cota del punto
Coloque los angulos
horizontales y verticales de cada
vertice.
CALCULOS
Crea el numero de lados de la
poligonal(n 3)
Grados:Minutos:
Segundos:
Este:Norte:
Cota:
n α Horizontales:Grados:
Minutos:Segundos:
n α verticales:Grados:
Minutos:Segundos:
Seleccione lado de la poligonal
n
Seleccione el punto de la poligonal
Seleccione el punto de la poligonal
Ángulos horizontales de la
poligonal
EC<Emax
Calculo del error de cierre angular.
Ec= nα int.-180(n-2)
Calculo del error máximo permisible
Emax=0.2*sqrt(n)
Compensación angular
cα =+-Ec/n
Ángulos horizontales compensandos
α' 1=α 1+-cα α' 2=α 2+-cα
..α' n=α n+-cα
Calculo de coordenadas
parciales
EC>Emax
Calculo del perimetro
P=d1+d2+ +di
Calculo de:Ex= Δx
Calculo de:Ey= Δy
Calculo de:E=0.2*sqrt(Ex^´2+Ey^´2)
Calculo de los azimuts
Az(i-1)+α i <180
Azi=Az(i-1)+α i +180
Azi=Az(i-1)+α i -180
Calculo de errores lineales
Ingrese hilos:Hilo inferior Hilo medio
Hilo superior
Hilos:HI
HMHS
Distancias horizontales:
di=(HS-HI)*100
Δx =disinAz
Δy =dicosAz
Calculo de la precisiónEr=1/(perímetro/E)
Compensación lineal
Compensacion lineal:Cx=-Ex*di/pCy=-Ey*di/p
Coordenadas parciales compensadas
X=Δx +CxY=Δy +Cy
Calculo de coordenadas este y
norte.
Calculo de coordenadas:Este=este1+X
Norte=norte1+Y
FIN
Imprimir:Distancias
Imprimir:'Error','Ec>Emax'
Imprimir ángulos horizontales
compensados
Imprimir azimut
Imprimir azimut
Imprimir Δx
Imprimir Δy
Imprimir E
Imprimir X e Y.
Imprimir este y norte.
Imprimir Er;
si
no
Figure 2.3: Diagrama de Flujo 2
Ingenierıa Civil8
Ing. Civil
Programacion Digital Desarrollo del Programa
INICIO
Seleccione el numero de lados de la poligonal
Ingrese datos correspondientes
Coloque el azimut en: grados minutos y segundos.
Coloque coordenadas del punto:este norte
Coloque la cota del punto
Coloque los angulos
horizontales y verticales de cada
vertice.
CALCULOS
Crea el numero de lados de la
poligonal(n 3)
Grados:Minutos:
Segundos:
Este:Norte:
Cota:
n α Horizontales:Grados:
Minutos:Segundos:
n α verticales:Grados:
Minutos:Segundos:
Seleccione lado de la poligonal
n
Seleccione el punto de la poligonal
Seleccione el punto de la poligonal
Ángulos horizontales de la
poligonal
EC<Emax
Calculo del error de cierre angular.
Ec= nα int.-180(n-2)
Calculo del error máximo permisible
Emax=0.2*sqrt(n)
Compensación angular
cα =+-Ec/n
Ángulos horizontales compensandos
α' 1=α 1+-cα α' 2=α 2+-cα
..α' n=α n+-cα
Calculo de coordenadas
parciales
EC>Emax
Calculo del perimetro
P=d1+d2+ +di
Calculo de:Ex= Δx
Calculo de:Ey= Δy
Calculo de:E=0.2*sqrt(Ex^´2+Ey^´2)
Calculo de los azimuts
Az(i-1)+α i <180
Azi=Az(i-1)+α i +180
Azi=Az(i-1)+α i -180
Calculo de errores lineales
Ingrese hilos:Hilo inferior Hilo medio
Hilo superior
Hilos:HI
HMHS
Distancias horizontales:
di=(HS-HI)*100
Δx =disinAz
Δy =dicosAz
Calculo de la precisiónEr=1/(perímetro/E)
Compensación lineal
Compensacion lineal:Cx=-Ex*di/pCy=-Ey*di/p
Coordenadas parciales compensadas
X=Δx +CxY=Δy +Cy
Calculo de coordenadas este y
norte.
Calculo de coordenadas:Este=este1+X
Norte=norte1+Y
FIN
Imprimir:Distancias
Imprimir:'Error','Ec>Emax'
Imprimir ángulos horizontales
compensados
Imprimir azimut
Imprimir azimut
Imprimir Δx
Imprimir Δy
Imprimir E
Imprimir X e Y.
Imprimir este y norte.
Imprimir Er;
si
no
Figure 2.4: Diagrama de Flujo 3
Ingenierıa Civil9
Ing. Civil
Programacion Digital Desarrollo del Programa
2.3 Pseudocodigo.
El pseudocodigo para la aplicacion de cambio de unidades, se muestra en el algoritmo 1.
Los datos de entrada son: Datos:
Ingresar el numero de lados n.
Un azimut conocido (grados, minutos, segundos)
Las coordenadas de un punto.
Ingresar los angulos vertical y horizontal.
Las medidas de los lados ( hilo superior, medio e inferior)
Para la poligonal:
Para las coordenadas:
Detalles por radiacion.
Resultado:
Suma de angulos internos.
Error angular de cierre.
Compensacion de los angulos.
Azimut de los lados.
La distancia horizontal, vertical.
El perımetro.
Error lineal.
Compensaciones lineales.
Coordenadas de los puntos.
Para la poligonal:
Ingenierıa Civil10
Ing. Civil
Programacion Digital Desarrollo del Programa
1: Inicio
2: /* Ingresar el numero lados de la poligonal N
3: N→Z;
4: Global n;
5: si n = 0;
6: para Desde i = 1 hasta i = 23 → Imax hacer
7: N = i;
8: n = N + 2;
9: fin para
10: matriz = [’A’;’B’;’C’;’D’;’E’;’F’;’G’;’H’;’I’;’J’;’K’;’L’;’M’;’N’;’O’;’P’;’Q’;’R’;’S’;’T’;’U’;’V’;’W’];
11: para Desde i = 1 hasta i = n → Imax hacer
12: a = matriz (de 1 hasta i);
13: b = matriz (de 2 hasta i);
14: c = matriz(1);
15: d = vertcat(b,c); uniendo la matriz b y c
16: e = horzcat(a,d); uniendo la matriz a y d
17: fin para
18: imprimir critico
19: /* Ingresar los angulos de la poligonal angulos.
20: angulos→<;
21: /* Ingresar los angulos de la poligonal AH en (grados ,minutos y segundos);
22: und ← grados, minutos y segundos;
23: Global n;
24: para Desde i = 1 hasta i = n Imax hacer
25: AH = angulos de 1 hasta i ,de 1 hasta 3
26: /*AH ← Angulos horizontales
27: fin para
28: SAH = Sum(AH)
29: /*SAH ← Angulos horizontales
30: para Desde i = 1 hasta i = 2 Imax hacer
31: si (SAH(i) > 60) entonces
32: imprimir SAH = [SAH(1)+ SACAR EL ENTERO((SAH(2)+SACAR
EL ENTERO(SAH(3)/60))/60)SACAR EL RESIDUO(SAH(2)+ SACAR EL
ENTERO(SAH(3)/60),60) SACAR EL RESIDUO(SAH(3),60)33: si no
34: imprimir S AH;35: fin si
36: fin para
37: AI = [180*(n - 2) 0 0]
38: /*AI ← Suma de angulos internos/*
39: Ec = abs(S AH −AI);
40: /*Ec ← Error angular de cierre/*
Ingenierıa Civil11
Ing. Civil
Programacion Digital Desarrollo del Programa
1: para Desde i = 1 hasta i = 2 Imax hacer
2: Ec = [Ec(1) + SACAR EL ENTERO((Ec(2) + SACAR EL ENTERO(Ec(3)/60))/60)
SACAR EL RESIDUO(Ec(2) + SACAR EL ENTERO(Ec(3)/60),60) SACAR EL
RESIDUO(Ec(3),60)];
3: fin para
4: EC = Ec(1) + Ec (2)/60 + Ec (3)/3600;
5: Emáximo = 0.2*raiz cuadrada(n);
6: si EC > Emaximo entonces
7: imprimir /*mostrar mensaje de error/*
8: si no
9: imprimir critico
10: fin si
11: /*C ← compensacion/*
12: Ec1 = Ec(1) + Ec(2)/60 + Ec(3)/3600;
13: C = Ec1/n;
14: C = [SACAR EL ENTERO(C) SACAR EL ENTERO((C - SACAR EL EN-
TERO(C))*60) redondear((((C - SACAR EL ENTERO(C))*60) - SACAR EL EN-
TERO(SACAR EL ENTERO((C - SACAR EL ENTERO(C))*60)))*60)];
15: para Desde i = 1 hasta i = n Imax hacer
16: C1(i,1) = C(1);
17: C1(i,2) = C(2);
18: C1(i,3) = C(3);
19: fin para
20: C = C1;
21: /*Compensando los angulos/*;
22: si si SAH −AI > 0 entonces
23: CAH = C + AH
24: si no
25: CAH = AH −C;
26: fin si
27: AH = CAH ;
28: /*CAH ← angulos compesandos/*
29: /*opteniendo azimut de uno de los lados /*
30: AzC = 0;
31: para Desde i = 1 hasta i = 23 Imax hacer
32: si A1 = i entonces
33: AzC = A1;
34: fin si
35: fin para
36: /*Reordenando la matriz de los angulos /*
Ingenierıa Civil12
Ing. Civil
Programacion Digital Desarrollo del Programa
1: para Desde j = 1 hasta j = n Imax hacer
2: para Desde i = n,decremento de - 1, hasta i = AzC Imax hacer
3: /*condicion para el azimut/*
4: AngInt1 = AH(de i = j ,hasta i = 3 )Imax;
5: fin para
6: fin para
7: si AzC - 1 = 0 entonces
8: AngInt = AngInt1;
9: si no
10: imprimir critico
11: fin si
12: para Desde i = 1 hasta , i = AzC - 1 Imax hacer
13: /*condicion para el azimut/*
14: AngInt2 = AH(de 1 = i, hasta 1 = 3 );
15: fin para
16: /*juntando las matrices AngInt1 y 2/*
17: AngInt = vertcat(AngInt1,AngInt2);18: /*Azimut inicial en grados/*
19: para desde i = 2 hasta i = n Imax hacer
20: AH01 = AngInt(deihastai,de1hasta1) + AngInt(deihastai,de2hasta2)/60 +
AngInt(deihastai,de3hasta3)/3600;
21: si (Az + AH 01) > 180 entonces
22: /*Convirtiendo el azimut en Matriz/*
23: Az(i,1) = Az(i - 1,1) + AH01 - 180;
24: /*azimut /*
25: Az(i,1) = Az(i - 1,1) + AH01 - 180;
26: si no
27: /* el azimut sera/*
28: Az(i,1) = Az(i - 1,1) + AH01 + 180;
29: fin si
30: fin para
31: si Az(i,1) = Az(i - 1,1) + AH 01 + 180; entonces
32: AzC - 1 = 0;
33: AZ = Az;
34: si no
35: para desde i = 2 hasta i = n Imax hacer
36: /* condicion para azimut de cada lado/*
37: Az 1 = Az(de i hasta n,de 1 hasta 1);
38: fin para
39: /* Ajuntando las matrices Az1 1 y 2/*
40: AZ = vertcat(Az 1, Az 2);
41: /*Azimut reordenada para operar con la condicion /*
42: fin si
Ingenierıa Civil13
Ing. Civil
Programacion Digital Desarrollo del Programa
1: /* CALCULANDO LA DISTANCIA HORIZONTAL, VERTICAL Y PERIMETRO/*
2: /* Obtenierndo datos de Ang. Verticales y los Hilos/*
3: para Desde i = 1 hasta i = n Imax hacer
4: /*AV ← Angulos verticales/*
5: AV = Angulos(de 1 hasta ide 4 hasta 6);
6: /*HM ← Hilo medio/*
7: HM = Angulos(de 1 hasta i de 7 hasta 7);
8: /*HS ← Hilo superior/*
9: HS = Angulos(de 1 hasta i de 8 hasta 8);
10: /* HI ← Angulos horizontales/*
11: HI = Angulos(de 1 hasta i de 9 hasta 9);
12: fin para
13: para Desde i = 1 hasta i = n Imax hacer
14: Av(i,1) = AV(i,1) + AV(i,2)/60 + AV(i,3)/3600;
15: si Av(i,1) < 90 entonces
16: Alfa = Av + 90;
17: si no
18: Alfa = Av - 90;
19: fin siCos Alfa = cosd(Alfa);
20: Sen Alfa = sind(Alfa);
21: S AH;
22: /*Obteniedo la distancia inclinada(Di)/*
23: si HS - HM = verdad;
24: fin para
25: si HS - HM = verdad entonces
26: Di = abs((HS - HM)*200);
27: si no, si HM - HI = true entonces
28: Di2 = abs((HM - HI)*200);
29: si no
30: Di3 = abs((HS - HI)*100);
31: fin si
32: /*Obteniedo la distancia horizontal (DH)/*
33: DH = Di3.*((Cos alfa)2);
34: /*Obteniedo la distancia vertical (DV)/*
35: DV = Di3.*Sen Alfa .*Cos Alfa;
36: /*CALCULO DE LA COTA/*
37: para j = 1 hasta j = n Imax hacer
38: si Cot1 = i entonces
39: CotC = Cot1;
40: DV(i) = 0;
41: fin si
42: fin para
Ingenierıa Civil14
Ing. Civil
Programacion Digital Desarrollo del Programa
1: para Desde i = cotC hasta i = n Imax hacer
2: cota(i,1) = DV(i,1) + cota(1,1);
3: fin para
4: para Desde i = 1 hasta i = n Imax hacer
5: cota(i,1) = DV(i,1) + cota(1,1);
6: fin para
7: /* reordenando la matriz de lso angulos /*
8: para Desde j = 1 hasta j = n Imax hacer
9: para Desde i = n,decremento de - 1, hasta i = cotC hacer
10: /*condicion para el azimut/*
11: Cota1 = cota(i:j,1:1);
12: fin para
13: fin para
14: si CotC - 1 = 0 entonces
15: cota = Cota1;
16: si no
17: para Desde i = 1 hasta i = CotC - 1 Imax hacer
18: para Desde i = 1 hasta i = n Imax hacer
19: /*condicion para el azimut/*
20: Cota1 = cota(i:j,1:1);
21: fin para
22: fin para
23: fin si
24: si CotC - 1 == 0 entonces
25: cota = Cota1;
26: si no
27: para Desde i = 1 hasta i = CotC - 1 Imax hacer
28: /*condicion para el azimut/*
29: Cota2 = cota(1:i,1:1);
30: fin para
31: /*juntando las matrices Ang Int 1 y 2/*
32: cota = vertcat(Cota1,Cota2);
33: fin si
34: /*CALCULANDO X1, Y1 Y ERROR LINEAL/*
35: X1 = DH.*sind(Az);
36: Y1 = DH.*cosd(Az);
37: Ex = suma de (X1);
38: Ey = suma de(Y1);
39: E = raiz cuadrada de (Ex2 + Ey2);
40: /*CALCULANDO COMPENSACIONES LINEALES/*
41: /*CALCULO DE LA COTA/*
42: /*CONDICION/*
Ingenierıa Civil15
Ing. Civil
Programacion Digital Desarrollo del Programa
1: para Desde i = 1 hasta i = n Imax hacer
2: Cx(i,1) = - (Ex.*DH(i,1))/P;
3: Cy(i,1) = - (Ey.*DH(i,1))/P;
4: fin para
5: /*CALCULANDO X, Y Y ERROR LINEAL/*
6: X = X1 + Cx;
7: Y = Y1 + Cy;
8: /*CALCULANDO ESTE Y NORTE DE LA POLIGONAL/*
9: /*cordenada de uno de los Lados/*
10: /*condicion/*
11: Coor = 0;
12: para Desde i = 1 hasta i = 23 Imax hacer
13: si A2 = i entonces
14: Coor = A2;
15: fin si
16: fin para
17: para Desde i = 1 hasta i = n Imax hacer
18: D Este(i,1) = D Este(1,1) + X(i,1);
19: D Norte(i,1) = D Norte(1,1) + Y(i,1);
20: fin para
21: imprimir /*IMPRESION DE RESULTADOS /*
22: FIN;
Ingenierıa Civil16
Ing. Civil
3ING. CIVIL
FG
F
r
x
y
z
x0
y0
z0
0
0
+y
+xN
f R
T
Mg
+
T0
mg
v
y
x
60°
30°
z
A
B
120 ft
vB
vA C H A P T E R
691
Kinetics of Particles:Newton’s Second Law
bee29400_ch12_690-726.indd Page 691 12/3/08 9:27:13 PM user-s172bee29400_ch12_690-726.indd Page 691 12/3/08 9:27:13 PM user-s172 /Volumes/204/MHDQ077/work%0/indd%0/Volumes/204/MHDQ077/work%0/indd%0
UNSCH
Newton’s Second Law
N I N T H ED I T I O N
VECTOR MECHANICS FOR ENGINEERS
Statics and Dynamics
Ferdinand P. Beer Late of Lehigh University
E. Russell Johnston, Jr. University of Connecticut
David F. Mazurek U.S. Coast Guard Academy
Phillip J. Cornwell Rose-Hulman Institute of Technology
Elliot R. Eisenberg The Pennsylvania State University
bee29400_fm_i-xxiv.indd Page i 12/18/08 3:39:27 PM user-s172bee29400_fm_i-xxiv.indd Page i 12/18/08 3:39:27 PM user-s172 /Volumes/204/MHDQ078/work%0/indd%0/Volumes/204/MHDQ078/work%0/indd%0
Ferdinand
P.
Beer
Late of Lehigh University
E.
Russell
Johnston, Jr.
University of Connecticut
PROGRAMACIÓN
DINAMICA FOR ENGINEERS
v
v0
y
x
z
DIGITAL (IC-246) APLICACIÓN: CALCULO DE COORDENADAS
Ventana Principal de la Aplicacion
ING. CIVIL
FG
F
r
x
y
z
x0
y0
z0
0
0
+y
+xN
f R
T
Mg
+
T0
mg
v
y
x
60°
30°
z
A
B
120 ft
vB
vA C H A P T E R
691
Kinetics of Particles:Newton’s Second Law
bee29400_ch12_690-726.indd Page 691 12/3/08 9:27:13 PM user-s172bee29400_ch12_690-726.indd Page 691 12/3/08 9:27:13 PM user-s172 /Volumes/204/MHDQ077/work%0/indd%0/Volumes/204/MHDQ077/work%0/indd%0
UNSCH
Newton’s Second Law
N I N T H ED I T I O N
VECTOR MECHANICS FOR ENGINEERS
Statics and Dynamics
Ferdinand P. Beer Late of Lehigh University
E. Russell Johnston, Jr. University of Connecticut
David F. Mazurek U.S. Coast Guard Academy
Phillip J. Cornwell Rose-Hulman Institute of Technology
Elliot R. Eisenberg The Pennsylvania State University
bee29400_fm_i-xxiv.indd Page i 12/18/08 3:39:27 PM user-s172bee29400_fm_i-xxiv.indd Page i 12/18/08 3:39:27 PM user-s172 /Volumes/204/MHDQ078/work%0/indd%0/Volumes/204/MHDQ078/work%0/indd%0
Ferdinand
P.
Beer
Late of Lehigh University
E.
Russell
Johnston, Jr.
University of Connecticut
PROGRAMACIÓN
DINAMICA FOR ENGINEERS
v
v0
y
x
z
DIGITAL (IC-246) APLICACIÓN: CALCULO DE COORDENADAS
Programacion DigitalVentana Principal
de la Aplicacion
La aplicacion en la presente practica se realiza en un formulario, una captura final de la
ventana principal muestra la Figura.
Figure 3.1: Ventana principal de la aplicacion
Figure 3.2: Ventana principal con datos ingresados
Ingenierıa Civil18
Ing. Civil
4ING. CIVIL
FG
F
r
x
y
z
x0
y0
z0
0
0
+y
+xN
f R
T
Mg
+
T0
mg
v
y
x
60°
30°
z
A
B
120 ft
vB
vA C H A P T E R
691
Kinetics of Particles:Newton’s Second Law
bee29400_ch12_690-726.indd Page 691 12/3/08 9:27:13 PM user-s172bee29400_ch12_690-726.indd Page 691 12/3/08 9:27:13 PM user-s172 /Volumes/204/MHDQ077/work%0/indd%0/Volumes/204/MHDQ077/work%0/indd%0
UNSCH
Newton’s Second Law
N I N T H ED I T I O N
VECTOR MECHANICS FOR ENGINEERS
Statics and Dynamics
Ferdinand P. Beer Late of Lehigh University
E. Russell Johnston, Jr. University of Connecticut
David F. Mazurek U.S. Coast Guard Academy
Phillip J. Cornwell Rose-Hulman Institute of Technology
Elliot R. Eisenberg The Pennsylvania State University
bee29400_fm_i-xxiv.indd Page i 12/18/08 3:39:27 PM user-s172bee29400_fm_i-xxiv.indd Page i 12/18/08 3:39:27 PM user-s172 /Volumes/204/MHDQ078/work%0/indd%0/Volumes/204/MHDQ078/work%0/indd%0
Ferdinand
P.
Beer
Late of Lehigh University
E.
Russell
Johnston, Jr.
University of Connecticut
PROGRAMACIÓN
DINAMICA FOR ENGINEERS
v
v0
y
x
z
DIGITAL (IC-246) APLICACIÓN: CALCULO DE COORDENADAS
Aplicacion
ING. CIVIL
FG
F
r
x
y
z
x0
y0
z0
0
0
+y
+xN
f R
T
Mg
+
T0
mg
v
y
x
60°
30°
z
A
B
120 ft
vB
vA C H A P T E R
691
Kinetics of Particles:Newton’s Second Law
bee29400_ch12_690-726.indd Page 691 12/3/08 9:27:13 PM user-s172bee29400_ch12_690-726.indd Page 691 12/3/08 9:27:13 PM user-s172 /Volumes/204/MHDQ077/work%0/indd%0/Volumes/204/MHDQ077/work%0/indd%0
UNSCH
Newton’s Second Law
N I N T H ED I T I O N
VECTOR MECHANICS FOR ENGINEERS
Statics and Dynamics
Ferdinand P. Beer Late of Lehigh University
E. Russell Johnston, Jr. University of Connecticut
David F. Mazurek U.S. Coast Guard Academy
Phillip J. Cornwell Rose-Hulman Institute of Technology
Elliot R. Eisenberg The Pennsylvania State University
bee29400_fm_i-xxiv.indd Page i 12/18/08 3:39:27 PM user-s172bee29400_fm_i-xxiv.indd Page i 12/18/08 3:39:27 PM user-s172 /Volumes/204/MHDQ078/work%0/indd%0/Volumes/204/MHDQ078/work%0/indd%0
Ferdinand
P.
Beer
Late of Lehigh University
E.
Russell
Johnston, Jr.
University of Connecticut
PROGRAMACIÓN
DINAMICA FOR ENGINEERS
v
v0
y
x
z
DIGITAL (IC-246) APLICACIÓN: CALCULO DE COORDENADAS
Programacion Digital Aplicacion
Con la finalidad de trabajar e interactuar con los patrones codigo del MATLAB y teniendo
en cuenta que como alumnos necesitamos un software de ayuda, ponemos aquı un ejemplo
de problema de levantamiento topografico, con los datos que son comunes para nosotros
como estudiantes como ayuda a ello nos favoreceremos con el lenguaje de programacion de
MATLAB.
Se realizara una aplicacion sencilla sobre un levantamiento topografico cuyo procedimiento
es conocido por todo ingeniero, la unica finalidad es programar la aplicacion que nos muestre
los errores comunes de una medicion ası como la compensacion de angulos de la poligonal
de apoyo como las coordenadas de esta con su respectiva correccion rutinaria, todo esto
desde el Entorno de Desarrollo de MATLAB y con su ejecutable en un GUIDE para su
facil manejo.
4.1 Datos Requeridos.
Los argumentos necesarios para la realizacion de un Levantamiento Topografico con
teodolito, son:
Lo primero que se necesita es el numero de lados con los que va a contar la poligonal
de apoyo.
De ay se debe de proporcionar el azimut conocido de algun lado de la poligonal de
apoyo ası como y las coordenadas y la cota de un punto conocido.
Conjuntamente proporcionar los datos de las lecturas que se obtienen en campo
tras un levantamiento topografico, en los cuales incluye los grados de horizontales y
verticales entre los puntos de la poligonal, al igual que sus lecturas en la mira optica
proporcionando ası los Hilos estadimetricos.
Como aclaracion los angulos se colocan en los cuadros de forma que se coloquen los
grados, minutos y segundos. Ası como las coordenadas estan en metros.
4.2 Resultados.
Considerando con que objetivo se realizo la aplicacion, el resultado brindado deberıa darnos
por consiguiente los siguientes datos:
Primero hallara la suma de angulos internos de la poligonal de apoyo, para por
consiguiente hallar el error de cierre y la compensacion que se debe de hacer para
que la poligonal este correcta.
Seguidamente debe de darse el perımetro de la poligonal de apoyo, para ası hallar
seguidamente los errores de cierre, error relativo y el error lineal, como resultado
para los posteriores calculos con su precision respectiva para saber si el proyecto de
Ingenierıa Civil20
Ing. Civil
Programacion Digital Aplicacion
levantamiento se ejecute o se deba de corregir datos hasta una nueva medicion del
terreno.
Como ultimo paso se presenta un cuadro practico que te da a conocer los datos
requeridos con los que se hicieron los calculos, ası obteniendo como prioridad principal
las coordenadas geograficas de los puntos de interes en la poligonal de apoyo.
4.3 Ejemplo de Aplicacion.
En un levantamiento topografico con teodolito se establecio una poligonal cerrada. Se pide
calcular:
Las coordenadas de los vertices de la poligonal sabiendo que las coordenadas del
punto A son:
[E = 8625235.78m N = 6180025.95m y el AzA−B = 275◦15′35′′]
(3.1)
El error de cierre y el error relativo.
Datos:
Angulos internos:
A = 36◦43′25′′ M ABC
B = 215◦52′05′′C = 51◦40′20′′D = 111◦06′30′′E = 124◦36′55′′
Distancias:
AB = 189.53m
BC = 175.18m
CD = 197.78m
DE = 142.39m
EA = 234.58m
Solucion:
36◦ 43′ 25′′215◦ 52′ 05′′51◦ 40′ 20′′111◦ 06′ 30′′124◦ 36′ 55′′
∣∣∣∣∣∣∣∣∣∣∣∣∣∣+
539◦ 59′ 15′′
∑int = 539◦59′15′′ (3.2)
→ Ec = 540◦ − 539◦59′15′′∴ Ec = 45Emp = 1′
√n
n = 5ladosdelpoligonoEmp = 2.24Ec ≤ Emp
Calculamos el error angular:
Ingenierıa Civil21
Ing. Civil
Programacion Digital Aplicacion
Compensacion:
C =45′′5 = 9′′ (3.3)
Correccion angular:
∴∴∴ +9” a cada angulo
Angulos Compensados:
A = 36◦43′34′′B = 215◦52′14′′C = 51◦40′29′′D = 111◦06′39′′E = 124◦37′04′′
Azimut de lados:
AzBC = AzAB + B − 180◦ → AzAB + B > 180◦AzBC = AzAB + B + 180◦ → AzAB + B < 180◦
Az AB = 324◦15′00Az BC = 00◦07′14Az CD = 231◦47′43Az DE = 162◦54′22Az EA = 107◦31′26
Calculo de Coordenadas.
∆x = DH · sen(Az) ∆y = DH · cos(Az)
Cx =∑
∆x Cx =∑
∆x
C ∆x = −Cx · Lp C ∆y = −Cy · L
p
L: Distancia entre puntos.
P: Perimetro
Donde:
Ingenierıa Civil22
Ing. Civil
Programacion Digital Aplicacion
Coordenadas de los Puntos de la Poligonal.
Pto. Az DH ∆∆∆ X ∆∆∆ Y Cx Cy ∆∆∆ Xc ∆∆∆ Yc
A
AB 324°15’00” 189.53
B -110.733 153.818 0.047 0.012 -110.686
BC 00°07’14” 175.18
C 0.369 175.180 0.044 0.011 0.412
CD 231°47’43” 197.78
D -155.417 -122.322 0.049 0.012 -155.368
DE 162°54’22” 142.39
E 41.854 -136.100 0.035 0.009 41.889
EA 107°31’26” 234.58
A 223.693 -70.633 0.058 0.014 223.752∑939.46 -0.234 -0.057 0.000
Table 4.1:
Pto. Az Este Norte Cota
A 8625235.780 618025.950
AB
B 153.829 8625125.094 618179.780
BC
C 175.190 8625125.507 618354.971
CD
D -122.310 8624970.139 618232.661
DE
E -136.091 8625012.029 618096.570
EA
A -70.619 8625235.780 618025.950∑0.000
Table 4.2:
Ingenierıa Civil23
Ing. Civil
Pto. Este Norte
A 8625235.780 618025.950
B 8625125.094 618179.780
C 8625125.507 618354.971
D 8624970.139 618232.661
E 8625012.029 618096.570
Table 4.3:
Error de Cierre:
Ec =√
Cx2 + Cy
2
Ec =√(−0.234)2 + (−0.057)2
∴∴∴Ec = 0.240 (3.4)
Error Relativo:
Er =1p
Ec
Er =1
3907.382
∴∴∴Er = 0.0002559 (3.5)
INGENIERÍA CIVIL - UNSCH
CONCLUSIONES
Con la familiarizacion del entorno de desarrollo del MATLAB se pone al alcance
del alumno una mejor forma de interpretacion y adaptacion para una posterior
realizacion de programas que el mismo pueda programar de acorde a sus necesidades.
La interaccion de las instrucciones de decision e iteracion en un solo entorno de
programacion y que ellas te asignen a los calculos que deseas.
Como alumnos nos damos cuenta de la gran importancia de convivir con la tecnologıa
y la parte tecnica que la carrera conlleva consigo
Ası de esta manera siempre estamos propensos a los cambios y adaptaciones a las
nuevas formas de hacer calculos rapidos y eficaces para la carrera en sı.
Utilizamos correctamente programas tales como Matlab, Excel, Latex, Word, Corel-
DRAW, etc. principalmente para la implementacion de groficos, calculos , la edicion
de textos y en la realizacion del programa aplicativo.
BIBLIOGRAFIA
Bibliography
[1] The MathWorksMATLAB The Language of Technical Computing
[2] Diego Orlando Barragan Guerrero Manual de Interfaz Grafica de MATLAB
[3] Universidad de Sevilla Manual de Usuario de la Interfaz Grafica de MATLAB
[4] Andy H. Register AGuide to MATLAB Objetc-Oriented Programming
[5] URL: http://www.mathworks.com/ Pagina Principal de Matlab
[6] Jorge Mendoza Duenas TOPOGRAFIA TECNICAS MODERNAS. Primera Edicion
2012
AING. CIVIL
FG
F
r
x
y
z
x0
y0
z0
0
0
+y
+xN
f R
T
Mg
+
T0
mg
v
y
x
60°
30°
z
A
B
120 ft
vB
vA C H A P T E R
691
Kinetics of Particles:Newton’s Second Law
bee29400_ch12_690-726.indd Page 691 12/3/08 9:27:13 PM user-s172bee29400_ch12_690-726.indd Page 691 12/3/08 9:27:13 PM user-s172 /Volumes/204/MHDQ077/work%0/indd%0/Volumes/204/MHDQ077/work%0/indd%0
UNSCH
Newton’s Second Law
N I N T H ED I T I O N
VECTOR MECHANICS FOR ENGINEERS
Statics and Dynamics
Ferdinand P. Beer Late of Lehigh University
E. Russell Johnston, Jr. University of Connecticut
David F. Mazurek U.S. Coast Guard Academy
Phillip J. Cornwell Rose-Hulman Institute of Technology
Elliot R. Eisenberg The Pennsylvania State University
bee29400_fm_i-xxiv.indd Page i 12/18/08 3:39:27 PM user-s172bee29400_fm_i-xxiv.indd Page i 12/18/08 3:39:27 PM user-s172 /Volumes/204/MHDQ078/work%0/indd%0/Volumes/204/MHDQ078/work%0/indd%0
Ferdinand
P.
Beer
Late of Lehigh University
E.
Russell
Johnston, Jr.
University of Connecticut
PROGRAMACIÓN
DINAMICA FOR ENGINEERS
v
v0
y
x
z
DIGITAL (IC-246) APLICACIÓN: CALCULO DE COORDENADAS
Codigo Fuente
ING. CIVIL
FG
F
r
x
y
z
x0
y0
z0
0
0
+y
+xN
f R
T
Mg
+
T0
mg
v
y
x
60°
30°
z
A
B
120 ft
vB
vA C H A P T E R
691
Kinetics of Particles:Newton’s Second Law
bee29400_ch12_690-726.indd Page 691 12/3/08 9:27:13 PM user-s172bee29400_ch12_690-726.indd Page 691 12/3/08 9:27:13 PM user-s172 /Volumes/204/MHDQ077/work%0/indd%0/Volumes/204/MHDQ077/work%0/indd%0
UNSCH
Newton’s Second Law
N I N T H ED I T I O N
VECTOR MECHANICS FOR ENGINEERS
Statics and Dynamics
Ferdinand P. Beer Late of Lehigh University
E. Russell Johnston, Jr. University of Connecticut
David F. Mazurek U.S. Coast Guard Academy
Phillip J. Cornwell Rose-Hulman Institute of Technology
Elliot R. Eisenberg The Pennsylvania State University
bee29400_fm_i-xxiv.indd Page i 12/18/08 3:39:27 PM user-s172bee29400_fm_i-xxiv.indd Page i 12/18/08 3:39:27 PM user-s172 /Volumes/204/MHDQ078/work%0/indd%0/Volumes/204/MHDQ078/work%0/indd%0
Ferdinand
P.
Beer
Late of Lehigh University
E.
Russell
Johnston, Jr.
University of Connecticut
PROGRAMACIÓN
DINAMICA FOR ENGINEERS
v
v0
y
x
z
DIGITAL (IC-246) APLICACIÓN: CALCULO DE COORDENADAS
Programacion Digital Codigo Fuente
A.1 Para el programa
1 function varargout = PAGINA_01(varargin)
2 gui_Singleton = 1;
3 gui_State = struct(’gui_Name’, mfilename, ...
4 ’gui_Singleton’, gui_Singleton, ...
5 ’gui_OpeningFcn’, @PAGINA_01_OpeningFcn, ...
6 ’gui_OutputFcn’, @PAGINA_01_OutputFcn, ...
7 ’gui_LayoutFcn’, [] , ...
8 ’gui_Callback’, []);
9 if nargin && ischar(varargin{1})
10 gui_State.gui_Callback = str2func(varargin{1});
11 end
12
13 if nargout
14 [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
15 else
16 gui_mainfcn(gui_State, varargin{:});
17 end
18 %clc
19 function PAGINA_01_OpeningFcn(hObject, eventdata, handles, varargin)
20 handles.output = hObject;
21 guidata(hObject, handles);
22
23 function varargout = PAGINA_01_OutputFcn(hObject, eventdata, handles)
24
25 varargout{1} = handles.output;
26 %--------------------------------------------------------------------------
27 %--------------------------------------------------------------------------
28
29
30 % --- Pop Up Menu: Azimut de:
31 function D_Azimut_Callback(hObject, eventdata, handles)
32 function D_Azimut_CreateFcn(hObject, eventdata, handles)
33 if ispc && isequal(get(hObject,’BackgroundColor’), ...
34 get(0,’defaultUicontrolBackgroundColor’))
35 set(hObject,’BackgroundColor’,’white’);
36 end
37
38
39 % --- Pop Up Menu: Coordenadas de:
Ingenierıa Civil27
Ing. Civil
Programacion Digital Codigo Fuente
40 function D_Coordenadas_Callback(hObject, eventdata, handles)
41 function D_Coordenadas_CreateFcn(hObject, eventdata, handles)
42 if ispc && isequal(get(hObject,’BackgroundColor’), ...
43 get(0,’defaultUicontrolBackgroundColor’))
44 set(hObject,’BackgroundColor’,’white’);
45 end
46
47
48 % --- Pop Up Menu: D_Cota:
49 function D_Cota_Callback(hObject, eventdata, handles)
50 function D_Cota_CreateFcn(hObject, eventdata, handles)
51 if ispc && isequal(get(hObject,’BackgroundColor’), ...
52 get(0,’defaultUicontrolBackgroundColor’))
53 set(hObject,’BackgroundColor’,’white’);
54 end
55
56
57 %Pop Up Menu: Numero de Lados(N)
58 function N_Callback(hObject, eventdata, handles)
59 global n
60 clc
61 N=get(handles.N,’value’);
62 n=0;
63 for i=1:23
64 if N==i
65 n=N+2;
66 end
67 end
68
69 mtz=[’A’;’B’;’C’;’D’;’E’;’F’;’G’;’H’;’I’;’J’;’K’;’L’;’M’;’N’;’O’;’P’;’Q’;’R’;’S’;’T’;’U’;’V’;’W’];
70
71 for i=1:n
72 a=mtz(1:i);
73 b=mtz(2:i);
74 c=mtz(1);
75 d=vertcat(b,c); %uniendo la matriz b y c
76 e=horzcat(a,d); %uniendo la matriz a y d
77 end
78 mtz=zeros(n,9);
79 set(handles.D_Angulos, ’RowName’, e);
80 set(handles.R_Resultados, ’RowName’, a);
81 set(handles.D_Angulos,’Data’,mtz);
82 set(handles.D_Azimut,’string’,a);
83 set(handles.D_Coordenadas,’string’,a);
Ingenierıa Civil28
Ing. Civil
Programacion Digital Codigo Fuente
84 set(handles.D_Cota,’string’,a);
85 mts=zeros(1,3);
86 set(handles.GMS_Azimut,’Data’,mts);
87
88 % Push Button R_Calcular.
89 function R_Calcular_Callback(hObject, eventdata, handles)
90 clc
91 global n Resultados
92
93 %Uitable - OBTENIENDO ANGULOS
94 Angulos=get(handles.D_Angulos,’Data’);
95
96 for i=1:n
97 AH=Angulos(1:i,1:3); %Angulos horizontale
98 end
99
100 S_AH=sum(AH); %Suma de angulos horizontales
101
102 for i=1:2
103 if(S_AH(i)>60)
104 S_AH=[S_AH(1)+floor((S_AH(2)+floor(S_AH(3)/60))/60) mod(S_AH(2)+ ...
105 floor(S_AH(3)/60),60) mod(S_AH(3),60)]; %MOD:SACA EL RESIDUO ; FLOOR:SACA EL ENTERO
106 else
107 S_AH;
108 end
109 end
110
111 AI=[180*(n-2) 0 0]; %Suma de angulos internos
112 Ec = abs(S_AH-AI); %Error angular de cierre
113 for i=1:2
114 Ec=[Ec(1)+floor((Ec(2)+floor(Ec(3)/60))/60) mod(Ec(2)+ ...
115 floor(Ec(3)/60),60) mod(Ec(3),60)];
116 end
117
118 EC=Ec(1)+ Ec (2)/60+Ec (3)/3600;
119 Emax=0.2*sqrt(n);
120 if EC>Emax
121 errordlg({’Error’,’Ec>Emax’},’Mensaje de error’)
122 else
123 end
124
125 %Compensacion C
126 Ec1=Ec(1)+ Ec(2)/60+Ec(3)/3600;
127 C= Ec1/n;
Ingenierıa Civil29
Ing. Civil
Programacion Digital Codigo Fuente
128 C=[floor(C) floor((C-floor(C))*60) round((((C-floor(C))*60)- ...
129 floor(floor((C-floor(C))*60)))*60)];
130 for i=1:n
131 C1(i,1)=C(1);
132 C1(i,2)=C(2);
133 C1(i,3)=C(3);
134 end
135 C=C1;
136
137 %Compensando los angulos
138 if S_AH-AI > 0
139 C_AH=C+AH ;
140 else
141 C_AH=AH - C;
142 end
143 AH=C_AH ;%angulos compesando
144
145 %OBTENIENDO LOS AZIMUT
146 %Azimut de uno de los lados
147 %Condicion
148 A1=get(handles.D_Azimut,’value’);
149 AzC=0;
150 for i=1:23
151 if A1==i
152 AzC=A1;
153 end
154 end
155 %Dato
156 Az=get(handles.GMS_Azimut,’data’);
157 %reordenando la matriz de lso angulos
158 for j=1:n
159 for i=n:-1:AzC
160 Ang_Int1=AH(i:j,1:3);%condicion para el azimut
161 end
162 end
163 if AzC-1==0
164 Ang_Int = Ang_Int1;
165 else
166 for i=1:AzC-1
167 Ang_Int2=AH(1:i,1:3);%condicion para el azimut
168 end
169 Ang_Int=vertcat(Ang_Int1,Ang_Int2);%juntando las matrices Ang_Int 1 y 2
170 end
Ingenierıa Civil30
Ing. Civil
Programacion Digital Codigo Fuente
171 Az= Az(1)+ Az(2)/60+Az(3)/3600; %Azimut inicial en grados
172 %Calculando la matriz del azimut
173 for i=2:n %Convirtiendo el azimut en Matriz
174 AH_01=Ang_Int(i:i,1:1)+ Ang_Int(i:i,2:2)/60+Ang_Int(i:i,3:3)/3600; %Angulo en grados
175 if (Az + AH_01)>180
176 Az(i,1)=Az(i-1,1) + AH_01 - 180; %Azimut
177 else
178 Az(i,1)=Az(i-1,1) + AH_01 + 180; %Azimut
179 end
180 end
181 %reordenando la matriz del azimut
182 if AzC-1==0
183 AZ = Az;
184 else
185 for i=n:-1:n-AzC+2
186 Az_1=Az(i:n,1:1);%condicion para azimut de cada lado
187 end
188 for i=1:n-AzC+1
189 Az_2=Az(1:i,1:1);%condicion para azimut de cada lado
190 end
191 AZ=vertcat(Az_1,Az_2);%juntando las matrices Az1 1 y 2
192 end
193
194 %Azimut reordenada para operar con la condicion
195
196 %CALCULANDO LA DISTANCIA HORIZONTAL, VERTICAL y PERIMETRO
197 %Obtenierndo datos de Ang. Verticales y lso Hilos
198 for i=1:n
199 AV=Angulos(1:i,4:6); %Angulos verticales
200 HM=Angulos(1:i,7:7); %Hilo medio
201 HS=Angulos(1:i,8:8); %Hilo superior
202 HI=Angulos(1:i,9:9); %Hilo inferior
203 end
204 for i=1:n
205 Av(i,1)=AV(i,1)+ AV(i,2)/60+AV(i,3)/3600;
206 if Av(i,1)<90
207 Alfa=Av+90 ;
208 else
209 Alfa=Av-90 ;
210 end
211 end
212 Cos_Alfa=cosd(Alfa);
213 Sen_Alfa=sind(Alfa);
Ingenierıa Civil31
Ing. Civil
Programacion Digital Codigo Fuente
214 %Obteniedo la distancia inclinada(Di)
215 if HS-HM == true
216 Di=abs((HS-HM)*200);
217 elseif HM-HI == true
218 Di2=abs((HM-HI)*200);
219 else
220 Di3=abs((HS-HI)*100);
221 end
222 %Obteniedo la distancia horizontal (DH)
223 DH=Di3.*((Cos_Alfa).^2);
224 %Obteniedo la distancia vertical (DV)
225
226
227 %Obteniedo la distancia vertical (DV)
228 P=sum(DH);
229
230 %Obteniedo la distancia vertical (DV)
231 DV=Di3.*Sen_Alfa.*Cos_Alfa;
232
233 %CALCULO DE LA COTA
234 %Condicion
235
236 Cot1=get(handles.D_Cota,’value’);
237 for i=1:n
238 if Cot1==i
239 CotC=Cot1;
240 DV(i)=0;
241 end
242 end
243 DV
244
245 cota=get(handles.cota,’string’);
246 cota=str2double(cota);
247
248 for i=CotC:n
249 cota(i,1)=DV(i,1)+cota(1,1);
250 end
251
252 for i=1:n
253 cota(i,1)=DV(i,1)+cota(1,1);
254 end
255
256 cota
Ingenierıa Civil32
Ing. Civil
Programacion Digital Codigo Fuente
257 %reordenando la matriz de lso angulos
258 for j=1:n
259 for i=n:-1:CotC
260 Cota1=cota(i:j,1:1);%condicion para el azimut
261 end
262 end
263 Cota1
264
265 if CotC-1==0
266 cota = Cota1;
267 else
268 for i=1:CotC-1
269 Cota2=cota(1:i,1:1);%condicion para el azimut
270 end
271 Cota2
272 cota=vertcat(Cota1,Cota2);%juntando las matrices Ang_Int 1 y 2
273 end
274 cota
275
276
277 %CALCULANDO X1, Y1 Y ERROR LINEAL
278 X1=DH.*sind(Az);
279 Y1=DH.*cosd(Az);
280 Ex=sum(X1);
281 Ey=sum(Y1);
282 E=sqrt(Ex^2+Ey^2);
283 %CALCULANDO COMPENSACIONES LINEALES
284 for i=1:n
285 Cx(i,1)=-(Ex.*DH(i,1))/P;
286 Cy(i,1)=-(Ey.*DH(i,1))/P;
287 end
288 Cy;
289 Cx;
290 %CALCULANDO X, Y Y ERROR LINEAL
291 X=X1+Cx;
292 Y=Y1+Cy;
293 %CALCULANDO ESTE Y NORTE DE LA POLIGONAL
294 %cordenada de uno de los Lados
295 %condicion
296 A2=get(handles.D_Coordenadas,’value’);
297 Coor=0;
Ingenierıa Civil33
Ing. Civil
Programacion Digital Codigo Fuente
299 for i=1:23
300 if A2==i
301 Coor=A2;
302 end
303 end
304 %Dato
305 D_Este=get(handles.C_Este,’string’);
306 D_Este=str2double(D_Este);
307 D_Norte=get(handles.C_Norte,’string’);
308 D_Norte=str2double(D_Norte);
309
310 EN=[D_Este,D_Norte];
311 X11=X(1,1);
312 Y11=Y(1,1);
313 X(1,1)=0;
314 Y(1,1)=0;
315 for i=1:n
316 D_Este(i,1)=D_Este(1,1)+X(i,1);
317 D_Norte(i,1)=D_Norte(1,1)+Y(i,1);
318 end
319 X11=cat(1,X11,zeros(n-1,1));
320 Y11=cat(1,Y11,zeros(n-1,1));
321 X=X+X11;
322 Y=Y+Y11;
323 %IMPRESION DE RESULTADOS
324 %Azimut en Grados Min Seg
325 AZ=[floor(AZ) floor((AZ-floor(AZ))*60) mod((AZ-floor(AZ))*60,1)*60];
326 %Concatenando los resulrtados horizontamente
327 Resultados=horzcat(AH,DH,AZ,X1,Y1,Cx,Cy,X,Y,D_Este,D_Norte,cota);
328 set(handles.R_Resultados,’Data’, Resultados)
329 set(handles.R_SumAH,’data’,S_AH)
330 set(handles.R_Ec,’data’,Ec)
331 C=C(1:1,1:3);
332 set(handles.R_C,’data’,C)
333 set(handles.R_Perimetro,’string’,P)
334 set(handles.R_Ex,’string’,Ex)
335 set(handles.R_Ey,’string’,Ey)
336 set(handles.R_E,’string’,E)
337 Pres=P/E;
338 set(handles.R_Pres,’string’,round(Pres))
339
340
341 %Pop Up Menu: Numero de Lados(N)
Ingenierıa Civil34
Ing. Civil
Programacion Digital Codigo Fuente
342 function N_CreateFcn(hObject, eventdata, handles)
343 if ispc && isequal(get(hObject,’BackgroundColor’), ...
344 get(0,’defaultUicontrolBackgroundColor’))
345 set(hObject,’BackgroundColor’,’white’);
346 end
347
348 % Creando Propiedades de la Tabla 1
349 function D_Angulos_CreateFcn(hObject, eventdata, handles)
350 columnwidth={40 25 24 40 25 24 40 40 40};
351 %dat=rand(9)
352 %columnformat={’numeric’ ,’numeric’, ’numeric’,’numeric’, ’numeric’,
353 %’numeric’, ’numeric’,’numeric’, ’numeric’};
354 columneditable=[true true true true true true true true true ];
355 cnames={’Grad’,’Min’,’Seg’,’Grad’,’Min’,’Seg’,’HI’,’HM’,’HS’ };
356 vnames={’AB’,’BC’,’CA’};
357 %set(hObject,’Data’,dat)
358 set(hObject,’ColumnName’,cnames) ;
359 set(hObject,’RowName’,[]) ;
360 %set(hObject,’ColumnFormat’,columnformat) ;
361 set(hObject,’ColumnWidth’,columnwidth) ;
362 set(hObject,’ColumnEditable’,columneditable) ;
363 set(hObject,’RowName’,vnames) ;
364 function D_Angulos_CellEditCallback(hObject, eventdata, handles)
365 function D_Angulos_CellSelectionCallback(hObject, eventdata, handles)
366
367
368
369 % Creando Propiedades de la Tabla 2
370 function GMS_Azimut_CreateFcn(hObject, eventdata, handles)
371 %dat={100, 59, 59 };
372 %columnformat={’numeric’,’numeric’, ’numeric’};
373 columneditable=[true true true ];
374 cnames={’Grados’,’Min’,’Seg’};
375 % set(hObject,’Data’,dat)
376 set(hObject,’ColumnName’,cnames) ;
377 set(hObject,’RowName’,[]) ;
378 %set(hObject,’ColumnFormat’,columnformat) ;
379 set(hObject,’ColumnEditable’,columneditable) ;
380 function GMS_Azimut_DeleteFcn(hObject, eventdata, handles)
381 function GMS_Azimut_CellEditCallback(hObject, eventdata, handles)
382
383
384 % --- Edit Text C_Este
Ingenierıa Civil35
Ing. Civil
Programacion Digital Codigo Fuente
385 function C_Este_Callback(hObject, eventdata, handles)
386 function C_Este_CreateFcn(hObject, eventdata, handles)
387 if ispc && isequal(get(hObject,’BackgroundColor’), ...
388 get(0,’defaultUicontrolBackgroundColor’))
389 set(hObject,’BackgroundColor’,’white’);
390 end
391
392
393 % --- Edit Text C_Norte
394 function C_Norte_Callback(hObject, eventdata, handles)
395 function C_Norte_CreateFcn(hObject, eventdata, handles)
396 if ispc && isequal(get(hObject,’BackgroundColor’), ...
397 get(0,’defaultUicontrolBackgroundColor’))
398 set(hObject,’BackgroundColor’,’white’);
399 end
400
401
402 % --- Edit Text cota
403 function cota_Callback(hObject, eventdata, handles)
404 function cota_CreateFcn(hObject, eventdata, handles)
405 if ispc && isequal(get(hObject,’BackgroundColor’), ...
406 get(0,’defaultUicontrolBackgroundColor’))
407 set(hObject,’BackgroundColor’,’white’);
408 end
409
410
411 % --------------------------------------------------------------------
412 function Ayuda_Callback(hObject, eventdata, handles)
413 function Ayuda_Acercadelautor_Callback(hObject, eventdata, handles)
414 function Ayuda_ABtopo_Callback(hObject, eventdata, handles)
415
416 function Exportar_Callback(hObject, eventdata, handles)
417 function Exportar_Puntos_Callback(hObject, eventdata, handles)
418 function Exportar_CuadroResultados_Callback(hObject, eventdata, handles)
419 global Resultados
420 xlswrite(’Datos de Poligono’,Resultados ,’Rocky Ayala’, ’A4’)
421 function Importar_Callback(hObject, eventdata, handles)
422 function Importar_Datos_Poligonal_Callback(hObject, eventdata, handles)
423 A1=xlsread(’Libro1’,’D15:P19’); % Angulo
424 set(handles.D_Angulos, ’Data’, A1);
425
426 function Importar_Puntos_Relleno_Callback(hObject, eventdata, handles)
Ingenierıa Civil36
Ing. Civil
Programacion Digital Codigo Fuente
428 function Calcular_Callback(hObject, eventdata, handles)
429 function Calcular_Poligonal_Callback(hObject, eventdata, handles)
430 function Calcular_Puntos_Relleno_Callback(hObject, eventdata, handles)
431
432 function Archivo_Abrir_Callback(hObject, eventdata, handles)
433 function Archivo_Guardar_Callback(hObject, eventdata, handles)
434 function Archivo_Salir_Callback(hObject, eventdata, handles)
435 function Archivo_Callback(hObject, eventdata, handles)
436
437
438 function figure1_CloseRequestFcn(hObject, eventdata, handles)
439
440 delete(hObject);
441
442
443 function pushbutton3_Callback(hObject, eventdata, handles)
444 function pushbutton4_Callback(hObject, eventdata, handles)
445
446
447
448
449 function R_Ec_Callback(hObject, eventdata, handles)
450 function R_Ec_CreateFcn(hObject, eventdata, handles)
451 if ispc && isequal(get(hObject,’BackgroundColor’), ...
452 get(0,’defaultUicontrolBackgroundColor’))
453 set(hObject,’BackgroundColor’,’white’);
454 end
455
456
457
458 function R_C_Callback(hObject, eventdata, handles)
459 function R_C_CreateFcn(hObject, eventdata, handles)
460 if ispc && isequal(get(hObject,’BackgroundColor’), ...
461 get(0,’defaultUicontrolBackgroundColor’))
462 set(hObject,’BackgroundColor’,’white’);
463 end
464
465
466 function R_Perimetro_Callback(hObject, eventdata, handles)
467 function R_Perimetro_CreateFcn(hObject, eventdata, handles)
468 if ispc && isequal(get(hObject,’BackgroundColor’), ...
469 get(0,’defaultUicontrolBackgroundColor’))
470 set(hObject,’BackgroundColor’,’white’);
471 end
Ingenierıa Civil37
Ing. Civil
Programacion Digital Codigo Fuente
472 function R_Ex_Callback(hObject, eventdata, handles)
473 function R_Ex_CreateFcn(hObject, eventdata, handles)
474 if ispc && isequal(get(hObject,’BackgroundColor’), ...
475 get(0,’defaultUicontrolBackgroundColor’))
476 set(hObject,’BackgroundColor’,’white’);
477 end
478
479
480
481 function R_E_Callback(hObject, eventdata, handles)
482 function R_E_CreateFcn(hObject, eventdata, handles)
483 if ispc && isequal(get(hObject,’BackgroundColor’), ...
484 get(0,’defaultUicontrolBackgroundColor’))
485 set(hObject,’BackgroundColor’,’white’);
486 end
487
488
489 function R_Precision_Callback(hObject, eventdata, handles)
490 function R_Precision_CreateFcn(hObject, eventdata, handles)
491 if ispc && isequal(get(hObject,’BackgroundColor’), ...
492 get(0,’defaultUicontrolBackgroundColor’))
493 set(hObject,’BackgroundColor’,’white’);
494 end
495
496
497 function R_Ey_Callback(hObject, eventdata, handles)
498 function R_Ey_CreateFcn(hObject, eventdata, handles)
499 if ispc && isequal(get(hObject,’BackgroundColor’), ...
500 get(0,’defaultUicontrolBackgroundColor’))
501 set(hObject,’BackgroundColor’,’white’);
502 end
Ingenierıa Civil38
Ing. Civil