1.-Lenguaje de Programacion Matlab

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

UNIVERSIDAD DE GUAYAQUIL

FACULTAD DE INGENIERIA QUIMICA


CARRERA DE INGENIERIA QUIMICA

DEBER #1

Estudiante: Cedeño Sacón Gema María

Curso: Simulación de procesos II 7-4

Docente: Ing. Gonzalo Villa

Fecha: 11/11/2019

LENGUAJE DE PROGRAMACION MATLAB

MATLAB es el nombre abreviado de “MATriz LABoratory”. Es un programa para


realizar cálculos numéricos con vectores y matrices, y por tanto se puede trabajar
también con números escalares (tanto reales como complejos), con cadenas de
caracteres y con otras estructuras de información más complejas. Matlab es un
lenguaje de alto rendimiento para cálculos técnicos, es al mismo tiempo un
entorno y un lenguaje de programación. Uno de sus puntos fuertes es que
permite construir nuestras propias herramientas reutilizables. Podemos crear
fácilmente nuestras propias funciones y programas especiales (conocidos como
M-archivos) en código Matlab, los podemos agrupar en Toolbox (también
llamadas librerías): colección especializada de M-archivos para trabajar en
clases particulares de problemas. Matlab, a parte del cálculo matricial y álgebra
lineal, también puede manejar polinomios, funciones, ecuaciones diferenciales
ordinarias, gráficos.

(Fernandez, s.f.)

VENTANAS DE MATLAB

MATLAB utiliza varias ventanas de despliegue. La vista por defecto, que se


presenta en la figura 2.1, incluye una gran command window (ventana de
comandos) a la derecha y, apiladas a la izquierda, se encuentran las ventanas
current directory (directorio actual), workspace (área de trabajo) y command
history (historia de comandos). Observe las pestañas abajo a la izquierda de las
ventanas; dichas pestañas le permiten acceder a las ventanas ocultas. Las
versiones antiguas de MATLAB también incluían una ventana de launch pad
(lanzamiento), que se reemplazó con el botón de start (inicio) en la esquina
inferior izquierda. Además, cuando sea necesario, se abrirán automáticamente
ventanas de document (documento), graphics (gráficas) y editing (edición). Cada
una de esas ventanas se describe en las secciones que siguen. MATLAB
también tiene construida internamente una función de ayuda, a la que se puede
acceder desde la barra de menú, como se muestra en la figura 2.1. Para
personalizar el escritorio, puede redimensionar cualquiera de estas ventanas,
cerrar las que no use con el icono de cerrar (la x en la esquina superior derecha
de cada ventana), o “desacoplarlas” con el icono undock (desacoplar), que
también se localiza en la esquina superior derecha de cada ventana.

(Moore, s.f.)

Funciones internas de matlab

Toda función de MATLAB está constituida de 3 partes, que son: Los argumentos
de salida, el nombre de la función y los argumentos de entrada.

La entrada (argumento) puede ser un escalar o una matriz, y la salida es un valor


o valores calculados.

Algunas funciones requieren múltiples entradas. Por ejemplo, la función residuo


(rem), requiere dos entradas: un dividendo y un divisor.

La función size es un ejemplo de una función que regresa dos salidas.


Determina el número de filas y columnas en una matriz.

Matlab ofrece la posibilidad de realizar las siguientes operaciones básicas:


Funciones exponenciales

 exp(Z) Función exponencial de base e


 log(Z) Función Logaritmo natural log10
 (Z) Función Logaritmo decimal
 sqrt(Z) Función Raíz cuadrada

Funciones específicas de una variable numérica

 abs(Z) Módulo o valor absoluto


 ceil(x) Redondea los decimales al mayor entero más cercano
 conj(Z) Complejo conjugado
 fix(x) Elimina la parte decimal del real
 x floor(x) Redondea los decimales al menor entero más cercano
 imag(Z) Parte imaginaria
 real(Z) Parte real
 rem(a,b) Da el resto de la división entre los reales a y b
 round(x) El entero más próximo al real x
 sign(Z) Función signo
Funciones trigonométricas

Funciones de redondeo

Y = round(X) redondea cada elemento de X al entero más cercano. En el caso


de un empate, donde un elemento tiene una parte fraccional de exactamente 0.5,
la función round redondea desde cero hasta el entero con mayor magnitud.

Y = round(X,N,type) especifica el tipo de redondeo.


Especifique 'significant' para redondear a N dígitos significativos (contados
desde el dígito más a la izquierda). En este caso, N debe ser un entero positivo.

Y = round(t) redondea cada elemento de t del array duration al número de


segundos más cercano.
Y = round(t,unit) redondea cada elemento de t al número más cercano de la
unidad de tiempo especificada.

Ejemplo:

Redondee los elementos de una matriz de 2 por 2 al entero más cercano.

X = [2.11 3.5; -3.5 0.78];


Y = round(X)
Y = 2×2

2 4
-4 1

round(x) nos redondea un número al entero más próximo.

floor(x) nos redondea un número al entero inferior.

ceil(x) nos redondea un número al entero superior

Ejemplo:

