QUINTA MAT Matlab
QUINTA MAT Matlab
QUINTA MAT Matlab
PROGRAMACION EN MATLAB
De acuerdo a su edición, estos archivos pueden en dos tipos: Script o Archivo de comandos y
funciones. ACTORES
INFORMACION
Script: Son archivos que contienen líneas de instrucciones de Matlab, manteniendo una lógica
secuencial en su edición. Este archivo ya editado se guarda con un nombre especifico, si
queremos ejecutar las instrucciones bastara con escribir dicho nombre en la venta de
PROCESOS
comandos.
Lenguaje de programación MATLAB
Ventana Editor: La ventana editor es usada para escribir y editar, crear y modificar programas,
tanto como ejecutarlos paso a paso para ver si contienen errores (proceso de depuración). El
editor muestra con diferentes colores los diferentes tipos o elementos de los comandos (en
verde, para los comentarios; en rojo, las cadenas de caracteres, etc.). El editor se preocupa de
que las comillas o paréntesis que se abren, no se queden sin cerrar. Figura 3
Figura
INFORMACION
ACTORES
PROCESOS
Lenguaje de programación MATLAB
Ejemplos.
Implementar un script que calcule la hipotenusa de un triángulo rectángulo cuyos catetos tienen
los valores de 12 y 17
>> edit
%Cálculo de la Hipotenusa
a=12;
b=17;
c=sqrt(a^2+b^2);
>>hipotenusa
PROCESOS
Si queremos utilizar otra carpeta utilizaremos el comando set path para indicarle al Matlab donde
esta la carpeta
Lenguaje de programación MATLAB
Ejemplo 2.
Construir una matriz T, formada por la matriz S y la matriz identidad de orden 3 adosada a su
izquierda.
>>edit
t=[eye(3) s];
>>matrizt
PROCESOS
Lenguaje de programación MATLAB
Ejemplo 3.
>> edit
Funcion. Es un M-file con cabecera de ejecución definida, es decir tiene una sintaxis que es:
Function[argumentos_salidas]=nombre(argumentos_entradas)
>>[VARIABLES_DE_SALIDA]=NOMBRE(ARGUMENTOS_ENTRADAS)
En caso que haya mas de un parámetro de salida o de entrada, se separaran con comas.INFORMACIONSi no hay valores de
ACTORES
retorno se omiten los corchetes y el signo =. Si solo hay un valor de retorno no se colocan corchetes.
Variable Local
Son aquellas variables a las cuales puede acceder una función sin haber sido pasadas como argumentos. La
variable debe declararse tanto en el programa principal como en las distintas funciones que deben acceder a su
valor.
Lenguaje de programación MATLAB
Ejemplo1.
>>edit
En el editor digitamos
Function[y]=cubica(x)
Y=2*X^3+8;
>>[y]=cubica(3)
PROCESOS
Lenguaje de programación MATLAB
Ejemplo2
Crear una función para que obtenga la solución de un sistema de n ecuaciones lineales.
Utilizando una matriz A de coeficientes, y un vector B de términos independientes, es decir
obtenemos X tal que AX=B. El valor de X será devuelto por la función.
>>B=[12;4;-8];
>>edit
Function x=solucion(A,B)
Ampliada=[A,B]; % agrupamos A y B
INFORMACION
ACTORES
N=length(A); %# de incognitas
Ejecutamos la función
>>Xo=solucion(A,B)
Lenguaje de programación MATLAB
El comando Inline permite crear en línea una función que representará a una expresión
matemática
Sintaxis:
Ejemplo 3
F(x)=0.9𝑥 4 − 12 𝑥 2 − 5𝑥
La entrada de la function será x, y la salida será y. Escriba una función de forma que x pueda
ser un vector, y utilícela para calcular el valor de la expresión evaluada en X e [-2,2] siendo x
entero.
>>edit
INFORMACION
ACTORES
X=[-2,2];
F=inline(‘0.9*x.^4-12*x.^-5*x’);
Y=g(X)
PROCESOS
Guardamos el archivo con el nombre sol_inline
Ejecutamos la función
>>sol_inline
Lenguaje de programación MATLAB
Ejemplo4
>>edit
N=length(A);
Med=sum(A)/n
Des=abs(Med-A);
Desm=sum(Des)/n
Descu=Des.*Des;
Var=sum(Descu)/n
INFORMACION
ACTORES
DesvT=sqrt(Var)
CV=DesT/Med*100
>>estadistica
Lenguaje de programación MATLAB
EJEMPLO 5
>>edit
Function y=fact(n)
Y=prod(1:n);
Ejecutamos la función
>>numfact=fact(5)
PROCESOS
Lenguaje de programación MATLAB
var=input(‘cadena de mensaje’,’s’)
La función disp
La función disp de MATLAB se utiliza para mostrar un escalar, un mensaje (string), un vector o una
matriz.
>> disp('resultado')
resultado
>> y=22;
>> disp(y)
22
>> disp(A)
PROCESOS
1 2 3
4 5 6
7 8 9
Vamos a ver ahora como imprime una tabla de valores (abscisa, ordenada). Creamos el script
prueba.
disp('tabla función')
disp('abscisa ordenada')
disp(res)
>> prueba
x=
0 1 2 3 4 5
y=
-5 -2 7 22 43 70 INFORMACION
ACTORES
tabla función
abscisa ordenada
0 -5
1 -2
2 7
PROCESOS
3 22
4 43
5 70
Lenguaje de programación MATLAB
La función fprintf
Es otra función para mostrar un mensaje o un resultado, pero que permite mezclar texto y valores
numéricos de las variables y también se puede ajustar el formato de los números. Esta función
tiene muchas posibilidades por lo que empezaremos con las más sencillas.
En medio del texto se ha intercalado un valor numérico que contiene una variable con el formato
%-5.2f,
0, añade ceros
INFORMACION
ACTORES
5, indica cinco caracteres que es el ancho del campo donde ese imprime el valor numérico, si el
número es más corto se añaden espacios o ceros delante del número.
2, indica la precisión, indica el número de dicimales que se mostrarán a la derecha del punto
decimal
i, indica entero
g, formato corto
Lenguaje de programación MATLAB
Vamos a calcular el alcance de un proyectil disparado con velocidad de 46.325 m/s haciendo un
ángulo de 32° mediante la siguiente fórmula.
𝑉𝑜 2 𝑆𝑖𝑛 (2𝜃)
X=
𝑔
Escribimos el script prueba para probar la función fprintf
ang=32;
v0=46.325;
x=v0*v0*sind(2*ang)/9.8;
El carácter \n al final del texto en la función fprintf indica una nueva línea, probar el efecto al
quitarlo. Las variables que guardan los datos v0, ang y x se ponen al final en el mismo orden que se
INFORMACION
citan en el texto separadas por comas. Se sugiereACTORES
al lector que pruebe otros formatos
PROCESOS
>> prueba
La función sprintf
La función sprintf es similar a printf salvo que imprime en una variable. Se utiliza en combinación
con la función gráfica text para mostrar valores de una variable en un gráfico
plot(Vr,Pr,'r')
text(1,1.35,sprintf('presión %1.3f',p))
Vamos a ver como funciona en la ventana de comandos. Guardamos el valor que imprime sprintf
en la variable str.
INFORMACION
ACTORES
str =
Al final de fprintf se pone el carácter \n que indica una nueva línea, no es necesario en la función
sprintf
Introducción
Contenido
Conclusiones
Bibliografía
Gracias