Vous êtes sur la page 1sur 3

.

RESUMEN: En la práctica del segundo 4 PROCEDIMIENTO


laboratorio de Teoría de Estabilidad se continuará con la Iniciamos la práctica realizando funciones con
temática del uso de MATLAB, en esta práctica se ofrecen ciertos resultados. Como el siguiente, que
realizaron ciertos tipos de funciones, y scripts, de los
determina si un número natural es par, impar o cero.
cuales presentaremos ejemplos.
>> n=input('Introduce un número natural\n')
PALABRAS CLAVE Función: Tipo de sub- if n==0;
algoritmo que describe una secuencia de órdenes. Estas disp('n es cero')
órdenes cumplen con una tarea específica de una elseif rem(n,2)==0;
aplicación más grande. disp('n es par')
Script: Son el tipo de programa más sencillo, dado que else
guardan comandos exactamente como se escribirían en disp('n es impar')
la programación. end;
Programar: Dar las instrucciones necesarias a una
máquina para que realice su función de manera A continuación realizamos dos funciones que
automática. determinan cuánto tiempo le lleva a MATLAB o a nuestro
computador el procesar un resultado. Presentaremos el
1 INTRODUCCIÓN resultado de ambas.
Este informe tiene como finalidad explicar >> t1=clock;
claramente el uso de las facilidades que brinda MATLAB for i=1:10000;
en el uso de scripts y funciones, con motivo de aminorar a(i)=log(i);
el tiempo que conllevan muchas acciones repetitivas en end;
la programación de MATLAB. e1=etime(clock,t1)

e1 =
2 OBJETIVOS
1. Comprender el uso de ciertas facilidades que 0.0320
brinda MATLAB.
2. Hacer uso de los servicios de MATLAB y crear >> t2=clock;
con ellos comandos que brinden resultados ind= [1:10000];
requeridos. a=zeros(1,10000);
3. Mostrar de forma clara y ordenada estos datos, a=log(ind);
dando ejemplos de cada sección; script o e2=etime(clock,t2)
función, realizados.
e2 =
3 MARCO TEÓRICO 0.4060

Funciones y scripts: Para crear un programa en En ambos casos se puede observar tiempos
Matlab, hay que usar el Editor y guardarlo en el cortos, debido a que la función no debe cumplir un bucle
directorio correspondiente. Hay dos tipos de programas, de repetición, si esto fuere así, tardaría segundos en
útiles dependiendo de la dificultad requerida: responder.

Scripts: que no aceptan argumentos de entrada ni Continuando realizamos un script que crea una
devuelven argumentos de salida. Operan sobre datos en matriz A, donde uno puede elegir los valores de cada
el área de trabajo. Son programas útiles para unir una elemento, y este script aparte de ello, obtiene la inversa
serie de líneas ejecutables simples y mecánicas. de la matriz.
Consisten en una sucesión de comandos, que se fprintf('Ingrese una matriz A \n\n')
ejecutan en el Command Window de principio a fin. Para m=input('Ingrese el número de filas \n')
crear el script, se escriben los datos de entrada en el n=input('Ingrese el número de columnas \n\n')
editor. for i=1:m
for j=1:n
disp (['El elemento(',num2str(1), ',', num2str(j), ')'])
Funciones: que aceptan argumentos de entrada y A(i,j)=input('');
devuelven argumentos de salida. Las variables internas end
son locales para la función. Son programas que realizan end
tareas más elaboradas que, a partir de ciertos disp('La matriz A es: ')
argumentos de entrada, realizan una serie de cálculos A
programados en el Editor, con una serie de líneas disp ('La inversa de la matriz A es: ')
ejecutables y devuelven uno o varios argumentos de inv(A)
salida al llamar la función desde el Command Window.
Observamos el uso del ciclo for para rellenar los
elementos de la matriz de forma ordenada.

1
.

A continuación creamos un script que se agregan