x = [2.1,-2.1]
round(x) nos devuelve 2 -2
floor(x) nos devuelve 2 -3
ceil(x) nos devuelve 3 -2

(Mathwork, 2014)
COMANDOS DE SALIDA DE MATLAB

Comando disp

Descripción: El comando displ permite mostrar el valor de una variable o


mostrar un escalar sin mostrar su nombre, cada vez que se ejecuta el comando
disp la salida aparece en una nueva línea.

 Para escribir el valor de una variable se utiliza el comando disp(v) que


muestra en pantalla el valor de la variable v.
 disp(x) muestra en valor de la variable x sin imprimir el nombre de la
variable.
 Para que un programa en modo de ejecución pueda escribir algún texto
por pantalla, se usa el comando displ(‘cadena de caracteres’) que
escribe la cadena de caracteres que tiene como argumento en la pantalla.
 Si una variable contiene un array vacío disp no mostrara nada

(Llamoca, 2016)

Sintaxis

La sintaxis del comando es la siguiente: disp(x)

Para poder usar este comando de la forma:


disp(nombre_de_variable) ó disp(‘Mensaje’)
Ejemplo:

x =[1 2 3 4 5];

disp('Los valores en la matriz x son:');

disp(x);

(Borja, 2012)

Ejemplos de aplicación
1.- Cree una variable con números y otra variable con texto.

A = [15 150];
S = 'Hello World.';

Muestre el valor de cada variable.

disp(A)
15 150
disp(S)
Hello World.

2.-

Mezclamos texto y números

>> x=12.76;
>> disp(['La longitud es = ',num2str(x),' m'])
La longitud es = 12.76 m
>> x=[10.32, 32.12, 5.10];
>> disp(['Las longitudes son = ',num2str(x),' m'])
Las longitudes son = 10.32 32.12 5.1 m

