Clase 03

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 13

HERRAMIENTAS COMPUTACIONALES

PARA INGENIERÍA CIVIL - NIVELATORIO


(CLASE 03)

Santiago Gómez, Ing.


santiago.gomez@correounivalle.edu.co
Resumen
• ¿Una gráfica (axes) puede contener una figura (figure)?¿Es posible modificar las propiedades de una gráfica?.
• Nombre tres formas de modificar las propiedades de un objeto gráfico.
• ¿Cómo se define una función en MATLAB?¿Las variables dentro de una función quedan en el Workspace?.
• Enumere tres características de una función y tres de un script.
• ¿Cómo se genera una superficie en MATLAB? Enumere los pasos para generarla.
• Como se guarda y se carga un archivo en MATLAB (.m).

(2017), Gómez S. 2
Programación
EJ01
• Durante el mes de abril de 2002 se recogieron las siguientes temperaturas máximas (en °F) en Washington DC:
58 73 73 53 50 48 56 73 73 66 69 63 74 82 84 91 93 89 91 80 59 69 56 64 63 66 64 74 63 69 (datos del
Ministerio Nacional de Meteoróloga y Oceanografía de Estados Unidos). Utilizar operadores relacionales y
Iógicos para determinar:
- El numero de días en los que la temperatura fue superior a 75 °F.
- El numero de días en los que la temperatura estuvo situada entre 65 °F y 80 °F.
- Los días del mes (la fecha) en 1os que la temperatura estuvo situada entre 50 °F y 60 °F.

• Escribir un programa (en un fichero script) que convierta una cantidad de energía dada (trabajo en Joules), ft-lb
(pies-libras), cal (calorías) o eV (electronvoltios) a la cantidad equivalente en otra unidad diferente especificada
por el usuado. El programa pedirá al usuario que introduzca la cantidad de energía y su unidad, así como la
unidad a la que se quiere realizar la conversión. La salida será la cantidad introducida convertida a la nueva
unidad de energía elegida. Los factores de conversión son: 1 J = 0.738 ft-lb = 0.239 cal= 6.24e+18 eV. Utilizar
posteriormente este programa para:
- Convertir 150 J a ft-lb.
- Convertir 2800 cal a J.
- Convertir 2,7 eV a cal.

(2017), Gómez S. 3
Programación
EJ01
𝑥𝑥 𝑛𝑛
• La función 𝑓𝑓(𝑥𝑥) = 𝑒𝑒 𝑥𝑥 se puede representar mediante la siguiente serie de Taylor: 𝑒𝑒 𝑥𝑥 = ∑∞
𝑛𝑛=0 𝑛𝑛! Escribir un
programa script en MATLAB que calcule 𝑒𝑒 𝑥𝑥 utilizando la serie de Taylor indicada anteriormente. El programa
debe calcular 𝑒𝑒 𝑥𝑥 sumando los terminos de la serie en un proceso iterativo que se detenga cuando el valor
absoluto del último termino sumado sea inferior a 0,0001. Utilizar para ello un bucle del tipo while, limitando el
número de iteraciones a 30. Si en la iteración número 30 el valor del término sumado no es inferior a 0,0001, el
programa deberá parar y visualizar un mensaje que diga que se necesitan mas de 30 términos.
- Calcular 𝑒𝑒 2 , 𝑒𝑒 −4 y 𝑒𝑒 21

(2017), Gómez S. 4
Ficheros
Entrada
Cuando se ejecuta un fichero script, las variables utilizadas en los cálculos deben estar previamente definidas. La
asignación de valores a estas variables se puede realizar de tres formas, dependiendo de donde y como se haya
definido la variable
Revisar sintaxis, el comando
• Variable asignada el fichero script.
input puede restringir el
• Variable definida y asignada en el Command Window. tipo de dato de entrada
(número, texto, matriz, etc.)
• Variable definida en el fichero script pero asignada en Command Window (input)

nombre_variable = input(‘mensaje que se muestra en el Command Window’)

Los argumentos de entrada de un fichero función se introducen entre paréntesis a continuación del nombre de la
función. Por lo general, las funciones se declaran con al menos un argumento de entrada, aunque también es
posible definir funciones que no tengan ningún argumento de entrada

function [y1,y2,y3,…,ym] = myfun(x1,x2,x3,…,xn)

(2017), Gómez S. 5
Ficheros
Entrada y salida alternativas
Alternativamente, se puede utilizar el comando inputdlg que solicita la variable en una ventana emergente

prompt = {'Enter matrix size:','Enter colormap name:'};


dlg_title = 'Input';
num_lines = 1;
defaultans = {'20','hsv'};
answer = inputdlg(prompt,dlg_title,num_lines,defaultans);

Las salidas en ventanas emergentes se generan a través del comando dialog.

function [y1,y2,y3,…,ym] = myfun(x1,x2,x3,…,xn)

