You are on page 1of 44

bal de Universidad Nacional de San Cristo Huamanga

Facultad de Ingenier a Minas, Geolog a y Civil


n Profesional de Ingeniera Civil Escuela de Formacio

CURSO DIGITAL (IC-246) PROGRAMACION

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

A DIOS por iluminar y bendecir nuestro camino. A nuestros padres, quienes nos apoyan de manera incondicional en nuestra formacio n acad emica; gracias a ellos por apostar siempre en la educacio n.

RESU MEN
se describe en forma clara y precisa lo El Cap tulo 1. Con una breve INTRODUCCION que se est a haciendo con la entrega y presentaci on del presente informe. tulo enfoca de manera concisa y detallada un Fundamento Te orico El Cap tulo 2. Este cap que da a conocer la forma en c omo se procede de manera te orica un levantamiento topogr aco para as llegar a enfocar este conocimiento en la realizaci on del programa. El Cap tulo 3. Este cap tulo abarca como es el Desarrollo del programa, dando as los frutos de la realizaci on e interpretaci on del Seudoc odigo del programa en desarrollo, conjuntamente con su respectivo diagrama de ujo. Pudiendo de esta manera realizar de forma m as sencilla luego de planteada el programa. Sea cual sea ya su entorno de programaci on. El Cap tulo 4. De una manera muy sencilla y explicativa se presenta una Aplicaci on, dando a conocer como es el funcionamiento del programa en s y los datos que requiere para su correcto c alculo de datos deseados, y como manera de ejemplo un problema tipo de levantamientos topogr acos que el programa desarrollado debe de realizar como parte de las virtudes de la programaci on y el trabajo realizado por los alumnos. El Cap tulo 5. Se ponen en esta parte las Conclusiones a las que se ha llegado en la realizaci on del presente trabajo y lo que se ha plasmado con ello en el programa realizado. El Cap tulo 6. Aqu se ofrece una amplia relaci on de Bibliograf a empleada para la realizaci on del informe, usamos mayormente las gu as de pr actica y clases realizadas por el docente del curso, as como informaci on obtenida del Internet y tambi en algunos libros del curso en conjunto del que trata el programa, como lo es la Topograf a. item[El Cap tulo 7.] Como forma de Anexos en esta parte se presenta el C odigo fuente y una imagen del programa desarrollado.

INGENIERA CIVIL - UNSCH

Indice General
Resumen Introducci on Objetivos i iv 1

Fundamento Te orico 1.1 Levantamiento Topogr aco. 1.2 Preparaci on de un Levantamiento Topogr aco.

Cap tulo 1

P agina 2 3 3
3

1.2.1 Planicaci on del Trabajo: . . . . . . . . . . . . . . . . . . . . . . . .

Desarrollo del Programa 2.1 Procedimiento. 2.2 Diagrama de Flujo. 2.3 Pseudoc odigo.

Cap tulo 2

P agina 5 6 7 10

Cap tulo 3

Ventana Principal de la Aplicaci on

P agina 17

Aplicaci on 4.1 Datos Requeridos. 4.2 Resultados. 4.3 Ejemplo de Aplicaci on.

Cap tulo 4

P agina 19 20 20 21

Cap tulo

Conclusiones

P agina 25

Cap tulo

Bibliograf a

P agina 25

Codigo Fuente A.1 Para el programa

Cap tulo A

P agina 26 27

INTRO DUCCION
Como parte de la vida de estudiante en Ingenier a Civil, se debe de aprender los t opicos b asicos de la programaci on digital, ya que un ingeniero esta propenso a encontrarse con problemas t ecnicos de importante envergadura, y para hacer m as f acil su realizaci on y entendimiento se apoya en programas o un software que le sea m as f acil y sencillo ejecutar. Como parte de esto se debe tener conocimiento de la programaci on de estos ya que no siempre existen los software requeridos para ello, as que se realiza un ejecutable seg un sea necesario de acorde a un campo de desempe no de la INGENIERIA CIVIL. Una rama importante esta carrera es la topograf a, as que de acuerdo a la necesidad que nosotros los alumnos ten amos por el empleo de un programa que nos facilite la ejecuci on de un levantamiento topogr aco dando este los c alculos necesarios y solicitados para una buena ejecuci on de obra se realiz o un ejecutable que nos apoye en una r apida y sencilla realizaci on en esta rama de ingenier a. El proyecto trata de un levantamiento topogr aco con un taqu metro es un teodolito que incorpora un ret culo con hilos estadim etricos al anteojo de colimaci on, para poder determinar distancias por medici on indirecta y as dar las caracter sticas entre puntos separados del terreno y de esta manera poder usarlas como datos para la realizaci on de una obra de envergadura seg un sea el caso y la necesidad del ingeniero ejecutor. Los datos que se obtienen son almacenados y con conjunto de operaciones necesarias para representar topogr acamente un terreno, dando de esta forma las caracter sticas o ptimas y desfavorables de ejecuci on del proyecto de inter es denominado Levantamiento este, llevando con ello la se nalizaci on necesaria para llevar los datos existentes en un plano como esquema del proyecto y de este al terreno de ejecuci on denominado replanteo este. El Grupo Escuela Profesional de Ingenier a Civil bal de Huamanga Universidad Nacional de San Cristo Ayacucho, Junio del 2013.

INGENIERA CIVIL - UNSCH

OBJE TIVOS
Del informe:
Este trabajo se realiza para que el alumno obtenga una mejor comprensi on y familiarizaci on del entorno de programaci on en MATLAB, adoptando as su entorno de gu a graca m as conocido como GUIDE. Se quiere que se logre manejar, comprender y entender la sintaxis de las instrucciones de decisi on y las instrucciones iterativas en MATLAB. Crear una aplicaci on tipo ventana de trabajo en GUIDE, utilizando controles admitidos por MATLAB.

Del Programa Desarrollado:


Facilitar y asegurar un r apido c alculo en extensos puntos de un levantamiento topogr aco. Dar la facilidad de obtenci on de datos al alumno y ejecutor de un levantamiento topogr aco pueda exportar f acilmente los puntos y resultados, dando as una mejor realizaci on de plano del proyecto deseado. Tambi en el que podamos realizar un levantamiento topogr aco y un c alculo r apido y adecuado ayuda y facilita al ingeniero y/o alumno a hacer m as ecaz y su proyecto.

INGENIERA CIVIL - UNSCH

Ferdinand E.

P .

Russell

iversity of Connecticut

PROGRAMACIN DIGITAL (IC-246)


x

APLICACIN:
CALCULO DE COORDENADAS

FG

z z0
0

y0

1
y

UNSCH
Fundamento Te orico
120 ft

x0

Contents

1.1 Levantamiento Topogr aco. 60

3
vB B

1.2 Preparaci on de un Levantamiento To30 pogr aco. 3


z x

1.2.1 Planicaci on del Trabajo: . . . . . . . . . . . 3

Programaci on Digital

Fundamento Te orico

1.1

Levantamiento Topogr aco.

Los levantamientos topogr acos son tridimensionales y utilizan t ecnicas de levantamiento geod esico plano y otras especiales para establecer un control tanto vertical como horizontal. Algunas Caracter sticas de un Levantamiento Topogr aco. Las principales caracter sticas f sicas del terreno, tales como r os, lagos, reservorios, caminos, bosques o formaciones rocosas; o tambi en los diferentes elementos que componen la granja, estanques, represas, diques, fosas de drenaje o canales de alimentaci on 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 perl vertical.

1.2

Preparaci on de un Levantamiento Topogr aco.

1.2.1 Planicaci on del Trabajo:


Cuando se prepara un levantamiento topogr aco, 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 topogr acos requieren precisiones diversas, pero es importante determinar con la mayor precisi on posible los primeros puntos de cada levantamiento. Los trabajos sucesivos se ajustan en relaci on a dichos primeros puntos.