>> n=length(x);
>> disp([repmat('La longitud es = ',n,1),num2str(x'),repmat('
m',n,1)])
La longitud es = 10.32 m
La longitud es = 32.12 m
La longitud es = 5.1 m

COMANDO FPRINFF

Descripción

El comando fprintf se utiliza para visualizar salidas de programas (texto y datos)


en Ia pantalla, o bien para almacenarlas en un archivo, a diferencia de disp, Ia
salida puede tener un formato preestablecido.

El comando fprinff permite mezclar texto y valores numéricos de las variables y


tiene un mejor control sobre el formato de número, se podrá escribir por pantalla
el resultado que no sabemos pero que se calculó a lo largo del programa. Para
introducir cualquier resultado con el comando fprinff se tiene que guardar
previamente en el programa creado en una variable.
 fprintf(fileID,formatSpec,A1,...,An) aplica formatSpec a todos los
elementos de arrays A1,...An en orden de columna y escribe los datos en
un archivo de texto. fprintf utiliza el esquema de codificación especificado
en la llamada a fopen.
 fprintf(formatSpec,A1,...,An) da formato a los datos y muestra los
resultados en la pantalla.
 nbytes = fprintf(___) devuelve el número de bytes que
escribe fprintf utilizando cualquiera de los argumentos de entrada de las
sintaxis anteriores.

(Mathworks, s.f.)

Sintaxis

fprintf(fileID,formatSpec,A1,...,An)
fprintf(formatSpec,A1,...,An)

nbytes = fprintf(___)

Para la visualización de texto, el comando fprintf se utiliza de la siguiente forma:


fprintf('Mensaje en forma de cadena').

Es posible empezar una nueva línea insertando \n antes del carácter que va a
empezar en la línea siguiente

Ejemplo:

 fprintf('El problema no tienen solución. Por favor, compruebe los datos de


entrada.')
 fprintf('El problema no tienen solución. \n Por favor, compruebe los datos
de entrada‘)

Carácteres utilizados para controlar Ia salida.

 \n salto de línea
 \r regreso de carro
 \t tabulador
 \b retroceder un espacio

Cuando un programa tiene varios comandos fprintf, la salida es continua (no


salta automáticamente de línea).

Ejemplo:

 fprintf('El problema no tiene solución.')


 fprintf('Por favor:\r \t Compruebe los datos de entrada.\n')
 fprintf('\t \bCambie los datos de entrada.\n')

Para visualizar texto y datos (valores de variables) juntos, el comando fprintf


debe utilizarse siguiendo la sintaxis:

fprintf('texto %-5.2f texto adicional', nombre)

 El símbolo % marca del lugar donde se inserta el número dentro del


texto.
 5.2f son los elementos de formato.
 Nombre de la variable cuyo valor será visualizado

Ilustración 1-elementos de formato

El flag o bandera

- (signo menos) Justificación izquierda dentro del campo.

+ (signo más) Visualiza el signo (+ o -) delante del número.

0 (cero) Añade ceros si el número es más pequeño que el campo.


La especificación del ancho y precisión del campo

 El primer número es el ancho del campo, el cual nos indica el menor


número de dígitos en la visualización. Si el número es menor se añadirán
ceros o espacios delante.
 La precisión corresponde al segundo número y especifica el número de
dígitos que se mostrarán a la derecha del punto.

Formato de conversión

e Notación exponencial en minúsculas (ej. 1.709098e+001).

E Notación exponencial en mayúsculas (ej. 1.709098E+001).

f Notación de punto fijo (ej. 17.090980).

g Formato corto de las notaciones e o f.

G Formato corto de las notaciones E o f.

i Entero

Es necesario teclear % (seguido del formato del elemento) en tantos sitios como
se desee dentro de la cadena de texto, poniendo además después de Ia cadena,
y separadas por comas, las variables a las que se hacen referencia. Debe haber
una por cada %, ordenadas de izquierda a derecha por orden de aparición en el
texto.

fprintf('...texto...%f...%f...%f...', variable1, variable2, variable3)

 Si se desea introducir una comilla simple dentro del texto, debe teclearse
doblemente dentro de la cadena.
 Si se desea introducir un símbolo de % dentro del texto, debe teclearse
doblemente dentro de la cadena.
 El comando fprintf permite vectorización. Esto significa que cuando se
introduce una variable de tipo array para ser visualizada, el comando
muestra tantos elementos como haya en el array, utilizando incluso una
visualización apropiada, en forma de columnas y filas, para el caso de las
matrices.
(Borja, s.f.)
Ejemplo de aplicación

Creamos un script para probar la función fprintf


fprintf ('Hola');
Muestra el texto 'Hello'en el ícono.
El comando
fprintf ('Hola =% d', 17);
Usa el formato de notación decimal (%d) para mostrar la variable 17.

v0=46; %velocidad de disparo


ang=30; %ángulo de tiro
x=v0^2*sind(2*ang)/9.8; %alcance
fprintf('ángulo de tiro %i°, alcance %5.2f m\n',ang,x

COMANDO SPRINTF

Descripción

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.

[s,errmsg] = sprintf(format,A,...)formatea los datos en matriz A(y en cualquier


argumento de matriz adicional) bajo el control de la formato
cadena especificada , y los devuelve en la variable de cadena
MATLAB. La sprintf función devuelve una cadena de mensaje de error errmsg si
se produjo un error. Errmsg es una matriz vacía si no se produjo ningún error.

Para poder usar este comando se hace lo siguiente:

%código para dibujar un gráfico


plot(Vr,Pr,'r')

text(1,1.35,sprintf('presión %1.3f',p))

Sintaxis

my $variable = sprintf(FORMATO, VALORES);


Por ejemplo, para imprimir un valor doble en hexadecimal use el formato '%bx'

La sprintffunción está vectorizada para argumentos no escalares. La función


recicla la cadena de formato a través de los elementos de A (en columnas) hasta
que se agoten todos los elementos. La función continúa de manera similar a
través de cualquier argumento de matriz adicional.

Si %sse usa para imprimir parte de un argumento doble no escalar, se produce


el siguiente comportamiento:

Los valores sucesivos se imprimen siempre que sean enteros y estén en el rango
de un carácter válido. El primer carácter no válido finaliza la impresión de
este %sespecificador y se utiliza para un especificador posterior. Por ejemplo, pi
dtermina la cadena a continuación y se imprime usando el %fformato.

Str = [65 66 67 pi];


sprintf ('% s% f', Str)
ans =
ABC 3.141593

Si el primer valor para imprimir no es un carácter válido, solo ese valor se imprime
para este %sespecificador utilizando una econversión como advertencia para el
usuario. Por ejemplo, pi está formateado a %s acontinuación en notación
exponencial y 65, aunque representa un carácter válido, está formateado como
punto fijo ( %f).

 Str = [pi 65 66 67];


 sprintf ('% s% f% s', Str)
 ans =
 3.141593e + 000 65.000000 aC

Una excepción es cero, que es un carácter válido. Si se encuentra cero


primero, %sno imprime nada y se omite el valor. Si se encuentra cero después
de al menos un carácter válido, finaliza la impresión para este %sespecificador
y se utiliza para un especificador posterior.
Ejemplo:

Ilustración 2-Ejemplos de aplicación

(Northwestern, s.f.)

Bibliografía
Borja, V. (s.f.). Obtenido de http://www.utm.mx/~vero0304/HCPM/14-Entrada-salida.pdf

Borja, V. (2012). Obtenido de http://www.utm.mx/~vero0304/HCPM/14-Entrada-salida.pdf

Fernandez, C. C. (s.f.). Obtenido de


http://webs.ucm.es/centros/cont/descargas/documento11541.pdf

Llamoca, J. (2016). Obtenido de https://es.scribd.com/document/328613062/Comandos-de-


Entrada-y-Salida-en-Matlab

Mathwork. (2014). Obtenido de http://minisconmatlab.blogspot.com/2014/07/funciones-con-


numeros.html

Mathworks. (s.f.). Obtenido de https://es.mathworks.com/help/matlab/ref/fprintf.html

Moore, H. (s.f.). Obtenido de


http://dea.unsj.edu.ar/control2/matlab%20para%20ingenieros.pdf

Northwestern. (s.f.). Obtenido de http://www.ece.northwestern.edu/local-


apps/matlabhelp/techdoc/ref/sprintf.html

También podría gustarte