EXPOSICION MATLAB.docx
-
Upload
damian-vera-gomez -
Category
Documents
-
view
216 -
download
0
Transcript of EXPOSICION MATLAB.docx
-
7/22/2019 EXPOSICION MATLAB.docx
1/4
MATLAB
MATLAB es el principal producto de software de Mathworks, Inc., fundada por los analistas
numricos Cleve Moler y John N. Little. Como su nombre lo indica, MATLAB se desarroll
originalmente como un laboratorio para matrices. Hoy el elemento principal de MATLAB sigue
siendo la matriz. La manipulacin matemtica de matrices se ha realizado muy adecuadamente
en un ambiente interactivo fcil de utilizar, A esta manipulacin matricial, MATLAB agrega
varias funciones numricas, clculos simblicos y herramientas para visualizacin. En
consecuencia, la versin actual representa un ambiente computacional bastante amplio.
MATLAB tiene diferentes funciones y operadores que permiten la adecuada realizacin de los
mtodos numricos que aqu desarrollamos, stos se describirn con detalle en los captulos
siguientes. Adems, se pueden escribir programas como los llamados archivos M (m-files) que
sirven para realizar clculos numricos. Vamos ahora cmo funciona.
Primero, usted se dar cuenta de que el uso normal de MATLAB est estrechamente
relacionado con la programacin. Supongamos, por ejemplo, que queremos determinar la
solucin analtica al problema del paracaidista, lo cual haramos con los siguientes comandos
de MATLAB
Obtenindose como resultado v =16.4050
La secuencia de comandos es como la secuencia de instrucciones en un lenguaje de
programacin tpico. Pero, qu ocurre si usted se quiere desviar de la estructura secuencial?
Aunque hay algunos caminos bien definidos para establecer recursos no secuenciales en el
modo estndar de comandos, para introducir decisiones y loops, lo mejor es crear un
documento de MATLAB al que se le llama archivo-m (m-file). Para hacer esto haga clic en
File New Mfile y se abrir una ventana nueva con el encabezado MATLAB
Editor/Debugger. En esta ventana usted puede escribir y editar programas en MATLAB.
Escriba ah el cdigo siguiente:
Obsrvese que los comandos se escriben exactamente en la misma forma en que se hara en el
extremo frontal de MATLAB. Guarde el programa con el mismo nombre: analpara. MATLAB
agregar en forma automtica la extensin .m para denotar que setrata de un archivo M: analpara.m. Para correr el programa, se debe regresar al modo de
>> g=9.8;>> m=68.1;>>cd=12.5;>> tf=2;>> v=g*m/cd*(1-exp(-cd/m*tf))
g=9.8;m=68.1;cd=12.5;tf=2;
v=g*m/cd*(1-exp(-cd/m*tf))
-
7/22/2019 EXPOSICION MATLAB.docx
2/4
comando. La forma ms directa de efectuar esto consiste en hacer clic en el botn MATLAB
Command Windowque se encuentra en la barra de tareas (que por lo general est en la parte
inferior de la pantalla).
Ahora, el programa se puede correr al hacer clic en el archivo M, analpara, que debe parecerse a
lo siguiente:
>> analpara
Si usted ha hecho todo en forma correcta, MATLAB debe responder con la respuesta correcta:
v = 16.4050
Ahora, un problema con lo anterior es que est preparado para calcular slo un caso. El lector lo
puede hacer ms flexible si hace que el usuario introduzca algunas de las variables. Por
ejemplo, suponga que desea evaluar el efecto de la masa sobre la velocidad a los 2 s. Para hacer
esto, el archivo M podra reescribirse como sigue:
Guarde esto con el nombre de analpara2.m. Si escribi analpara2 mientras se encontraba en el
modo de comando, la lnea mostrar lo que sigue:
masa (kg):
Entonces, el usuario introduce un valor como 100, y el resultado aparecer como:v = 17.3420
Ahora, debe quedar bastante claro cmo se puede programar una solucin numrica por medio
de un archivo M. A fin de hacerlo, primero debemos entender la manera en que MATLAB
maneja las estructuras lgica y de lazo (ciclos o loops). En la figura 2.9 se enlista el
seudocdigo junto con el cdigo de MATLAB para todas las estructuras de control, con base en
la seccin anterior. Aunque las estructuras del seudocdigo y el cdigo MATLAB son muy
similares, existen algunas diferencias pequeas que deben destacarse. En especial, observe
cmo hemos expresado la estructura DOEXIT. En lugar del DO usamos el WHILE(l). Como
MATLAB interpreta al nmero 1 como correspondiente a verdadero, esta instruccin se
repetir indefinidamente de la misma manera que el DO. El looptermina con un comando de
interrupcin (break), el cual transfiere el control a la instruccin que se encuentra a
continuacin, de la instruccin end que termina el ciclo. Tambin hay que observar que los
parmetros del lazo controlado por contador estn ordenados de modo diferente. Para el
seudocdigo, los parmetros del lazo estn especificados como start, flnish, step. Para
MATLAB, los parmetros estn ordenados como start: step: finish.Ahora el siguiente archivo-m de MATLAB se puede desarrollar directamente, a partir del
g=9.8;m=input('masa (kg):');cd=12.5;tf=2;
v=g*m/cd*(1-exp(-cd/m*tf))
-
7/22/2019 EXPOSICION MATLAB.docx
3/4
seudocdigo dado en la figura 2.7. Escriba lo siguiente en el Editor/Debugger de MATLAB:
Guarde este archivo como numpara.m, vuelva al modo de comandos y crralo dando
numpara. Obtendr la siguiente salida:
Por ltimo vamos a convertir este archivo-m en una funcin. Esto se puede hacer en el
siguiente archivo-m basado en el seudocdigo de la figura 2.7:
Guarde este archivo como euler.m y despus cree otro archivo-m para calcular la derivada,
Guarde este archivo como dy.m y regrese al modo de comandos. Para llamar la funcin y ver elresultado, teclea los siguientes comandos:
g=9.8;m=input('mass (kg):');cd=12.5;ti=0;
tf-2;vi=0;dt=0.1;t =ti;V = vi;h= dt ;while (1)if t + dt > tfh= tf - t;
enddvdt = g - (cd / m) * v;v = v + dvdt * h;t = t + h;if t >= tf, break, endenddisp(velocity (m/s):')
disp(v)
function euler = f (dt,ti,tf,yi,m,cd)t = ti;y = yi;h = dt;while (1)if t + dt > tfh = tf- t;enddydt = dy(t, y, m, cd);y = y + dydt * h;t = t + h;if t >= tf, break, endend
yy = y;
m=68.1;cd=12.5;
ti=0;tf=2.;vi=0;dt=0.1;
euler(dt,ti,tf,vi,m,cd)
function dydt = dy(t, v, m, cd)g = 9-8;
dydt = g - (cd / m)* v;tf,vi,m,cd)
masa (kg): 100
velocity (m/s) =17.4381
-
7/22/2019 EXPOSICION MATLAB.docx
4/4
Una vez dado el ltimo comando, se desplegar el resultado ans = 15.5309
La combinacin del ambiente de MATLAB con el lenguaje de programacin para los archivos-
m nos abre un mundo de posibilidades para la solucin de problemas en ingeniera.
A) SEUDOCDIGO B)MATLAB
IF/THEN:IF condicin THENBloque verdaderoENDIF
if b = 0
rl - -c / b;
end
IF/THEN/ELSE:IF condicin THENBloque verdaderoELSEBloque falsoENDIF
if a - 10, break, end
j i*x:
end
LOOP CONTROLADO POR CONTADOR:DOFOR i=Inicio, fin, incremento
BloqueENDO
for i = 1:10:2x - x + i;endo