QUINTA MAT Matlab

Descargar como pptx, pdf o txt
Descargar como pptx, pdf o txt
Está en la página 1de 17

Lenguaje de programación MATLAB

PROGRAMACION EN MATLAB

 La programación en MATLAB se realiza básicamente sobre archivos M o M-files.


 Se los denomina de esta forma debido a su extensión “.m”.
 Pueden ser creados y editados desde cualquier editor de textos, ejemplo el bloc de notas.
 Matlab incluye un lugar llamado editor debuggerel al cual se lo invoca con la instrucción
edit.
 Si se hace archivos por medio de un editor externo a los archivos se los debe guardar con
la extensión .m

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

Invocamos al editor debugger

>> edit

Luego escribimos en el editor lo siguiente:

%Mi primer script

%Cálculo de la Hipotenusa

a=12;

b=17;

c=sqrt(a^2+b^2);

who % para ver las variables creadas en el worspace


ACTORES
INFORMACION

Luego lo guardamos con el nombre de hipotenusa

Para ejecutarlo el script vamos a la ventana de comandos:

>>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

s=[1 0;4 25;9 36];

t=[eye(3) s];

guardarlo el script con el nombre de matrizt


INFORMACION
ACTORES

Ir a la ventana de comandos y ejecutar el script

>>matrizt
PROCESOS
Lenguaje de programación MATLAB

Ejemplo 3.

Calcular el promedio de 5 números ingresados por teclado

>> edit

V1=input(“ingrese el primer valor”)

V2=input(“ingrese el segundo valor”)

V3=input(“ingrese el tercer valor”)

V4=input(“ingrese el cuarto valor”)

V5=input(“ingrese el quinto valor”)


INFORMACION
P=(v1+v2+v3+v4+v5)/5 ACTORES

Lo guardamos como promedio

Ir a la ventana de comandos y ejecutar el script


PROCESOS
>>promedio
Lenguaje de programación MATLAB

Funcion. Es un M-file con cabecera de ejecución definida, es decir tiene una sintaxis que es:

Function[argumentos_salidas]=nombre(argumentos_entradas)

Nombre: Corresponde al nombre de la función.

Argumentos_salidas: representa a un vector de elementos o variables de retorno de la


función. El valor de cada uno de los elementos cambía a medida que se ejecuta el algoritmo.
Los valores devueltos por la función convocada serán los valores que se encuentran en
argumentos_salidas en el momento en que termina la ejecución de la función.

Argumentos_entradas: Son los parámetros que recibe la función para realizar su


procesamiento .Estos argumentos, durante su ejecución, son parámetros recibidos por valor

La función se la aplica de la siguiente manera

>>[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

La variable se declara dentro de una función y es reconocida solo por esta

Variable Global PROCESOS

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.

Evaluar F(x)=2𝑥 3 donde x es un escalar.

>>edit

En el editor digitamos

Function[y]=cubica(x)

Y=2*X^3+8;

Guardamos la función como cubica.m

Ejecutamos la función para esto vamos a la ventana


ACTORESde comandos INFORMACION

>>[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.

Ingresamos la matriz A y el vector B en el cuadro de comandos

>>A=[1 0 2;5 4 1;-2 1 -1];

>>B=[12;4;-8];

>>edit

En el editor digitamos lo siguiente:

Function x=solucion(A,B)

Ampliada=[A,B]; % agrupamos A y B
INFORMACION
ACTORES
N=length(A); %# de incognitas

S=rref(Ampliada); % reduce las filas escalodamante

X=S(:,n+1); %tomando la última columna de S


PROCESOS
Guardamos el archivo con el nombre de solución

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:

Var=inline(expresión matemática en forma de cadena)

Ejemplo 3

Evaluar la siguiente expresión

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

Crear una función llamada estadística

>>edit

A=input(‘ingresa el vector de valores:’)

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

La grabamos con el nombre de estadistica.m


PROCESOS
Ejecutamos función en la ventana de comandos

>>estadistica
Lenguaje de programación MATLAB

EJEMPLO 5

Construir una función para calcular el factorial de un numero

>>edit

Function y=fact(n)

Y=prod(1:n);

Guardamos la función con el nombre fact.m


INFORMACION
ACTORES

Ejecutamos la función

>>numfact=fact(5)
PROCESOS
Lenguaje de programación MATLAB

FUNCIONES DE INGRESO Y SALIDA DE DATOS

La función input: permite ingresar un conjunto de datos desde el teclado

Sintaxis: var=input(‘cadena de mensaje’)

var=input(‘cadena de mensaje’,’s’)

La primera sintaxis permitirá el ingreso de datos como si estuviéramos en la ventana de comandos


y la segunda indica que todo lo especificado será una cadena de caracteres

La función disp

La función disp de MATLAB se utiliza para mostrar un escalar, un mensaje (string), un vector o una
matriz.

En la línea de comandos escribimos

>> disp('resultado')

resultado

>> y=22;

>> disp(y)

22

>> x=1:0.5:3; INFORMACION


ACTORES
>> disp(x)

1.0000 1.5000 2.0000 2.5000 3.0000

>> A=[1 2 3; 4 5 6; 7 8 9];

>> disp(A)
PROCESOS
1 2 3

4 5 6

7 8 9

La función disp imprime una matriz A.


Lenguaje de programación MATLAB

Vamos a ver ahora como imprime una tabla de valores (abscisa, ordenada). Creamos el script
prueba.

x=0:5 %vector fila

y=3*x.^2-5 %vector fila

res(:,1)=x'; %columna 1 de la matriz

res(:,2)=y'; %columna 2 de la martiz

%esto es equivalente a poner res=[x' y']

disp('tabla función')

disp('abscisa ordenada')

disp(res)

En la ventana de comandos corremos el script prueba

>> 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.

fprintf('texto %5.2f texto adicional', variable)

En medio del texto se ha intercalado un valor numérico que contiene una variable con el formato
%-5.2f,

% es el símbolo que indica formato

-, alinea el número hacia la izquierda

+, imprime el signo (+ si es positivo y - si es negativo)

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

f, indica que se utilizará la notación (entero.decimal) por ejemplo 17.09 PROCESOS


e, indica que se utilizará la notación exponencial, por ejemplo1.709e+001

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;

fprintf('velocidad %2.4f m/s, ángulo de tiro %i°, alcance %5.2f m\n',v0,ang,x)

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

Corremos el script en la ventana de comandos

PROCESOS
>> prueba

velocidad 46.3250 m/s, ángulo de tiro 32°, alcance 196.82 m


Lenguaje de programación MATLAB

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

%código para dibujar 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=sprintf('el valor de pi es %1.3f',pi)

str =

el valor de pi es 3.142 PROCESOS

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

También podría gustarte