MATLAB
description
Transcript of MATLAB
![Page 1: MATLAB](https://reader035.fdocuments.mx/reader035/viewer/2022062810/56815d8e550346895dcba15c/html5/thumbnails/1.jpg)
MATLAB
… una introducción
![Page 2: MATLAB](https://reader035.fdocuments.mx/reader035/viewer/2022062810/56815d8e550346895dcba15c/html5/thumbnails/2.jpg)
Guión
¿Por Qué Matlab? Comandos básicos Constantes. Operaciones. Variables.
Asignar. Eliminar. Guardar. Recuperar.
Funciones. Vectores. Matrices. Gráficas.
![Page 3: MATLAB](https://reader035.fdocuments.mx/reader035/viewer/2022062810/56815d8e550346895dcba15c/html5/thumbnails/3.jpg)
¿Por qué MATLAB?
Calidad científicaPotencia FlexibilidadFacilidad de usoInteractividadTransparenciaGráficos
![Page 4: MATLAB](https://reader035.fdocuments.mx/reader035/viewer/2022062810/56815d8e550346895dcba15c/html5/thumbnails/4.jpg)
Comandos básicos
help, help topicdirdiary ficheroComentarios: %
Edición de líneas de comando
Funciones de edición de Windows
![Page 5: MATLAB](https://reader035.fdocuments.mx/reader035/viewer/2022062810/56815d8e550346895dcba15c/html5/thumbnails/5.jpg)
ConstantesMatrices de números complejos
A = [2+3i, 4; 5-i, 2i] Vectores, escalares, números reales.
Cadenas de caracteres
'Esto es una cadena'Esto no es una cadena
![Page 6: MATLAB](https://reader035.fdocuments.mx/reader035/viewer/2022062810/56815d8e550346895dcba15c/html5/thumbnails/6.jpg)
Operaciones Suma y resta: + -
Producto, cociente y potencia: * / ^
Uso del punto: .* ./ .^
Precisión aparenteformat longformat short 1 1 3
![Page 7: MATLAB](https://reader035.fdocuments.mx/reader035/viewer/2022062810/56815d8e550346895dcba15c/html5/thumbnails/7.jpg)
Variables
Asignara=3, b=4
Listarans whowhos
Eliminarclear b
Guardar save fichero
Recuperarload fichero
![Page 8: MATLAB](https://reader035.fdocuments.mx/reader035/viewer/2022062810/56815d8e550346895dcba15c/html5/thumbnails/8.jpg)
Funciones
asinacosatanlog
help elfun
sin
cos
tan
exp
ezplot sin(x)
![Page 9: MATLAB](https://reader035.fdocuments.mx/reader035/viewer/2022062810/56815d8e550346895dcba15c/html5/thumbnails/9.jpg)
Números Complejos
Módulo y argumentoabs(z) ---> 5angle(z)
Representación gráficacompass(z)
Forma binómicaz = 3 + 4i
Parte real e imaginariareal(z) ---> 3imag(z) ---> 4Complejo conjugadoconj(z), z'
![Page 10: MATLAB](https://reader035.fdocuments.mx/reader035/viewer/2022062810/56815d8e550346895dcba15c/html5/thumbnails/10.jpg)
Vectores
v = [1 9 9 8]
Valores de funciones
x = 0 : 0.01 : 1
y = sin(2*pi*x)
plot(x,y)
Normas norm(v,2)norm(v,1)norm(v,inf)
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
![Page 11: MATLAB](https://reader035.fdocuments.mx/reader035/viewer/2022062810/56815d8e550346895dcba15c/html5/thumbnails/11.jpg)
Operacionesn=5;x=1:nTranspuesta: x'2*x¡Ojo!: x*xProd. escalar: x*x'Cuadrado: x2=x.*xsum(x2)
Matriz rango 1: x'*xGráficosplot(x,x2)plot(x2,x)plot(x,x2,'*')Voltearfliplr(x)flipud(x')
![Page 12: MATLAB](https://reader035.fdocuments.mx/reader035/viewer/2022062810/56815d8e550346895dcba15c/html5/thumbnails/12.jpg)
Ejercicio: 1+2+...+n
Lenguaje programación
n=5;suma=0;for k=1:nsuma=suma+k;
endsuma
MATLABn=5;x=1:n;suma=sum(x)
Ejercicio: 1p+2p+...+np
![Page 13: MATLAB](https://reader035.fdocuments.mx/reader035/viewer/2022062810/56815d8e550346895dcba15c/html5/thumbnails/13.jpg)
Polinomios
p=[1 -1 5 0 -1] ¡De mayor a menor grado!
Valor de p en x: polyval(p,x)
Multiplicación: conv(p,q)División con resto: [q,r] = deconv(p,d)
p x x x x( ) 4 3 25 1
![Page 14: MATLAB](https://reader035.fdocuments.mx/reader035/viewer/2022062810/56815d8e550346895dcba15c/html5/thumbnails/14.jpg)
Matrices
A = [1, 9; 9, 8]
eye(2)
eye(size(A))
zeros(3,4)
ones(1,10)
rand(1,10)
A'
fliplr(A)
flipud(A)
det(A)
inv(A)
rank(A)
![Page 15: MATLAB](https://reader035.fdocuments.mx/reader035/viewer/2022062810/56815d8e550346895dcba15c/html5/thumbnails/15.jpg)
Gráficos
VectoresFunciones de una variable
Coordenadas cartesianas Coordenadas polares Ecuaciones paramétricas
MatricesFunciones de dos variables
![Page 16: MATLAB](https://reader035.fdocuments.mx/reader035/viewer/2022062810/56815d8e550346895dcba15c/html5/thumbnails/16.jpg)
Gráficos de vectoresx = [11 14 15 16 17];y = [695 750 705 720 690];plot(x,y,’r*:’),title('Indice general de la Bolsa de Madrid'),xlabel('Septiembre 1998')
![Page 17: MATLAB](https://reader035.fdocuments.mx/reader035/viewer/2022062810/56815d8e550346895dcba15c/html5/thumbnails/17.jpg)
Coordenadas cartesianasTabla de valoresx = 0:0.1:2*pi;y = sin(x);plot(x,y)label('y=sin(x)')Orden de MATLAB fplot('sin(x)',[0 2*pi])
0 1 2 3 4 5 6-1-0.8-0.6-0.4-0.2
00.20.40.60.8
1y=sin(x)
![Page 18: MATLAB](https://reader035.fdocuments.mx/reader035/viewer/2022062810/56815d8e550346895dcba15c/html5/thumbnails/18.jpg)
Coordenadas polares
Diagramas de radiación de antenas
z = 0:0.1:2*pi;
r = sin(5*z);
polar(z,r) 0.25
0.5
0.75
1
30
210
60
240
90
270
120
300
150
330
180 0
![Page 19: MATLAB](https://reader035.fdocuments.mx/reader035/viewer/2022062810/56815d8e550346895dcba15c/html5/thumbnails/19.jpg)
Ecuaciones paramétricas
Curvas de Lisajouxt = 0:2*pi/100:2*pi;
x =sin(2*t);
y =sin(3*t);
plot(y,x)
![Page 20: MATLAB](https://reader035.fdocuments.mx/reader035/viewer/2022062810/56815d8e550346895dcba15c/html5/thumbnails/20.jpg)
Gráficos de matrices
mesh(A)
surf(A)
contour(A)
010
2030
40
010
2030
400
2
4
6
8
10
![Page 21: MATLAB](https://reader035.fdocuments.mx/reader035/viewer/2022062810/56815d8e550346895dcba15c/html5/thumbnails/21.jpg)
Funciones de dos variables
help grafxyz x = -1:0.1:1; y = x;[X,Y] = meshgrid(x,y);Z = X .* Y;surf(Z)mesh, contour, surfc
![Page 22: MATLAB](https://reader035.fdocuments.mx/reader035/viewer/2022062810/56815d8e550346895dcba15c/html5/thumbnails/22.jpg)
Archivos.m
Contienen órdenes de MATLABSe invocan desde la ventana de órdenes, o desde
otro archivo.mSe editan y graban como ficheros ASCII.
![Page 23: MATLAB](https://reader035.fdocuments.mx/reader035/viewer/2022062810/56815d8e550346895dcba15c/html5/thumbnails/23.jpg)
Archivos.m de Función
Empiezan por function y = nomdefun(x)
Las variables definidas no modifican las existentes en el espacio de trabajo.
Extienden las funciones de MATLAB.Permiten el paso de parámetros.
![Page 24: MATLAB](https://reader035.fdocuments.mx/reader035/viewer/2022062810/56815d8e550346895dcba15c/html5/thumbnails/24.jpg)
La instrucción WHILE
Bucle controlado por una condición.Sintaxis:
while condición instruccionesend
Las instrucciones se repiten mientras la condición se verifique.
![Page 25: MATLAB](https://reader035.fdocuments.mx/reader035/viewer/2022062810/56815d8e550346895dcba15c/html5/thumbnails/25.jpg)
La instrucción FOR
Bucle que se repite un número de veces.Sintaxis:
for x = array instruccionesend
Las instrucciones se ejecutan una vez para cada columna en el array.
Podemos anidar sentencias for.
![Page 26: MATLAB](https://reader035.fdocuments.mx/reader035/viewer/2022062810/56815d8e550346895dcba15c/html5/thumbnails/26.jpg)
La instrucción IF
Bifurcación condicional.Sintaxis:
if condición instruccionesend
Las instrucciones se realizan si la condición se verifica.
![Page 27: MATLAB](https://reader035.fdocuments.mx/reader035/viewer/2022062810/56815d8e550346895dcba15c/html5/thumbnails/27.jpg)
Operadores lógicos y relacionales
Operadores lógicos:Conjunción &Disyunción |O exclusiva xorNegación ~
Nota: ~ es [Alt] + 126
Operadores de comparación: Mayor, menor <, > Mayor o igual >=Menor o igual <=Igual = = Distinto ~=
![Page 28: MATLAB](https://reader035.fdocuments.mx/reader035/viewer/2022062810/56815d8e550346895dcba15c/html5/thumbnails/28.jpg)
Archivo pfijo.mfunction a = pfijo(fun,x0,tol,maxiter)% Aproxima por el método del punto fijo una raíz de la ecuación fun(x)=x%cercana a x0, tomando como criterio de parada abs(fun(x)-x)<tol o la cota sobre% el numero de iteraciones dada por maxiter.%% Variables de entrada:% fun(x): función a iterar, se debe introducir con notación simbólica (eg. 'g')% x0: estimación inicial para el proceso de iteración% tol: tolerancia en error absoluto para la raíz% maxiter: máximo numero de iteraciones permitidas%% Variables de salida:% a: valor aproximado de la raízfprintf(1, 'Método del punto fijo \n');incr=1;iter=1;while (incr>tol) & (iter<maxiter)
a = feval(fun,x0); % Itera la función gincr = abs(a-x0); % Calcula la variación
fprintf(1, 'iter= %i, a= %x0, incr= %e \n', iter, a, incr);iter = iter + 1; x0 =a; % Cuenta los pasos y actualiza x0
end; % Salida