Una vez elegido el proyecto deben de seguirse los siguientes pasos: Elecci on de exactitudes: Depende de la nalidad 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 n de ubicar los controles horizontales y verticales (v ertices geod esicos 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 recorrido del terreno con el n de recuperar las se nales de control existentes; al mismo tiempo se colocan las estacas, jalones u otras se nales que servir an para realizar el trabajo de triangulaci on, itinerario, poligonaci on o nivelaci on.

Ingenier a Civil

Programaci on Digital

Fundamento Te orico

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 dicultades para su mesura, los v ertices deben ubicarse en los lugares que no incomoden a nadie. Elecci on de instrumentos y m etodos: Depende de la exactitud que deban tenerse. Los instrumentos precisos ahorran tiempo pero no son econ omicos. Elecci on del m etodo de c alculo: Se debe de establecer el m etodo m as ecaz para manejar los datos que se van recibiendo del campo y seleccionar las formas de c alculo.

Figure 1.1: Levantamiento Topogr aco

Ingenier a Civil

Ferdinand E.

P .

Russell

iversity of Connecticut

PROGRAMACIN DIGITAL (IC-246)


x

APLICACIN:
CALCULO DE COORDENADAS

FG

z z0
0

y0

2
y

UNSCH
Desarrollo del Programa
120 ft

x0

Contents

2.1 Procedimiento.

60

6 7
30 x
vB B

2.2 Diagrama de Flujo. 2.3 Pseudoc odigo. z

10

Programaci on Digital

Desarrollo del Programa

2.1

Procedimiento.
Crear la aplicaci on desde el entorno de desarrollo integrado de MATLAB. El Dise no de una ventana principal para la ejecuci on de la aplicaci on utilizando los controles necesarios. Asignar un c odigo pertinente a las funciones creadas con instrucciones de decisi on e instrucciones de iteraci on a los eventos para que los controles utilizados realicen los c alculos necesarios para la obtenci on de datos. Se le asign o un nombre a cada variable para as poder declararlas al nivel de funciones y como variables globales. Como u ltimo punto se implement o la aplicaci on con un cuadro de datos adjuntos que se le pueden importar como modo de demostraci on del programa en s .

El procedimiento que se sigui o para la realizaci on del programa es:

Figure 2.1: Poligonal

Ingenier a Civil

Programaci on Digital

Desarrollo del Programa

2.2

Diagrama de Flujo.
INICIO
Ingrese datos correspondientes

Seleccione el numero de lados de la poligonal

Crea el numero de lados de la poligonal (n 3)

Coloque el azimut en: grados minutos y segundos.

Seleccione lado de la poligonal n

Grados: Minutos: Segundos:

Coloque coordenadas del punto:este norte

Seleccione el punto de la poligonal

Este: Norte:

Coloque la cota del punto

Seleccione el punto de la poligonal

Cota:

n Horizontales: Grados: Minutos: Segundos: Coloque los angulos horizontales y verticales de cada vertice.

n verticales: Grados: Minutos: Segundos:

Ingrese hilos: Hilo inferior Hilo medio Hilo superior

Hilos: HI HM HS

Distancias horizontales: di=(HS-HI)*100

Imprimir: Distancias

Ingenier a Civil

Figure 2.2: Diagrama de Flujo 1

CALCULOS

Programaci on Digital

Desarrollo del Programa

CALCULOS

EC>Emax

Imprimir: 'Error','Ec>Emax'

ngulos horizontales de la poligonal

Calculo del error de cierre angular. Ec= n int.-180(n-2)

Calculo del error mximo permisible

Emax=0.2*sqrt(n)

EC<Emax

Compensacin angular c =+-Ec/n

ngulos horizontales compensandos ' 1= 1+-c ' 2= 2+-c .. ' n= n+-c

Imprimir ngulos horizontales compensados

si
Calculo de los azimuts

Azi=Az(i-1)+ i +180

Imprimir azimut

Az(i-1)+ i <180

no

Azi=Az(i-1)+ i -180

Imprimir azimut

x =disinAz Calculo de coordenadas parciales y =dicosAz

Imprimir x

Imprimir y

Figure 2.3: Diagrama de Flujo 2 8

Ingenier a Civil

Calculo de: Ex= x Calculo de: E=0.2*sqrt(Ex^2+Ey^2) Imprimir E

Programaci on Digital

Desarrollo del Programa

Calculo de: Ex= x Calculo de: E=0.2*sqrt(Ex^2+Ey^2) Imprimir E

Calculo de errores lineales

Calculo de: Ey= y Calculo del perimetro P=d1+d2+ +di Calculo de la precisin Er=1/(permetro/E)

Imprimir Er;

Compensacin lineal

Compensacion lineal: Cx=-Ex*di/p Cy=-Ey*di/p

Coordenadas parciales compensadas X=x +Cx Y=y +Cy

Imprimir X e Y.

Calculo de coordenadas este y norte.

Calculo de coordenadas: Este=este1+X Norte=norte1+Y

Imprimir este y norte.

FIN

Figure 2.4: Diagrama de Flujo 3

Ingenier a Civil

Programaci on Digital

Desarrollo del Programa

2.3

Pseudoc odigo.

El pseudoc odigo para la aplicaci on de cambio de unidades, se muestra en el algoritmo 1. Los datos de entrada son: Datos: Para la poligonal: Ingresar el n umero de lados n. Un azimut conocido (grados, minutos, segundos) Las coordenadas de un punto. Ingresar los a ngulos vertical y horizontal. Las medidas de los lados ( hilo superior, medio e inferior)

Para las coordenadas: Detalles por radiaci on. Resultado: Para la poligonal: Suma de angulos internos. Error angular de cierre. Compensaci on de los a ngulos. Azimut de los lados. La distancia horizontal, vertical. El per metro. Error lineal. Compensaciones lineales. Coordenadas de los puntos.

10

Ingenier a Civil

Programaci on Digital

Desarrollo del Programa

1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32:

Inicio /* Ingresar el numero lados de la poligonal N N Z; Global n; si n = 0; para Desde i = 1 hasta i = 23 Imax hacer N = i; n = N + 2; n para matriz = [A;B;C;D;E;F;G;H;I;J;K;L;M;N;O;P;Q;R;S;T;U;V;W]; para Desde i = 1 hasta i = n Imax hacer a = matriz (de 1 hasta i); b = matriz (de 2 hasta i); c = matriz(1); d = vertcat(b,c); uniendo la matriz b y c e = horzcat(a,d); uniendo la matriz a y d n para imprimir critico /* Ingresar los angulos de la poligonal angulos. angulos ; /* Ingresar los angulos de la poligonal AH en (grados ,minutos y segundos); und grados, minutos y segundos; Global n; para Desde i = 1 hasta i = n Imax hacer AH = angulos de 1 hasta i ,de 1 hasta 3 /*AH Angulos horizontales n para SAH = Sum(AH) /*SAH Angulos horizontales para Desde i = 1 hasta i = 2 Imax hacer si (SAH (i) > 60) entonces 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) si no imprimir S AH ; n si n para AI = [180*(n - 2) 0 0] /*AI Suma de angulos internos/* Ec = abs(S AH AI ); /*Ec Error angular de cierre/*

33: 34: 35: 36: 37: 38: 39: 40:

11

Ingenier a Civil

Programaci on Digital

Desarrollo del Programa

1: 2:

3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:

15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36:

para Desde i = 1 hasta i = 2 Imax hacer 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)]; n para EC = Ec(1) + Ec (2)/60 + Ec (3)/3600; Emximo = 0.2*raiz cuadrada(n); si EC > Emaximo entonces imprimir /*mostrar mensaje de error/* si no imprimir critico n si /*C compensacion/* Ec1 = Ec(1) + Ec(2)/60 + Ec(3)/3600; C = Ec1/n; C = [SACAR EL ENTERO(C) SACAR EL ENTERO((C - SACAR EL ENTERO(C))*60) redondear((((C - SACAR EL ENTERO(C))*60) - SACAR EL ENTERO(SACAR EL ENTERO((C - SACAR EL ENTERO(C))*60)))*60)]; para Desde i = 1 hasta i = n Imax hacer C1(i,1) = C(1); C1(i,2) = C(2); C1(i,3) = C(3); n para C = C1; /*Compensando los angulos/*; si si SAH AI > 0 entonces CAH = C + AH si no CAH = AH C ; n si AH = CAH ; /*CAH angulos compesandos/* /*opteniendo azimut de uno de los lados /* AzC = 0; para Desde i = 1 hasta i = 23 Imax hacer si A1 = i entonces AzC = A1; n si n para /*Reordenando la matriz de los angulos /*

12

Ingenier a Civil

Programaci on Digital
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42:

Desarrollo del Programa

para Desde j = 1 hasta j = n Imax hacer para Desde i = n,decremento de - 1, hasta i = AzC Imax hacer /*condicion para el azimut/* AngInt1 = AH (de i = j ,hasta i = 3 )Imax; n para n para si AzC - 1 = 0 entonces AngI nt = AngInt1 ; si no imprimir critico n si para Desde i = 1 hasta , i = AzC - 1 Imax hacer /*condicion para el azimut/* AngInt2 = AH(de 1 = i, hasta 1 = 3 ); n para /*juntando las matrices AngInt1 y 2/* AngI nt = vertcat(AngI nt1, AngI nt2); /*Azimut inicial en grados/* para desde i = 2 hasta i = n Imax hacer AH0 1 = AngInt(deihastai,de1hasta1 ) + AngInt(deihastai,de2hasta2) /60 + AngInt(deihastai,de3hasta3) /3600; si (Az + AH 01) > 180 entonces /*Convirtiendo el azimut en Matriz/* Az(i,1) = Az(i - 1,1) + AH0 1 - 180; /*azimut /* Az(i,1) = Az(i - 1,1) + AH0 1 - 180; si no /* el azimut sera/* Az(i,1) = Az(i - 1,1) + AH0 1 + 180; n si n para si Az(i,1) = Az(i - 1,1) + AH 01 + 180; entonces AzC - 1 = 0; AZ = Az; si no para desde i = 2 hasta i = n Imax hacer /* condicion para azimut de cada lado/* Az 1 = Az(de i hasta n,de 1 hasta 1); n para /* Ajuntando las matrices Az1 1 y 2/* AZ = vertcat(Az 1, Az 2); /*Azimut reordenada para operar con la condicion /* n si

13

Ingenier a Civil

Programaci on Digital

Desarrollo del Programa

1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42:

/* CALCULANDO LA DISTANCIA HORIZONTAL, VERTICAL Y PERIMETRO/* /* Obtenierndo datos de Ang. Verticales y los Hilos/* para Desde i = 1 hasta i = n Imax hacer /*AV Angulos verticales/* AV = Angulos(de 1 hasta ide 4 hasta 6); /*HM Hilo medio/* HM = Angulos(de 1 hasta i de 7 hasta 7); /*HS Hilo superior/* HS = Angulos(de 1 hasta i de 8 hasta 8); /* HI Angulos horizontales/* HI = Angulos(de 1 hasta i de 9 hasta 9); n para para Desde i = 1 hasta i = n Imax hacer Av(i,1) = AV(i,1) + AV(i,2)/60 + AV(i,3)/3600; si Av(i,1) < 90 entonces Alfa = Av + 90; si no Alfa = Av - 90; n siCos Alfa = cosd(Alfa); Sen Alfa = sind(Alfa); S AH; /*Obteniedo la distancia inclinada(Di)/* si HS - HM = verdad; n para si HS - HM = verdad entonces Di = abs((HS - HM)*200); si no, si HM - HI = true entonces Di2 = abs((HM - HI)*200); si no Di3 = abs((HS - HI)*100); n si /*Obteniedo la distancia horizontal (DH)/* DH = Di3.*((Cos alf a)2 ); /*Obteniedo la distancia vertical (DV)/* DV = Di3.*Sen Alfa .*Cos Alfa; /*CALCULO DE LA COTA/* para j = 1 hasta j = n Imax hacer si Cot1 = i entonces CotC = Cot1; DV(i) = 0; n si n para

14

Ingenier a Civil

Programaci on Digital
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42:

Desarrollo del Programa

para Desde i = cotC hasta i = n Imax hacer cota(i,1) = DV(i,1) + cota(1,1); n para para Desde i = 1 hasta i = n Imax hacer cota(i,1) = DV(i,1) + cota(1,1); n para /* reordenando la matriz de lso angulos /* para Desde j = 1 hasta j = n Imax hacer para Desde i = n,decremento de - 1, hasta i = cotC hacer /*condicion para el azimut/* Cota1 = cota(i:j,1:1); n para n para si CotC - 1 = 0 entonces cota = Cota1; si no para Desde i = 1 hasta i = CotC - 1 Imax hacer para Desde i = 1 hasta i = n Imax hacer /*condicion para el azimut/* Cota1 = cota(i:j,1:1); n para n para n si si CotC - 1 == 0 entonces cota = Cota1; si no para Desde i = 1 hasta i = CotC - 1 Imax hacer /*condicion para el azimut/* Cota2 = cota(1:i,1:1); n para /*juntando las matrices Ang Int 1 y 2/* cota = vertcat(Cota1,Cota2); n si /*CALCULANDO X1, Y1 Y ERROR LINEAL/* X1 = DH.*sind(Az); Y1 = DH.*cosd(Az); Ex = suma de (X1); Ey = suma de(Y1); E = raiz cuadrada de (Ex2 + Ey 2 ); /*CALCULANDO COMPENSACIONES LINEALES/* /*CALCULO DE LA COTA/* /*CONDICION/*

15

Ingenier a Civil

Programaci on Digital
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22:

Desarrollo del Programa

para Desde i = 1 hasta i = n Imax hacer Cx(i,1) = - (Ex.*DH(i,1))/P; Cy(i,1) = - (Ey.*DH(i,1))/P; n para /*CALCULANDO X, Y Y ERROR LINEAL/* X = X1 + Cx; Y = Y1 + Cy; /*CALCULANDO ESTE Y NORTE DE LA POLIGONAL/* /*cordenada de uno de los Lados/* /*condicion/* Coor = 0; para Desde i = 1 hasta i = 23 Imax hacer si A2 = i entonces Coor = A2; n si n para para Desde i = 1 hasta i = n Imax hacer D Este(i,1) = D Este(1,1) + X(i,1); D Norte(i,1) = D Norte(1,1) + Y(i,1); n para imprimir /*IMPRESION DE RESULTADOS /* FIN;

16

Ingenier a Civil

Ferdinand E.

P .

Russell

iversity of Connecticut

PROGRAMACIN DIGITAL (IC-246)


x

APLICACIN:
CALCULO DE COORDENADAS

FG

z z0
0

y0

3
y

UNSCH
Ventana Principal de la Aplicaci on
120 ft

x0

60
vB B

30 z x

Programaci on Digital

Ventana Principal de la Aplicaci on

La aplicaci on en la presente pr actica se realiza en un formulario, una captura nal de la ventana principal muestra la Figura.

Figure 3.1: Ventana principal de la aplicaci on

Figure 3.2: Ventana principal con datos ingresados

18

Ingenier a Civil

Ferdinand E.

P .

Russell

iversity of Connecticut

PROGRAMACIN DIGITAL (IC-246)


x

APLICACIN:
CALCULO DE COORDENADAS

FG

z z0
0

y0

4
y

UNSCH
Aplicaci on
120 ft

x0

Contents 4.2 Resultados.

4.1 Datos Requeridos.60


30

20 20 21
vB B

4.3 Ejemplo de Aplicaci on. x z

Programaci on Digital

Aplicaci on

Con la nalidad de trabajar e interactuar con los patrones c odigo del MATLAB y teniendo en cuenta que como alumnos necesitamos un software de ayuda, ponemos aqu un ejemplo de problema de levantamiento topogr aco, con los datos que son comunes para nosotros como estudiantes como ayuda a ello nos favoreceremos con el lenguaje de programaci on de MATLAB. Se realizar a una aplicaci on sencilla sobre un levantamiento topogr aco cuyo procedimiento es conocido por todo ingeniero, la u nica nalidad es programar la aplicaci on que nos muestre los errores comunes de una medici on as como la compensaci on de a ngulos de la poligonal de apoyo como las coordenadas de esta con su respectiva correcci on rutinaria, todo esto desde el Entorno de Desarrollo de MATLAB y con su ejecutable en un GUIDE para su f acil manejo.

4.1

Datos Requeridos.

Los argumentos necesarios para la realizaci on de un Levantamiento Topogr aco con teodolito, son: Lo primero que se necesita es el n umero de lados con los que va a contar la poligonal de apoyo. De ay se debe de proporcionar el azimut conocido de alg un 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 topogr aco, en los cuales incluye los grados de horizontales y verticales entre los puntos de la poligonal, al igual que sus lecturas en la mira o ptica proporcionando as los Hilos estadim etricos. Como aclaraci on los a ngulos se colocan en los cuadros de forma que se coloquen los grados, minutos y segundos. As como las coordenadas est an en metros.

4.2

Resultados.

Considerando con qu e objetivo se realiz o la aplicaci on, 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 compensaci on 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 c alculos con su precisi on respectiva para saber si el proyecto de 20

Ingenier a Civil

Programaci on Digital

Aplicaci on

levantamiento se ejecute o se deba de corregir datos hasta una nueva medici on del terreno. Como u ltimo paso se presenta un cuadro practico que te da a conocer los datos requeridos con los que se hicieron los c alculos, as obteniendo como prioridad principal las coordenadas geogr acas de los puntos de inter es en la poligonal de apoyo.

4.3

Ejemplo de Aplicaci on.

En un levantamiento topogr aco con teodolito se estableci o una poligonal cerrada. Se pide calcular: Las coordenadas de los v ertices 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= B= C= D= E= 36 43 25 215 52 05 51 40 20 111 06 30 124 36 55 ABC Distancias: AB = BC = CD = DE = EA = 189.53m 175.18m 197.78m 142.39m 234.58m

Soluci on:

Calculamos el error angular: 36 215 51 111 124 43 25 52 05 40 20 06 30 36 55 15

539 59

Ec = 540 539 59 15 Ec = 45 Emp = 1 n n = 5ladosdelpoligono Emp = 2.24 Ec Emp (3.2)

int = 539 59 15

21

Ingenier a Civil

Programaci on Digital Compensaci on: C= 45 =9 5

Aplicaci on

(3.3)

Correcci on angular: +9 a cada angulo Angulos Compensados: A= B= C= D= E= Azimut de lados: AzBC = AzAB + B 180 AzBC = AzAB + B + 180 Az Az Az Az Az Calculo de Coordenadas. x = DH sen(Az ) Cx = x C x = Cx L p Donde: L: Distancia entre puntos. P: Perimetro y = DH cos(Az ) Cx = x C y = Cy L p AB = BC = CD = DE = EA = AzAB + B > 180 AzAB + B < 180 324 15 00 00 07 14 231 47 43 162 54 22 107 31 26 36 43 34 215 52 14 51 40 29 111 06 39 124 37 04

22

Ingenier a Civil

Programaci on Digital Coordenadas de los Puntos de la Poligonal.

Aplicaci on

Pto. A B

Az AB BC

DH

Cx

Cy

Xc

Yc

3241500 189.53 -110.733 000714 175.18 0.369 175.180 -122.322 -136.100 -70.633 -0.057 0.044 0.049 0.035 0.058 0.011 0.012 0.009 0.014 0.412 -155.368 41.889 223.752 0.000 153.818 0.047 0.012 -110.686

C CD D DE E EA A 939.46 1073126 234.58 1625422 142.39 2314743 197.78

-155.417 41.854 223.693 -0.234 Table 4.1:

Pto. A B

Az AB

Este

Norte 8625235.780 8625125.094 8625125.507 8624970.139 8625012.029 8625235.780

Cota 618025.950 618179.780 618354.971 618232.661 618096.570 618025.950

153.829 BC 175.190 CD -122.310 DE -136.091 EA -70.619 0.000

C D E A

Table 4.2:

23

Ingenier a Civil

Pto. A B C D E

Este 8625235.780 8625125.094 8625125.507 8624970.139 8625012.029 Table 4.3:

Norte 618025.950 618179.780 618354.971 618232.661 618096.570

Error de Cierre: Ec = Ec = Cx 2 + Cy 2

(0.234)2 + (0.057)2

Ec = 0.240
Error Relativo: 1 Er = p Ec 1 Er = 3907.382

(3.4)

Er = 0.0002559

(3.5)

CONCLU SIONES

Con la familiarizaci on del entorno de desarrollo del MATLAB se pone al alcance del alumno una mejor forma de interpretaci on y adaptaci on para una posterior realizaci on de programas que el mismo pueda programar de acorde a sus necesidades. La interacci on de las instrucciones de decisi on e iteraci on en un solo entorno de programaci on y que ellas te asignen a los c alculos que deseas. Como alumnos nos damos cuenta de la gran importancia de convivir con la tecnolog a y la parte t ecnica que la carrera conlleva consigo As de esta manera siempre estamos propensos a los cambios y adaptaciones a las nuevas formas de hacer c alculos r apidos y ecaces para la carrera en s . Utilizamos correctamente programas tales como Matlab, Excel, Latex, Word, CorelDRAW, etc. principalmente para la implementaci on de gr ocos, c alculos , la edici on de textos y en la realizacion del programa aplicativo.

BIBLIO GRAF IA
Bibliography
[1] The MathWorksMATLAB The Language of Technical Computing [2] Diego Orlando Barrag an Guerrero Manual de Interfaz Graca de MATLAB [3] Universidad de Sevilla Manual de Usuario de la Interfaz Graca de MATLAB [4] Andy H. Register AGuide to MATLAB Objetc-Oriented Programming [5] URL: http://www.mathworks.com/ Pagina Principal de Matlab TECNICAS nas TOPOGRAFIA MODERNAS. Primera Edici on [6] Jorge Mendoza Due 2012

INGENIERA CIVIL - UNSCH

Ferdinand E.

P .

Russell

iversity of Connecticut

PROGRAMACIN DIGITAL (IC-246)


x

APLICACIN:
CALCULO DE COORDENADAS

FG

z z0
0

y0

A
y

UNSCH
Codigo Fuente
120 ft

x0

60
vB B

30 z x

Programaci on Digital

Codigo Fuente

A.1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39

Para el programa

function varargout = PAGINA_01(varargin) gui_Singleton = 1; gui_State = struct(gui_Name, mfilename, ... gui_Singleton, gui_Singleton, ... gui_OpeningFcn, @PAGINA_01_OpeningFcn, ... gui_OutputFcn, @PAGINA_01_OutputFcn, ... gui_LayoutFcn, [] , ... gui_Callback, []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end %clc function PAGINA_01_OpeningFcn(hObject, eventdata, handles, varargin) handles.output = hObject; guidata(hObject, handles); function varargout = PAGINA_01_OutputFcn(hObject, eventdata, handles) varargout{1} = handles.output; %-------------------------------------------------------------------------%--------------------------------------------------------------------------

% --- Pop Up Menu: Azimut de: function D_Azimut_Callback(hObject, eventdata, handles) function D_Azimut_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,BackgroundColor), ... get(0,defaultUicontrolBackgroundColor)) set(hObject,BackgroundColor,white); end

% --- Pop Up Menu: Coordenadas de:

27

Ingenier a Civil

Programaci on Digital
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83

Codigo Fuente

function D_Coordenadas_Callback(hObject, eventdata, handles) function D_Coordenadas_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,BackgroundColor), ... get(0,defaultUicontrolBackgroundColor)) set(hObject,BackgroundColor,white); end

% --- Pop Up Menu: D_Cota: function D_Cota_Callback(hObject, eventdata, handles) function D_Cota_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,BackgroundColor), ... get(0,defaultUicontrolBackgroundColor)) set(hObject,BackgroundColor,white); end

%Pop Up Menu: Numero de Lados(N) function N_Callback(hObject, eventdata, handles) global n clc N=get(handles.N,value); n=0; for i=1:23 if N==i n=N+2; end end

mtz=[A;B;C;D;E;F;G;H;I;J;K;L;M;N;O;P;Q;R;S;T; for i=1:n a=mtz(1:i); b=mtz(2:i); c=mtz(1); d=vertcat(b,c); %uniendo la matriz b y c e=horzcat(a,d); %uniendo la matriz a y d end mtz=zeros(n,9); set(handles.D_Angulos, RowName, e); set(handles.R_Resultados, RowName, a); set(handles.D_Angulos,Data,mtz); set(handles.D_Azimut,string,a); set(handles.D_Coordenadas,string,a); Ingenier a Civil

28

Programaci on Digital
84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127

Codigo Fuente

set(handles.D_Cota,string,a); mts=zeros(1,3); set(handles.GMS_Azimut,Data,mts); % Push Button R_Calcular. function R_Calcular_Callback(hObject, eventdata, handles) clc global n Resultados %Uitable - OBTENIENDO ANGULOS Angulos=get(handles.D_Angulos,Data); for i=1:n AH=Angulos(1:i,1:3); %Angulos horizontale end S_AH=sum(AH); %Suma de angulos horizontales for i=1:2 if(S_AH(i)>60) S_AH=[S_AH(1)+floor((S_AH(2)+floor(S_AH(3)/60))/60) mod(S_AH(2)+ ... floor(S_AH(3)/60),60) mod(S_AH(3),60)]; %MOD:SACA EL RESIDUO ; FLOOR:SACA EL else S_AH; end end AI=[180*(n-2) 0 0]; %Suma de angulos internos Ec = abs(S_AH-AI); %Error angular de cierre for i=1:2 Ec=[Ec(1)+floor((Ec(2)+floor(Ec(3)/60))/60) mod(Ec(2)+ ... floor(Ec(3)/60),60) mod(Ec(3),60)]; end EC=Ec(1)+ Ec (2)/60+Ec (3)/3600; Emax=0.2*sqrt(n); if EC>Emax errordlg({Error,Ec>Emax},Mensaje de error) else end %Compensacion C Ec1=Ec(1)+ Ec(2)/60+Ec(3)/3600; C= Ec1/n; Ingenier a Civil

29

Programaci on Digital
128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170

Codigo Fuente

C=[floor(C) floor((C-floor(C))*60) round((((C-floor(C))*60)- ... floor(floor((C-floor(C))*60)))*60)]; for i=1:n C1(i,1)=C(1); C1(i,2)=C(2); C1(i,3)=C(3); end C=C1; %Compensando los angulos if S_AH-AI > 0 C_AH=C+AH ; else C_AH=AH - C; end AH=C_AH ;%angulos compesando %OBTENIENDO LOS AZIMUT %Azimut de uno de los lados %Condicion A1=get(handles.D_Azimut,value); AzC=0; for i=1:23 if A1==i AzC=A1; end end %Dato Az=get(handles.GMS_Azimut,data); %reordenando la matriz de lso angulos for j=1:n for i=n:-1:AzC Ang_Int1=AH(i:j,1:3);%condicion para el azimut end end if AzC-1==0 Ang_Int = Ang_Int1; else for i=1:AzC-1 Ang_Int2=AH(1:i,1:3);%condicion para el azimut end Ang_Int=vertcat(Ang_Int1,Ang_Int2);%juntando las matrices Ang_Int 1 y 2 end

30

Ingenier a Civil

Programaci on Digital
171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213

Codigo Fuente

Az= Az(1)+ Az(2)/60+Az(3)/3600; %Azimut inicial en grados %Calculando la matriz del azimut for i=2:n %Convirtiendo el azimut en Matriz AH_01=Ang_Int(i:i,1:1)+ Ang_Int(i:i,2:2)/60+Ang_Int(i:i,3:3)/3600; %Angulo en gra if (Az + AH_01)>180 Az(i,1)=Az(i-1,1) + AH_01 - 180; %Azimut else Az(i,1)=Az(i-1,1) + AH_01 + 180; %Azimut end end %reordenando la matriz del azimut if AzC-1==0 AZ = Az; else for i=n:-1:n-AzC+2 Az_1=Az(i:n,1:1);%condicion para azimut de cada lado end for i=1:n-AzC+1 Az_2=Az(1:i,1:1);%condicion para azimut de cada lado end AZ=vertcat(Az_1,Az_2);%juntando las matrices Az1 1 y 2 end %Azimut reordenada para operar con la condicion %CALCULANDO LA DISTANCIA HORIZONTAL, VERTICAL y PERIMETRO %Obtenierndo datos de Ang. Verticales y lso Hilos for i=1:n AV=Angulos(1:i,4:6); %Angulos verticales HM=Angulos(1:i,7:7); %Hilo medio HS=Angulos(1:i,8:8); %Hilo superior HI=Angulos(1:i,9:9); %Hilo inferior end for i=1:n Av(i,1)=AV(i,1)+ AV(i,2)/60+AV(i,3)/3600; if Av(i,1)<90 Alfa=Av+90 ; else Alfa=Av-90 ; end end Cos_Alfa=cosd(Alfa); Sen_Alfa=sind(Alfa);

31

Ingenier a Civil

Programaci on Digital
214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256

Codigo Fuente

%Obteniedo la distancia inclinada(Di) if HS-HM == true Di=abs((HS-HM)*200); elseif HM-HI == true Di2=abs((HM-HI)*200); else Di3=abs((HS-HI)*100); end %Obteniedo la distancia horizontal (DH) DH=Di3.*((Cos_Alfa).^2); %Obteniedo la distancia vertical (DV)

%Obteniedo la distancia vertical (DV) P=sum(DH); %Obteniedo la distancia vertical (DV) DV=Di3.*Sen_Alfa.*Cos_Alfa; %CALCULO DE LA COTA %Condicion Cot1=get(handles.D_Cota,value); for i=1:n if Cot1==i CotC=Cot1; DV(i)=0; end end DV cota=get(handles.cota,string); cota=str2double(cota); for i=CotC:n cota(i,1)=DV(i,1)+cota(1,1); end for i=1:n cota(i,1)=DV(i,1)+cota(1,1); end cota

32

Ingenier a Civil

Programaci on Digital
257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297

Codigo Fuente

%reordenando la matriz de lso angulos for j=1:n for i=n:-1:CotC Cota1=cota(i:j,1:1);%condicion para el azimut end end Cota1 if CotC-1==0 cota = Cota1; else for i=1:CotC-1 Cota2=cota(1:i,1:1);%condicion para el azimut end Cota2 cota=vertcat(Cota1,Cota2);%juntando las matrices Ang_Int 1 y 2 end cota

%CALCULANDO X1, Y1 Y ERROR LINEAL X1=DH.*sind(Az); Y1=DH.*cosd(Az); Ex=sum(X1); Ey=sum(Y1); E=sqrt(Ex^2+Ey^2); %CALCULANDO COMPENSACIONES LINEALES for i=1:n Cx(i,1)=-(Ex.*DH(i,1))/P; Cy(i,1)=-(Ey.*DH(i,1))/P; end Cy; Cx; %CALCULANDO X, Y Y ERROR LINEAL X=X1+Cx; Y=Y1+Cy; %CALCULANDO ESTE Y NORTE DE LA POLIGONAL %cordenada de uno de los Lados %condicion A2=get(handles.D_Coordenadas,value); Coor=0;

33

Ingenier a Civil

Programaci on Digital
299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341

Codigo Fuente

for i=1:23 if A2==i Coor=A2; end end %Dato D_Este=get(handles.C_Este,string); D_Este=str2double(D_Este); D_Norte=get(handles.C_Norte,string); D_Norte=str2double(D_Norte); EN=[D_Este,D_Norte]; X11=X(1,1); Y11=Y(1,1); X(1,1)=0; Y(1,1)=0; for i=1:n D_Este(i,1)=D_Este(1,1)+X(i,1); D_Norte(i,1)=D_Norte(1,1)+Y(i,1); end X11=cat(1,X11,zeros(n-1,1)); Y11=cat(1,Y11,zeros(n-1,1)); X=X+X11; Y=Y+Y11; %IMPRESION DE RESULTADOS %Azimut en Grados Min Seg AZ=[floor(AZ) floor((AZ-floor(AZ))*60) mod((AZ-floor(AZ))*60,1)*60]; %Concatenando los resulrtados horizontamente Resultados=horzcat(AH,DH,AZ,X1,Y1,Cx,Cy,X,Y,D_Este,D_Norte,cota); set(handles.R_Resultados,Data, Resultados) set(handles.R_SumAH,data,S_AH) set(handles.R_Ec,data,Ec) C=C(1:1,1:3); set(handles.R_C,data,C) set(handles.R_Perimetro,string,P) set(handles.R_Ex,string,Ex) set(handles.R_Ey,string,Ey) set(handles.R_E,string,E) Pres=P/E; set(handles.R_Pres,string,round(Pres))

%Pop Up Menu: Numero de Lados(N)

34

Ingenier a Civil

Programaci on Digital
342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384

Codigo Fuente

function N_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,BackgroundColor), ... get(0,defaultUicontrolBackgroundColor)) set(hObject,BackgroundColor,white); end % Creando Propiedades de la Tabla 1 function D_Angulos_CreateFcn(hObject, eventdata, handles) columnwidth={40 25 24 40 25 24 40 40 40}; %dat=rand(9) %columnformat={numeric ,numeric, numeric,numeric, numeric, %numeric, numeric,numeric, numeric}; columneditable=[true true true true true true true true true ]; cnames={Grad,Min,Seg,Grad,Min,Seg,HI,HM,HS }; vnames={AB,BC,CA}; %set(hObject,Data,dat) set(hObject,ColumnName,cnames) ; set(hObject,RowName,[]) ; %set(hObject,ColumnFormat,columnformat) ; set(hObject,ColumnWidth,columnwidth) ; set(hObject,ColumnEditable,columneditable) ; set(hObject,RowName,vnames) ; function D_Angulos_CellEditCallback(hObject, eventdata, handles) function D_Angulos_CellSelectionCallback(hObject, eventdata, handles)

% Creando Propiedades de la Tabla 2 function GMS_Azimut_CreateFcn(hObject, eventdata, handles) %dat={100, 59, 59 }; %columnformat={numeric,numeric, numeric}; columneditable=[true true true ]; cnames={Grados,Min,Seg}; % set(hObject,Data,dat) set(hObject,ColumnName,cnames) ; set(hObject,RowName,[]) ; %set(hObject,ColumnFormat,columnformat) ; set(hObject,ColumnEditable,columneditable) ; function GMS_Azimut_DeleteFcn(hObject, eventdata, handles) function GMS_Azimut_CellEditCallback(hObject, eventdata, handles)

% --- Edit Text

C_Este

35

Ingenier a Civil

Programaci on Digital
385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426

Codigo Fuente

function C_Este_Callback(hObject, eventdata, handles) function C_Este_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,BackgroundColor), ... get(0,defaultUicontrolBackgroundColor)) set(hObject,BackgroundColor,white); end

% --- Edit Text C_Norte function C_Norte_Callback(hObject, eventdata, handles) function C_Norte_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,BackgroundColor), ... get(0,defaultUicontrolBackgroundColor)) set(hObject,BackgroundColor,white); end

% --- Edit Text cota function cota_Callback(hObject, eventdata, handles) function cota_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,BackgroundColor), ... get(0,defaultUicontrolBackgroundColor)) set(hObject,BackgroundColor,white); end

% -------------------------------------------------------------------function Ayuda_Callback(hObject, eventdata, handles) function Ayuda_Acercadelautor_Callback(hObject, eventdata, handles) function Ayuda_ABtopo_Callback(hObject, eventdata, handles) function Exportar_Callback(hObject, eventdata, handles) function Exportar_Puntos_Callback(hObject, eventdata, handles) function Exportar_CuadroResultados_Callback(hObject, eventdata, handles) global Resultados xlswrite(Datos de Poligono,Resultados ,Rocky Ayala, A4) function Importar_Callback(hObject, eventdata, handles) function Importar_Datos_Poligonal_Callback(hObject, eventdata, handles) A1=xlsread(Libro1,D15:P19); % Angulo set(handles.D_Angulos, Data, A1); function Importar_Puntos_Relleno_Callback(hObject, eventdata, handles)

36

Ingenier a Civil

Programaci on Digital
428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471

Codigo Fuente

function Calcular_Callback(hObject, eventdata, handles) function Calcular_Poligonal_Callback(hObject, eventdata, handles) function Calcular_Puntos_Relleno_Callback(hObject, eventdata, handles) function function function function Archivo_Abrir_Callback(hObject, eventdata, handles) Archivo_Guardar_Callback(hObject, eventdata, handles) Archivo_Salir_Callback(hObject, eventdata, handles) Archivo_Callback(hObject, eventdata, handles)

function figure1_CloseRequestFcn(hObject, eventdata, handles) delete(hObject);

function pushbutton3_Callback(hObject, eventdata, handles) function pushbutton4_Callback(hObject, eventdata, handles)

function R_Ec_Callback(hObject, eventdata, handles) function R_Ec_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,BackgroundColor), ... get(0,defaultUicontrolBackgroundColor)) set(hObject,BackgroundColor,white); end

function R_C_Callback(hObject, eventdata, handles) function R_C_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,BackgroundColor), ... get(0,defaultUicontrolBackgroundColor)) set(hObject,BackgroundColor,white); end

function R_Perimetro_Callback(hObject, eventdata, handles) function R_Perimetro_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,BackgroundColor), ... get(0,defaultUicontrolBackgroundColor)) set(hObject,BackgroundColor,white); end Ingenier a Civil

37

Programaci on Digital
472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502

Codigo Fuente

function R_Ex_Callback(hObject, eventdata, handles) function R_Ex_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,BackgroundColor), ... get(0,defaultUicontrolBackgroundColor)) set(hObject,BackgroundColor,white); end

function R_E_Callback(hObject, eventdata, handles) function R_E_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,BackgroundColor), ... get(0,defaultUicontrolBackgroundColor)) set(hObject,BackgroundColor,white); end

function R_Precision_Callback(hObject, eventdata, handles) function R_Precision_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,BackgroundColor), ... get(0,defaultUicontrolBackgroundColor)) set(hObject,BackgroundColor,white); end

function R_Ey_Callback(hObject, eventdata, handles) function R_Ey_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,BackgroundColor), ... get(0,defaultUicontrolBackgroundColor)) set(hObject,BackgroundColor,white); end

38

Ingenier a Civil

You might also like