(2017), Gómez S. 6
Ficheros
Salida
MATLAB tiene varios comandos para generar mensajes y salidas de datos elaboradas. Esto es necesario cuando,
aparte del valor de una variable y su nombre, es necesario mostrar mensajes informativos sobre la naturaleza de
los datos y/o gráficos
• Salidas en el Command Window: dos comandos de uso muy frecuente son el disp y el fprintf
El comando disp se utiliza para visualizar un texto o el contenido de una variable sin mostrar su nombre. La
sintaxis de este comando es:
disp(nombre_variable) o disp(‘Mensaje’) o disp([‘Mensaje’,num2str(nombre_var)])

El comando fprintf tiene la misma función que el disp, pero es más complejo Buscar en la documentación
los caracteres de escape
• Para visualizar texto: frpintf(‘Mensaje\n’) complementarios

• Para visualizar datos y texto: frpintf(‘Texto %-5.2f texto adicional’,nombre_var)

El símbolo % marca el Elemento de formato Nombre de la variable


lugar donde se insertaré el (definen el formato del cuyo valor será
numero dentro del texto número) visualizado
(2017), Gómez S. 7
Ficheros
Importación y exportación
MATLAB es un software comúnmente utilizado para el análisis de datos experimentales que pueden provenir de
distintas fuentes, incluidos otros programas. La forma de procesar estos datos externos es importarlos a MATLAB.
De forma análoga, los datos calculados por MATLAB pueden ser transferidos o exportados a otras aplicaciones
• Excel a MATLAB (xlsread)

nombre_var = xlsread(‘archivo_excel’,‘hoja’,‘rango’)

• MATLAB a Excel (xlswrite)

xlswrite(‘archivo_excel’,nombre_var,‘hoja’,‘rango’)

• Asistente de importación uiimport

(2017), Gómez S. 8
Ficheros
EJ02
Un silo con estructura cilíndrica de radio r posee una parte superior esférica de radio R. La altura de la porci6n
cilíndrica es H. Escribir un fichero script que determine la altura Ha partir de los valores r y R, y del volumen V.
Además, el programa debe calcular el área de la superficie del silo. Pedir estos valores al usuario. Ayuda: el
volumen y el área superficial del techo esférico se obtiene a partir de:
1
𝑉𝑉𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡 = 𝜋𝜋ℎ2 (3𝑅𝑅 − ℎ),
3

ℎ = 𝑅𝑅 − 𝑅𝑅 cos 𝜃𝜃 = 𝑅𝑅 1 − cos 𝜃𝜃

𝑆𝑆 = 2𝜋𝜋𝜋𝜋𝜋

(2017), Gómez S. 9
Ficheros
EJ02
Escribir un programa, utilizando un fichero script, que calcule las coordenadas del
centroide de un área compuesta como el de la figura adjunta. Un área compuesta
puede ser dividida en secciones independientes cuyo centroide es conocido. El
usuario necesita dividir el área en secciones y conocer las coordenadas del
centroide (dos números), así como el área de cada sección (un número). Cuando
se ejecute el script, este debe pedir al usuario que introduzca los tres números
como fila de una matriz. El usuario debe introducir tantas filas como secciones
haya. Las secciones que representan agujeros tendrán área negativa. Como
salida, el programa debe mostrar las coordenadas del centroide del área
compuesta. Los datos conocidos se indican en la figura.

(2017), Gómez S. 10
Objetos gráficos
Entradas
Los ficheros (functions y scripts) no solo pueden tener entradas directas, también se pueden extraer entradas de
las gráficas (axes), ginput es un comando que permite al usuario interactuar con una gráfica para dar
coordenadas al fichero como datos de entrada.

[x,y] = ginput(num_puntos)

>> x =

0.1578
0.6440
0.6694
0.3076

y =

0.1443
0.1676
0.6953
0.7187

(2017), Gómez S. 11
Ficheros
EJ03
• Escribir un programa que permita dibujar al usuario, en una gráfica, un rectangulo, un circulo o un triangulo.
Como salida se debe mostrar en una gráfica las formas geométricas dibujadas. Además, se debe mostrar el
área y el centroide (señalar) de la geometría dibujada en la gráfica. Ayuda: text

• Modificar para que el programa pueda calcular


las áreas y centroides de secciones
compuestas que dibuje el usuario, dar la opción
de adicionar o eliminar área.

(2017), Gómez S. 12
Referencias
Cooper, J. (2001). A MATLAB companion for multivariable calculus. Academic Press.
Chapra, S. C. (2012). Applied numerical methods. With MATLAB for Engineers and Scientists.
Yang, W. Y., Cao, W., Chung, T. S., & Morris, J. (2005). Applied numerical methods using MATLAB. John Wiley &
Sons.
MathWorks Documentation (2017) Primer MATLAB 2017a https://www.mathworks.com/help/matlab/data-import-
and-analysis.html

(2017), Gómez S. 13

También podría gustarte