190 likes | 442 Views
MATLAB. lenguaje interpretado: instrucciones se ejecutan (interpretan) de inmediato ejemplo: >>x = [1 2 3 ; 4 5 6] x = 1 2 3 4 5 6 Tipo de dato fundamental: arreglo de reales de dos dimensiones (escalar es un arreglo de 1x1) >>i = 10 %nombre a la Python i = 10.
E N D
MATLAB • lenguaje interpretado: instrucciones se ejecutan (interpretan) de inmediato • ejemplo: >>x = [1 2 3 ; 4 5 6] x = 1 2 3 4 5 6 • Tipo de dato fundamental: arreglo de reales de dos dimensiones (escalar es un arreglo de 1x1) >>i = 10 %nombre a la Python i = 10
respuestas >>x=[1 2 3 4 5 6] %arreglo de una dimensión x = 1 2 3 4 5 6 >>x x = 1 2 3 4 5 6 >>disp(x) 1 2 3 4 5 6 >>x=[1 2 3 4 5 6]; %punto y coma suprime “eco” de la inst. >>x=[1 2 3 4 5 6]; disp(x) 1 2 3 4 5 6
Arreglos(“Vectores”): inicialización >>a=ones(1,5); disp(a) %1 fila de 5 columnas con unos 1 1 1 1 1 >>a=zeros(1,5) % 1 fila de 5 columnas con ceros 0 0 0 0 0 >>a=1:5 1 2 3 4 5 >>a=1:2:9 %primero:incremento:último 1 3 5 7 9 >>a=linspace(0,1,5) %primero, último, nº puntos 0 0.2500 0.5000 0.7500 1.0000 >>a=rand(1,5) %1 fila de 5 cols c/valores al azar en [0,1[ 0.xxxx 0.xxxx 0.xxxx 0.xxxx 0.xxxx
“Matrices”: inicialización >> a = rand(2,3) a = 0.xxxx 0.xxxx 0.xxxx 0.xxxx 0.xxxx 0.xxxx >> a =zeros(2,2) a = 0 0 0 0 >> a = ones(2) a = 1 1 1 1
Indexación >>a = [5 4 3 2 1]; >> a(5) % a(end) o a(length(a)) ans = “variable por omisión” 1 >> a = [1 2 3 ; 4 5 6]; >> a(2,3) % arreglo(nºfila,nº columna) 6 >>a(1,: ) %fila 1 >>a(:,2) %columna 2 1 2 3 2 5 >>a(2,1:2) %primeras 2 columnas de fila 2 4 5
Ejemplos >> a = 2 * ones(2) a = 2 2 2 2 >> b=a/4 b = 0.5000 0.5000 0.5000 0.5000 >> a*b %multiplicación de matrices!!!! ans = 2 2 2 2
Ejemplos >> a = 2*ones(2); >>b=[0,1;2,3]; >>a .* b %multiplicación elemento a elemento ans = 0 2 4 6 >> a .^ b ans = 1 2 4 8 >>a .\ b ans = 0 0.5000 1.0000 1.5000
Script M-file • archivo con instrucciones o comandos MATLAB • Nombre.m • se crea con editor de MATLAB • ejemplo: • %Jalisco.m • n=input(‘nº?’); • disp(‘te gano con’); • disp(n+1); • ejecución: • >>Jalisco • nº?4 • te gano con • 5
Archivos con funciones: M-files %cuadrado(x): calcula x al cuadrado function y=cuadrado(x) y=x.^2; >>cuadrado(2) ans = 4 >>cuadrado(0:5) ans = 0 1 4 9 16 25 >>help cuadrado cuadrado(x): calcula x al cuadrado
Función polinomio %pol(a,x): polinomio de coefs a en argumento x function y=pol(a,x) exponentes=0:length(a)-1; %0 1 … n-1 potencias=x.^exponentes; %x ^0, …,x ^(n-1) productos=a.*potencias; %a(1)*x^0,...,a(n)* x ^(n-1) y=sum(productos); %productos(1)+...+productos(n) >>pol(1:3, 2) ans = 17 (1*2^0 + 2*2^1 + 3*2^2)
Problema: área bajo la curva %area(a,b,n): area de f en [a,b] %usando n ptos function r = area(a,b,n) Nota. Programe alguno de los métodos Rectángulos: Δ(y1+…+yn-1) Trapecios: Δ(y2+y3+...+y n-1+(y1+yn)/2) Simpson: Δ /3(y1+4y2+2y3+4y4+2y5+...+yn) En que y1=f(a), y2=f(a+Δ), y3=f(a+2Δ), …,yn=f(b) y Δ=delta=ancho de intervalos=(b-a)/(n-1)
Sol. Rectángulos: Δ(y1+…+yn-1) %area(a,b,n): area de f en [a,b] %usando n-1 rectángulos function r = area(a,b,n) delta=(b-a)/(n-1); x=linspace(a,b,n-1);%a,a+delta,…,b y=f(x); % f(a),f(a+delta),… ,f(b) r=delta*(sum(y)-y(end));
Evaluación de una función %f(x): f(x) function y=f(x) y=sin(x); %ejemplo >> area(0,pi,20) ans = 1.8899
Sol. Trapecios: Δ(y2+y3+...+y n-1+(y1+yn)/2) %area(a,b,n): area de f en [a,b] %usando n-1 trapecios function r=area(a,b,n) x=linspace(a,b,n); y=f(x); delta=(b-a)/(n-1); r= delta*(sum(y)-(y(1)+y(end))/2);
Sol. Simpson: Δ/3*(y1+4y2+2y3+4y4+2y5+...+yn) %area(a,b,n):area de f en [a,b] %usando n ptos function r=area(a,b,n) delta=(b-a)/(n-1); pares = a+delta : 2*delta : b-delta; impares = a+2*delta : 2*delta : b-delta; r = delta/3 * (f(a)+4*sum(f(pares))+ 2*sum(f(impares))+f(b));