Está en la página 1de 24

Introducción al uso de

MATLAB

Prof. Miguel Ríos


Diseño de Reactores
Sem 3-2018
Carpeta de trabajo
Ventana de comandos
Variables
El “Script” es el archivo .m que se crea
para guardar las instrucciones.
Comandos Básicos

Símbolo Operación

+ Suma

- Resta

* Multiplicación

/ División

^ Potencia

.*, .^, ./ Operación por Elemento


exp ( ) Exponencial
M’ Transpuesta de M
Comandos importantes
Comando Función

fprintf Imprimir resultados

plot (x,y) Graficar

fsolve Sistema de ecuaciones

ode45 Ecuaciones diferenciales

fminsearch Mínimo de funciones

For / end Lazo for

length Tamaño de vector

Min / max Valor mínimo y máximo (Vector)

linspace Genera vector

trapz Integración numérica

clc, clear, close all Borrar


Vectores y matrices

a = [ 1 2 3 4 5] a y b son vectores de:


1 fila, y 5 columnas En Matlab

b = [ 2 4 6 8 10] vector ( Fila , Columna )

m=[a;b] Ejemplo:

La matriz m tiene: j = m (2, 1); 2


m j = m (1, : ); 12345
2 filas y 5 columnas

T = m’
k = T( : , 2 ) 2
4
m’
La matriz m’ tiene: 6
5 filas y 2 columnas 8
10
fprintf
fprintf(‘texto %formato’,variable)

formato: \n Salto en línea


%c Carácter \t Tabulación
%d Número entero \b Backspace
%f Número real
%s Cadena
Espacios reservados
%u Número entero positivo
%x Salida hexadecimal Decimales

a = 20;
fprintf(‘El valor de a es: %2.1f\n’,a)

El valor de a es: 20.0


>>
Gráficos
plot(varible eje x, variable eje y,’formato’)

Formato: (color - marcador)

Colores Marcadores
b Azul . : - + -. -- x
g Verde O (circulo)
r Rojo * (Estrella)
c Azul cian s (cuadrado)
m Magenta d (diamante)
y Amarillo <,>,^,v (triángulos)
w Blanco p (pentagrama)
k Negro h (hexagrama)
Gráficos
plot(varible eje x, variable eje y,’r--’)
Color
Marcador

Ejemplo:

x = linspace(-10,10);
y = sin (x);
z = cos (x);

plot (x,y,’r-.’);
hold on;
plot (x,z,’b--’);

xlabel('variable en eje x');


ylabel (‘eje Y');
title ('Gráficos');
legend (‘seno(x)’,’coseno(x)’);
Lazo for
Se usa para repetir una instrucción un determinado numero de veces.
ejemplo:

x = linspace (0,20); Genera un vector de 100 valores de 0 a 20

x = [0 . . . . . . . . . . . . . 20]
for ii=1:length(x) length (x) = 100 (ii toma valores de 1 a 100)
y(ii)=sin(x(ii)); Se genera el vector “y” (100 valores)
end

plot (x, y);

x = 0:0.5:20 ( inicio : incremento : final )


Funciones

Parámetros de entrada
Función
Parámetros de salida

[salida] = Nombre de la función (entrada)

Function [z] = suma (x,y)


a = 3 * suma(2,3);
z = x + y;
a = 15
end
Funciones anónimas
nombre = @(argumentos) expresión

Idealmente debe ser una Definición:


expresión única y sencilla y = @(x)(sin(x)/2);
que se utilice varias veces
en el script
Llamada:
Las funciones anónimas Z = y(1.5);
permiten definir una función
simple sin necesidad de
crearla y guardarla en un Resultado:
archivo .m Z= 0.4987

Se pueden asignar a
variables y estas variables se funcion = @(x,y)sin(x)*cos(y);
pueden pasar a otras z = funcion(1,0);
funciones como se pasan z = 0.8415
escalares o vectores.
fsolve
Resuelve sistemas de ecuaciones no lineales

[solucion] = fsolve(función(entrada),semilla)

Ejemplo:

Función: Script
function [ Y ] = fun( T )
[solucion] = fsolve ( @(T)fun(T) , 300 );
%Datos:
A = 20000;
Ea = 10000;
R = 8.314;
k =3;

%k = A * exp(-Ea/(R*T))
Y = A * exp(-Ea/(R*T))-k;
end
fsolve
Resuelve sistemas de ecuaciones no lineales

Ejemplo:
function [ Y ] = fun( x )

%Datos:
A = 20000;
Ea = 10000;
R = 8.314;
k1 = 3;
Keq =100;

T =x(1);
k2 = x(2);

Y(1) = A * exp (-Ea./(R*T))-k1;


Y(2) = k2*Keq-k1;
end

Script:

[solucion] = fsolve ( @(T)fun(T) , [300 0.5] );


fminsearch
Encuentra el mínimo de una función determinada

[solucion] = fminsearch(función(entrada),semilla)

Ejemplo:

function [Y] = fun1( x )

Y = (x-1)^2 - 4;

end

script:
[solucion]=
fminsearch(@(x)fun1(x),0.5);

P = fun1(solucion);
ode45
Resuelve sistemas de ecuaciones diferenciales ordinarias

[solucion] = ode45(función,intervalo de integración, condición inicial)

Variable independiente
function [dXdt] = fun2(t,X )
dXdt = 2 * X - t ;
Variable dependiente
end

Script:

C0 = 1;
tspan = linspace (0,2);
funcion = @(t,X)fun2(t,X);
[t,solucion] = ode45(funcion,tspan,C0);

Solucion(end)= 42.19

También podría gustarte