valores a evaluar y cuántas muestras de dos funciones
que se definirán, y a continuación muestra las dos
gráficas.
Fprintf(‘Graficas en 2D\n\n’)
fprintf(‘ Indique entre que valores quiere evaluar la
2unción?\n’);
a= input(‘inferior\n’) ;
b= input( ‘superior\n’) ;
c=input(‘¿Cuántas muestras quiere para su 2unción?
\n’);
x= linspace(a,b,c);
y=input(‘\nIngrese su 2unción dependiente de x\n’);
fprintf( ‘Indique otros valores entre los que quiere evaluar
la 2unción 2\n\n’); Figura 1. Gráfica de las dos funciones combinadas, del
a2= input(‘inferior\n’); script propuesto en clase.
b2= input(‘superior \n’);
c2=input(‘¿Cuántas muestras quiere para su
2unción?\n’); A continuación crearemos dos scripts que tendrán
x2= linspace(a2,b2,c2); distintas funciones internas.
y2= input(‘\nIngrese otra 2unción dependiente de x\n’); El primer script debe crear dos matrices que deben
plot(x,y,x2,y2). mostrar operaciones combinadas entre ellas:
fprintf('Ingrese una matriz A \n\n')
Obtenemos agregando dos funciones propuestas m=input('Ingrese el número de filas de la primer matriz A
en clase: \n')
Indique entre que valores quiere evaluar la funcion? n=input('Ingrese el número de columnas de la primer
inferior matriz A \n\n')
-10 for i=1:m
superior for j=1:n
10 disp (['El elemento(',num2str(1), ',', num2str(j), ')'])
¿cuantas muestras quiere para su funcion? A(i,j)=input('');
10000 end
Ingrese su funcion dependiente de x end
((sin(x.^3)).^2).*log(x.^3) fprintf('Ingrese una matriz B \n\n')
Indique otros valores entre los que quiere evaluar la x=input('Ingrese el número de filas de la segunda matriz
funcion 2 B \n')
inferior y=input('Ingrese el número de columnas de la segunda
-10 matriz B \n\n')
superior for g=1:x
10 for h=1:y
¿cuantas muestras quiere para su funcion? disp (['El elemento(',num2str(1), ',', num2str(h), ')'])
10000 B(g,h)=input('');
Ingrese otra funcion dependiente de x end
(tan(x.^2))./(cos(log(x)))+sin(x) end
Warning: Imaginary parts of complex X and/or Y disp('La matriz A es: ')
arguments ignored A
> In graficas (line 14) disp ('La matriz B es: ')
B
Obtendremos del script anterior la siguiente gráfica, disp('La multiplicación del inverso de A por B es: ')
observando que se ignora la parte imaginaria de la inv(A).*B
gráfica, dado que las funciones utilizadas poseen datos disp('El inverso de B es: ')
así: inv(B)
disp('La multiplicación de de A por B es: ')
A.*B
disp('La multiplicación del inverso de A por el inverso de
B es: ')
inv(A).*inv(B)

2
.

El segundo script se debe definir dos funciones, en nombrar los títulos y ejes, dado que se deben
la primer gráfica se deben mostrar ambas, y en la especificar como cadenas, si no, el script fallará.
segunda figura la multiplicación de las mismas, junto con
la división de las mismas, en esta función se deben 6 CONCLUSIONES
nombras los ejes y el nombre de cada figura. 1. Las funciones realizadas en MATLAB en la
fprintf('Graficas en 2D\n\n') práctica anterior resultan muy útiles en la
fprintf(' Indique entre que valores quiere evaluar la resolución de muchos cálculos tediosos, una
funcion?\n'); función se puede extender hasta presentar
a= input('inferior\n') ; todo lo necesario.
b= input( 'superior\n') ; 2. Los scripts realizados son una utilidad de
c=input('¿cuantas muestras quiere para su funcion? \n'); máxima utilidad debido a que son variables en
x= linspace(a,b,c); general con respecto al usuario desee, es un
y=input('\nIngrese su funcion dependiente de x\n'); servicio que se busca para ser reutilizado, y
fprintf( 'Indique otros valores entre los que quiere evaluar cumple su función.
la funcion 2\n\n'); 3. Observamos la utilidad de los ciclos (bucles)
a2= input('inferior\n'); que nos son de mucha utilidad, como en lo
b2= input('superior \n'); utilizado en la práctica, para definir los distintos
c2=input('¿cuantas muestras quiere para su funcion?\n'); elementos de una matriz, lo cual resulta en
x2= linspace(a2,b2,c2); una simplicidad muy útil.
y2= input('\nIngrese otra funcion dependiente de x\n'); 4. Aclaramos que una de las utilidades de los
title1=input('Defina el nombre de la primer gráfica, scripts es su capacidad de poder guardar
recordar es una cadena y se debe escribir entre dentro del mismo, valores, para ser
comillas\n'); reutilizados, como en el último script, que los
titulox=input('Defina el nombre del eje x, recordar es una valores de funciones ya definidas fueron
cadena y se escribe entre comillas: \n'); reutilizadas para determinar los valores de la
tituloy=input('Defina el nombre del eje y, recordar es una segunda gráfica, lo cual en MATLAB nos evita
cadena y se escribe entre comillas: \n'); realizar un segundo script o una función
figure(1) distinta.
plot(x,y,x2,y2)
title(title1) 7 REFERENCIAS
ylabel(tituloy); [1] Tutorial Introducción MATLAB
xlabel(titulox); Dirección:
https://www.academia.edu/7831072/TUTORIAL_DE_INTRODUCCI%C3
graficamult=y.*y2; %93N_A_MATLAB
graficadiv=y./y2; [2] Scripts y funciones - MATLAB & Simulink
title2=input('Defina el nombre de la segunda gráfica, Dirección: https://la.mathworks.com/help/matlab/learn_matlab/scripts-
and-functions.html
recordar es una cadena y se debe escribir entre [3] Matlab - Nombrar ejes de una gráfica
comillas\n'); Dirección: https://www.lawebdelprogramador.com/foros/Matlab/950593-
titulox2=input('Defina el nombre del eje x, recordar es Nombrar-ejes-de-una-grafica.html
una cadena y se escribe entre comillas: \n');
tituloy2=input('Defina el nombre del eje y, recordar es
una cadena y se escribe entre comillas: \n');
figure(2)
plot(x,graficamult,x2,graficadiv)
title(title2)
ylabel(tituloy2);
xlabel(titulox2);

Con lo anterior se concluye la programación


propuesta fuera de laboratorio.

5 ANÁLISIS DE RESULTADOS
Con los resultados anteriores resultan muy
satisfactorios, porque todos presentan un resultado
requerido, y todos fueron comprobados con MATLAB,
aunque se debe comentar que se tuvo dificultades al

Vous aimerez peut-être aussi