Download - Programación en MatLab
![Page 1: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/1.jpg)
Programación en MatLab
Ing. Luis Ricardo Soto, MSc.
![Page 2: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/2.jpg)
MATLAB
MATLAB es el nombre abreviado de “MATrix LABoratory”. MATLAB es un programa para realizar cálculos numéricos con vectores y matrices. Como caso particular puede también trabajar con números escalares tanto reales como complejos, con cadenas de caracteres y con otras estructuras de información más complejas. Una de las capacidades más atractivas es la de realizar una amplia variedad de gráficos en dos y tres dimensiones. MATLAB tiene también un lenguaje de programación propio.
![Page 3: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/3.jpg)
Interfaz de Matlab
![Page 4: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/4.jpg)
Interfaz de Matlab
Ventana de comandos (Command Window) Ventana histórica de comandos (Command
History) Espacio de trabajo (Workspace) El directorio actual (Current Directory) El editor de ficheros y depurador de errores
(Editor&Debugger) El editor de vectores y matrices (Array Editor) La ventana de ayuda (Help)
![Page 5: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/5.jpg)
Funcionamiento de Matlab Guardar archivos
Ventana de comandos• Archivo de texto• Función: diary
Ventana histórica de comandos: • Archivo .m
Espacio de trabajo: • Archivo .mat (variables)• Función: save
![Page 6: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/6.jpg)
Funcionamiento de Matlab Los elementos básicos del Matlab, como cualquier otro
lenguaje de programación, son: constantes, variables, operadores, expresiones y funciones.
Constante numéricas:• Números enteros: 2 35 -48• Números reales: 2. -35.2 48.45• Máximo de 16 cifras significativas • Notación exponencial [2.2250e-308 1.7e+308]
Números complejos: 2+3i 4*j i,j=(-1)½
![Page 7: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/7.jpg)
Funcionamiento de Matlab Operaciones aritméticas elementales:
Suma: + Resta: - Multiplicación: * División: / Exponenciación: ^
Precedencia: primero exponenciaciones, luego divisiones y multiplicaciones por último sumas y restas.
![Page 8: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/8.jpg)
Funcionamiento de Matlab Variable: es la etiqueta que identifica una porción de memoria Matlab diferencia entre mayúsculas y minúsculas
Para ver las variables definidas en un instante determinado se teclea:
>> who o bien >> whos Para eliminar alguna variable se ejecuta >> clear variable1 variable2
Expresiones numéricas: son un conjunto de números, funciones y variables previamente definidas, relacionados todos ellos por operadores aritméticos. Si una expresión es demasiado larga se indica mediante ...
![Page 9: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/9.jpg)
Funcionamiento de Matlab Formatos: por defecto matlab tiene formato corto
pero se puede elegir entre distintos formatos.• >> format long (15 o 7 decimales) (16 u 8 dígitos)• >> format short (4 decimales) • >> format short e (notación exponencial)• >> format long e (notación exponencial)• >> format rat (aproximación racional)
Variables predefinidas en Matlab:• i = (-1)½ pi = Inf = NaN = cálculos indefinidos• eps = exactitud rel. de coma flotante 2.2204e-016• realmin = límite inferior 2^(-1022) 2.2251e-308• realmax = límite superior 2^1024 1.7977e+308
![Page 10: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/10.jpg)
Funcionamiento de Matlab Funciones: nombre(argumento)
• sqrt (x) raiz cuadrada• abs(x) módulo de x• exp(x) calcula ex
• log(x) (en base e)• log10(x) • sin(x) cos(x) tan(x) • asin(x) [-/2 /2] acos(x) [0 ] atan(x) [-/2 /2]• rats(x) • rem(x,y) resto de x/y • round(x) • sign(x)
![Page 11: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/11.jpg)
Funcionamiento de Matlab Ejercicio 1.1 Calcular el valor de la expresión
Ejercicio 1.2 Calcular el valor de la expresión
Y escribir el resultado en al menos 2 formatos
Ejercicio 1.3 Calcular
![Page 12: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/12.jpg)
Funcionamiento de Matlab Ejercicio 1.4 Según Hill y Lounasmaa, la ecuación de la curva
de inversión del helio es:
Donde la presión viene dada en atmósfera y la temperatura T en grados Kelvin.
Calcular el valor de la presión a una temperatura de 293 ºK. Calcular el valor de la temperatura para una presión de 1
N/m2. Nota: 1 N/m2=9.265*10-6 atm
2132.044.50.21 TTP
![Page 13: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/13.jpg)
Funcionamiento de Matlab Ejercicio 1.4 Según Hill y Lounasmaa, la ecuación de la curva
de inversión del helio es:
Donde la presión viene dada en atmósfera y la temperatura T en grados Kelvin.
Calcular el valor de la presión a una temperatura de 20 ºK. Calcular el valor de la temperatura para una presión de 1e6
N/m2. Nota: 1 N/m2=9.265*10-6 atm
2132.044.50.21 TTP
![Page 14: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/14.jpg)
Funcionamiento de Matlab Ejercicio 1.4 Según Hill y Lounasmaa, la ecuación de la curva
de inversión del helio es:
Donde la presión viene dada en atmósfera y la temperatura T en grados Kelvin.
Calcular el valor de la presión a una temperatura de 80 ºK. Calcular el valor de la temperatura para una presión -1e6
N/m2. Nota: 1N/m2=9.265*10-6atm
2132.044.50.21 TTP
![Page 15: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/15.jpg)
Vectores y Matrices Las matrices son el tipo fundamental de dato en Matlab. Los escalares se guardan como una matriz de 1x1
» A=[1 3 5; 6 9 2; 4 8 7]
A =
1 3 5 6 9 2 4 8 7
![Page 16: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/16.jpg)
Vectores y Matrices Los vectores pueden ser vectores fila o vectores columna Vectores fila; los elementos de una misma fila están
separados por blancos o comas, >> v =[2 3 4] Vectores columna: los elementos de una misma
columna están separados por Intro o por caracteres punto y coma (;).
>> w =[2;3;4;7;9;8] La dimensión de un vector se obtiene por el comando
length(nombre del vector)
![Page 17: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/17.jpg)
Vectores y Matrices Generación de vectores: Operador (:) colon Especificando el incremento de sus componentes
v=a:h:b. Especificando su dimensión linspace(a,b,n) si se omite n
toma 100 por defecto; el incremento es k=(b-a)/(n-1). Con componentes logarítmicamente espaciadas
logspace(a,b,n) genera un vector fila de n puntos logarítmicamente espaciados entre 10a y 10b. Si se omite el valor de n se toma 50.
![Page 18: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/18.jpg)
Vectores y Matrices Operaciones con escalares: v+k adición o suma v-k sustracción o resta v*k multiplicación v/k divide por k cada elemento de v k./v divide k por cada elemento de v v.^k potenciación cada componente de v esta elevado a
k k.^v potenciación k elevado cada componente de v
![Page 19: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/19.jpg)
Vectores y Matrices Operaciones entre vectores: v+w adición o suma v-w sustracción o resta v.*w multiplicación cada elemento de v por el
correspondiente de w v./w divide cada elemento de v por el correspondiente
de w v.^w potenciación cada componente de v esta elevado
al correspondiente de w
![Page 20: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/20.jpg)
Vectores y Matrices Ejemplo: Cálculo de errores relativos
• Supongamos que para resolver una ecuación diferencial ordinaria hemos utilizado:
• Un método analítico mediante el cual sabemos que su solución en el intervalo [0,1] es y(x)=x2+cos(x).
• Un método numérico para aproximar la solución en el intervalo [0,1] con parámetro de discretización 0.2
Ángulo (radianes)
Solución aproximada
Solución exactay(x)=x2+cos(x)
%Error
0 1.00300.2 1.02340.4 1.08250.6 1.18690.8 1.33421 1.5415
![Page 21: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/21.jpg)
Vectores y Matrices Para definir una matriz no hace falta establecer de
antemano su tamaño (de hecho, se puede definir un tamaño y cambiarlo posteriormente). MATLAB determina el número de filas y de columnas en función del número de elementos que se proporcionan (o se utilizan).
Las matrices se definen por filas; los elementos de una misma fila están separados por blancos o comas, mientras que las filas están separadas por pulsaciones intro o por caracteres punto y coma (;). Por ejemplo, elsiguiente comando define una matriz A de dimensión (3x3):
» A=[1 2 3; 4 5 6; 7 8 9]
![Page 22: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/22.jpg)
Vectores y Matrices Operadores matriciales:• + adición o suma• – sustracción o resta• * multiplicación• ' transpuesta o transpuesta conjugada• ^ potenciación• \ división-izquierda• / división-derecha• .* producto elemento a elemento• ./ y .\ división elemento a elemento• .^ elevar a una potencia elemento a elemento
![Page 23: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/23.jpg)
Vectores y Matrices En MATLAB se accede a los elementos de un vector
poniendo el subíndice entre paréntesis (por ejemplo x(3) ó x(i)).
Los elementos de las matrices se acceden poniendo los dos subíndices entre paréntesis, separados por una coma (por ejemplo A(1,2) ó A(i,j)).
Las matrices se almacenan por columnas (aunque se introduzcan por filas), y teniendo en cuenta esto puede accederse a cualquier elemento de una matriz con un sólo subíndice. Por ejemplo, si A es una matriz (3x3) se obtiene el mismo valor escribiendo A(1,2) que escribiendo A(4).
![Page 24: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/24.jpg)
Vectores y Matrices Manipulación de matrices: Operador (:) colon Referencia a un elemento A(i,j) o A(k) Referencia a una fila A(i,:) Referencia a una columna A(:,j) Referencia a una matriz bidimensional A(:,:) Referencia a un vector A(:) Matriz vacía [] Eliminar filas A(i,:)=[] Eliminar columnas A(:,j)=[]
![Page 25: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/25.jpg)
Vectores y Matrices Generación de matrices: Generación de una matriz de ceros, zeros(n,m) Generación de una matriz de unos, ones(n,m) Generación de una matriz identidad eye(n,m) Generación de una matriz de elementos aleatorios
rand(n,m) Matrices con diagonal dada diag(v), diag(v,k)
• diag(A) obtencion de la diagonal de una matriz. • diag(A,k) busca la k-ésima diagonal.• diag(v) matriz cuya diagonal contiene los elementos del vector v
magic(n) pascal(n)
![Page 26: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/26.jpg)
Vectores y Matrices Desde la versión 5 de matlab se admiten variables
subindicadas multidimensionalmente a=ones(2,2,3) Función cat
Matrices dispersas o huecas son aquellas que tienen gran cantidad de elementos nulos• >> a= sparse(i,j,c,m,n)• m indica filas, n columnas, c vector que contiene los elementos
no nulos i,j son dos vectores que indican la posición de cada elemento de c
• para visualizar la matriz entera >>full(a)
![Page 27: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/27.jpg)
Vectores y Matrices Ejemplo: Tomemos la siguiente matriz
Y trabajemos con ella como una matriz dispersa, para ello definimos el vector de elementos no nulos, el vector definido por las filas y el vector definido por las columnas.
4720001113000000080037
000412
![Page 28: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/28.jpg)
Vectores y Matrices m=[12,-4,7,3,-8,-13,11,2,7,-4];f=[1,1,2,2,2,4,4,5,5,5];c=[1,2,1,2,5,3,4,3,4,5];a=sparse(f,c,m,5,5)full(a)
m1=[12,7,-4,3,-13,2,11,7,-8,-4];f1=[1,2,1,2,4,5,4,5,2,5];c1=[1,1,2,2,3,3,4,4,5,5];b=sparse(f1,c1,m1,5,5)full(b)
s=a+b
![Page 29: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/29.jpg)
Vectores y Matrices Características generales de las funciones de MATLAB
• El concepto de función en MATLAB es semejante al de C y al de otros lenguajes de programación, aunque con algunas diferencias importantes. Al igual que en C, una función tiene nombre, valor de retorno y argumentos. Una función se llama utilizando su nombre en una expresión o utilizándolo como un comando más. Las funciones se pueden definir en ficheros de texto *.m en la forma que se verá más adelante. Considérense los siguientes ejemplos de llamada a funciones:
• >> [maximo, posmax] = max(x);• >> r = sqrt(x^2+y^2) + eps;• >> a = cos(alfa) - sin(alfa);
![Page 30: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/30.jpg)
Vectores y Matrices • Los nombres de las funciones de MATLAB no son palabras
reservadas del lenguaje. Es posible crear una variable llamada sin o cos, que ocultan las funciones correspondientes.
Equivalencia entre comandos y funciones• Existe una equivalencia entre las funciones y los comandos con
argumentos de MATLAB. Así, un comando en la forma,• >> comando arg1 arg2• es equivalente a una función con el mismo nombre que el
comando a la que los argumentos se le pasan como cadenas de caracteres,
• >> comando('arg1', 'arg2')
![Page 31: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/31.jpg)
Vectores y Matrices Funciones que actúan sobre vectores y matrices• sum(v) suma • prod(v) producto• v' transposición de vectores (filas x columnas)• dot(v,w) producto escalar de vectores• cross(v,w) producto vectorial de vectores• [y,k]=max(v) valor máximo de las componentes de un vector k indica
la posición, lo mismo para min(v) valor mínimo• Funciones matriciales especiales sqrtm(A), expm(A),logm(A)
![Page 32: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/32.jpg)
Vectores y Matrices Ejercicio 2.1 Dados los vectores definidos por
• x=(1,4.5,7.8) y=(sen(90),cos(45),0)• Realizar los cálculos siguientes:• x+y; el producto escalar de x e y; calcular el ángulo que forman
ambos vectores. Ejercicio 2.2 Dadas las matrices a y b calcular: a+b, a-b, Inv(a),
Inv(b). Comprobar que el producto de matrices no es conmutativo. Elegir la submatriz de a formada por la primera y la tercera fila y la submatriz de b formada por la segunda y tercera columna y calcular el producto.
521402124
524432321
ba
![Page 33: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/33.jpg)
Vectores y Matrices Polinomios Los polinomios se representan en MatLab por un vector fila de
dimensión n+1 siendo n el grado del polinomio.• Dado un polinomio• x3+2x• se representa por• >> pol1=[1 0 2 0]• para el cálculo de las raíces de un polinomio existe el
comando roots.• >>raices=roots(pol1) • da un vector columna, aunque pol1 es un vector fila
![Page 34: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/34.jpg)
Vectores y Matrices • Un polinomio puede ser reconstruido a partir de sus raíces con el
comando poly• >> p=poly(raices) (da un vector fila) **
• en caso de que el argumento de poly fuera una matriz obtendríamos como resultado el polinomio característico de la matriz. Así mismo si queremos calcular los autovalores de la matriz bastaría con calcular las raíces del polinomio característico.
• Ejemplo 1:• pol2=[2 4 0 1]; % definición del polinomio 2x3+4x2+1• raices=roots(pol2) % cálculo de sus raíces• pol2_n=poly(raices) % reconstrucción del polinomio• real(pol2_n) % ¿qué pasó?
![Page 35: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/35.jpg)
Vectores y Matrices • Ejemplo 2:• A=[1 2 3 ; 2 3 4; 4 2 5]; p=poly(A) % pol. característico• roots(p) % autovalores de A• Para calcular el valor de un polinomio p en un punto dado x basta
con utilizar el comando polyval• >>y=polyval(p,x)• Ejemplo 3:• p=[1 -1 -1 1] % definición del polinomio x3-x2-x+1• polyval(p,2)• Ejemplo 4:• x=-2:0.1:2;• Y=polyval(p,x);
![Page 36: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/36.jpg)
Vectores y Matrices • Para multiplicar y dividir polinomios tenemos los comandos
especiales conv(p1,p2) y deconv(p1,p2)• Para conocer el resto de la división de polinomios basta con poner• >>[p4,r] = deconv(p3,p2)• p2 debe tener raíces reales
• Ejemplo 5:• p1=[1, -2, 1]; p2=[1,1]; p3=conv(p1,p2)• p4=deconv(p3,p2)• [p4,r]=deconv(p3,p2) % resto de la división
![Page 37: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/37.jpg)
Vectores y Matrices • El comando residue, permite el cálculo del desarrollo en suma de
fracciones simples del cociente p1/p2. • El formato del comando es: >>[r,p,k] =residue(p1,p2)• donde:• r= vector columna con los numeradores• p= vector columna con las raices del denominador• k= vector fila con los coeficientes del polinomio independiente.
• >>[p1,p2]=residue(r,p,k) hace la operación inversa
)()(
)()1(
)1()(2)(1 xk
npxnr
pxr
xpxp
![Page 38: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/38.jpg)
Vectores y Matrices • Ejemplo 6:• Descomponer en fracciones simples el cociente
• p1=[1 1 0 1]• p2=[1 -3 0 4]• [r,p,k]=residue(p1,p2)• rats(r)• [pol1,pol2]=residue(r,p,k)
431
23
23
xxxx
1)1(9
1)2(3
13)2(9
35431
223
23
xxxxxxx
![Page 39: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/39.jpg)
Vectores y Matrices • Para calcular la derivada de un polinomio tenemos el comando,• >>polyder(p)• Para encontrar la integral se usa:• >>polyint(p)• >>polyint(p,k)
• Ejemplo 7:• Dado el polinomio x3+6x2+1 encontrar su derivada y luego integrar• p=[1, 6,0,1]• d=polyder(p) • i=polyint(d) • i=polyint(d,1)
![Page 40: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/40.jpg)
Vectores y Matrices Ejercicio 3.1 Consideremos el polinomio p(x)=x-1. Calcular p(x)3 e
identificar el polinomio obtenido y calcular sus raíces.
Ejercicio 3.2 Según Hill y Lounasmaa, la ecuación de la curva de inversión del helio es:
• Donde la presión vienen dada en atmósfera y la temperatura T en grados Kelvin.
• Calcular el valor de la presión a una temperatura de 293 ºK.• Calcular el valor de la temperatura para una presión de 1N/m2.• Nota: 1N/m2=9.265*10-6atm
2132.044.50.21 TTP
![Page 41: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/41.jpg)
Gráficos en 2 y 3 dimensiones La función básica de todos los gráficos 2-D en MATLAB es plot.
El elemento básico de los gráficos bidimensionales es el vector. Se utilizan también cadenas de 1, 2 ó 3 caracteres para indicar colores y tipos de línea. La función plot, no hace otra cosa que dibujar vectores.
Ejemplo 1:» x=[1 -3 6 4 5 3]x =1 -3 6 4 5 3» plot(x)
![Page 42: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/42.jpg)
Gráficos en 2 y 3 dimensiones Existen funciones orientadas a añadir títulos al gráfico, a los
ejes, a dibujar una cuadrícula auxiliar, a introducir texto, etc.
title('título') añade un título al dibujo. Con title('') se borra el título. xlabel('tal') añade una etiqueta al eje de abscisas. ylabel('cual') idem al eje de ordenadas. Con xlabel('') y ylabel('') se borran las etiquetas. legend() define rótulos para las distintas líneas o ejes
utilizados en la figura. grid activa o desactiva una cuadrícula en el dibujo. Con grid off desaparece la cuadrícula
![Page 43: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/43.jpg)
Gráficos en 2 y 3 dimensiones plot(Y) grafica Y en función del subíndice de los elementos plot(X,Y) grafica Y en función de X Ejemplo 2:
x=0:pi/90:2*pi;y=sin(x).*cos(x);plot(x,y)grid onxlabel('eje x (en radianes) ')ylabel('eje y')title('y=sen(x)*cos(x) ')legend('función trigonométrica')
![Page 44: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/44.jpg)
Gráficos en 2 y 3 dimensiones Elección del trazo y color de la curva
• plot(X,Y, 'LineSpec')
![Page 45: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/45.jpg)
Gráficos en 2 y 3 dimensiones text(x,y,'texto') introduce 'texto' en el lugar especificado por
las coordenadas x e y. Si x e y son vectores, el texto se repite por cada par de elementos.
gtext('texto') introduce texto con ayuda del ratón. [x,y]=ginput(n) calcula las coordenadas de puntos sobre la
curva. Es posible incluir en el título, etiquetas de los ejes, etc. el valor
de una variable numérica. Ya que el argumento de los comandos title, xlabel, ylabel, legend, etc. es una variable carácter, es preciso transformar las variables numéricas
int2str(n) convierte el valor de la variable entera n en carácter num2str(x) convierte el valor de la variable real o compleja x
en carácter (se puede especificar la precisión o el formato)
![Page 46: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/46.jpg)
Gráficos en 2 y 3 dimensiones Elección de la escala de los ejes• axis([xmin xmax ymin ymax])• axis auto: devuelve a la escala por defecto.• axis off: desactiva los etiquetados de los ejes desapareciendo
los ejes sus etiquetas y la cuadrícula.• axis on: activa los ejes desactivados.• axis equal: los mismos factores de escala para los dos ejes.• axis square: hace la región actual cuadrada (o cúbica cuando
está en tres dimensiones).• axis normal: automáticamente ajusta la relación de aspecto
de los ejes y la escala relativa para que el gráfico se ajuste lo mejor posible.
![Page 47: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/47.jpg)
Gráficos en 2 y 3 dimensiones
Ejemplo 3: Calcular gráficamente las soluciones de la ecuación.teta=0:pi/360:pi/4;f1=(2*teta-cos(2*teta))/2;f2=0.4*ones(size(f1));plot(teta,f1,'g--',teta,f2,'r')axis squarexlabel('Angulo (radianes)')gtext('2x-cos(2x))/2')text(0.2,0.43,'y=0.4')[teta0,y0]=ginput(1)title(['Raiz aproximada=',num2str(teta0)])
4.02
)2cos(2 xx
![Page 48: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/48.jpg)
Gráficos en 2 y 3 dimensiones Dibujar varias curvas• plot(X1,Y1, 'LineSpec1', X2,Y2, 'LineSpec2'...)• plot(X,M) grafica las columnas de la matriz M en función de X• hold: retiene el gráfico actual en la figura.• Se libera con hold off• Llamar una nueva figura figure o referirnos a una figura n
figure(n)• Borrar la figura actual clf• close all borra todas las figuras close(n) la figura n
![Page 49: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/49.jpg)
Gráficos en 2 y 3 dimensiones Ejemplo 4: plot(vector, Matriz)
x=0:pi/180:2*pi;y=sin(x);z=cos(x);figureplot(x,y,x,z)A=[y' z']figureplot(x,A)
![Page 50: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/50.jpg)
Gráficos en 2 y 3 dimensiones La función eval se utiliza para evaluar funciones (expresiones)
definidas como cadena de caracteres. y=eval('expresión')
Ejemplo 5:f='sin(x)-2*cos(x)';x=0:pi/90:2*pi;y=eval(f);plot(x,y)axis([0 6 0 2.4]);gtext('sen(x)-2cos(x)')
![Page 51: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/51.jpg)
Gráficos en 2 y 3 dimensiones Función fplot se utiliza para graficar funciones definidas como
cadena de caracteres entre los límites especificados. fplot('función', [xmin xmax ymin ymax], 'LineSpec') fplot(@función, [xmin xmax], 'LineSpec') [X,Y] = fplot('función', [xmin xmax ymin ymax]) en este caso se
devuelven los vectores X e Y, pero no se dibuja nada.
Ejemplo 6:f='sin(x)-2*cos(x)';fplot(f,[0 2*pi],'g--')
![Page 52: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/52.jpg)
Gráficos en 2 y 3 dimensiones Función Subplot Una ventana gráfica se puede dividir en m particiones
horizontales y n verticales, con objeto de representar múltiples gráficos en ella. Cada una de estas subventanas tiene sus propios ejes, aunque otras propiedades son comunes a toda la figura. La forma general de este comando es:
• subplot(m,n,i) donde m y n son el número de subdivisiones en filas y columnas, e i es la subdivisión que se convierte en activa. Las subdivisiones se numeran consecutivamente empezando por las de la primera fila, siguiendo por las de la segunda, etc.
![Page 53: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/53.jpg)
Gráficos en 2 y 3 dimensiones
![Page 54: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/54.jpg)
Gráficos en 2 y 3 dimensiones
![Page 55: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/55.jpg)
Gráficos en 2 y 3 dimensiones Ejemplo 7:
subplot(121)f='sin(x)-2*cos(2*x)';fplot(f,[0 2*pi])legend('sen(x)-2cos(2x)')subplot(122)fplot('sin',[0 4*pi],'r')legend('sen(x)')
![Page 56: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/56.jpg)
Gráficos en 2 y 3 dimensiones Representación de polígonos
• fill(x,y,c)• Si c es un carácter de color ('r','g','b','c','m','y','w','k'), o un
vector de valores [r g b], el polígono se rellena de modo uniforme con el color especificado.
Ejemplo 8:x=[1,2,1,0];y=[0,1,2,1];fill(x,y, 'r')axis squaretitle('rombo')
![Page 57: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/57.jpg)
Gráficos en 2 y 3 dimensiones Otras funciones gráficas 2-D
• loglog() gráfico de líneas en escala logarítmica.• semilogx(), semilogy() gr. de líneas en escala semilogarítmica.• comet() gráfica de líneas animada.• polar() gráfica en coordenadas polares.• fill() dibuja polígonos• bar() crea diagramas de barras.• barh() diagramas de barras horizontales.• pie() gráficos con forma de “tarta”.• area() similar plot, pero rellenando en ordenadas de 0 a y.• hist() dibuja histogramas de un vector.
![Page 58: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/58.jpg)
Gráficos en 2 y 3 dimensiones
![Page 59: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/59.jpg)
GRÁFICOS: 2D Y 3D______________________________Ejercicio 5.1: Consideremos la ecuación de Van der Waals. Se considera el benceno para el cual a=18.78 atml2/mol2, b=0.1208 l/mol. Representar sobre una misma gráfica las dos subgráficas correspondientes a:Isotermas de 100, 200, 300 y 400 ºCIsobaras de 25, 35, 45 y 55 atmCada curva debe ir con trazo diferenciado, con el texto que indique la isolínea que se ha representado, así como el título de la gráfica y la etiqueta de los ejes. R=0.0821 y V=2:100
RTbVVaP ))(( 2
![Page 60: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/60.jpg)
GRÁFICOS: 2D Y 3D______________________________a=18.78;b=0.1208;R=0.0821;subplot(1,2,1)T=373:100:673;V=2:100;fac1=R./(V-b);fac2=a./V.^2;P=zeros(4,length(V));P(1,:)=T(1)*fac1-fac2;P(2,:)=T(2)*fac1-fac2;P(3,:)=T(3)*fac1-fac2;P(4,:)=T(4)*fac1-fac2;plot(V,P(1,:),'-',V,P(2,:),'--',V,P(3,:),':',V,P(4,:),'-.')title('Ecuacion de Van der Waals: Isotermas')xlabel('Volumen, ltr.')ylabel('Presion, atm.')axis([0, 50,0,15])legend('T=100ºC','T=200ºC','T=300ºC','T=400ºC')
![Page 61: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/61.jpg)
GRÁFICOS: 2D Y 3D______________________________subplot(1,2,2)P=25:10:55;T=zeros(4,length(V));fac1=(V-b)/R;T(1,:)=((P(1)+fac2).*fac1)-273.15;T(2,:)=((P(2)+fac2).*fac1)-273.15;T(3,:)=((P(3)+fac2).*fac1)-273.15;T(4,:)=((P(4)+fac2).*fac1)-273.15;plot(V,T(1,:),'-',V,T(2,:),'--',V,T(3,:),':',V,T(4,:),'-.')title('Ecuacion de Van der Waals: Isobaras')xlabel('Volumen, ltr.')ylabel('Temperatura, ºC')legend('P=25 atm.','P=35 atm.','P=45 atm.','P=55 atm.')
![Page 62: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/62.jpg)
GRÁFICOS: 2D Y 3D______________________________
![Page 63: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/63.jpg)
Gráficos en 2 y 3 dimensiones La función plot3 es análoga a su homóloga bidimensional plot. plot3(x,y,z) Ejemplo 9:
teta=0:pi/80:8*pi;x=1+2*cos(teta);y=1+2*sin(teta);z=4*teta;plot3(x,y,z)axis([-1 3 -1 3 0 120]);xlabel('eje x')ylabel('eje y')zlabel('eje z')
![Page 64: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/64.jpg)
Gráficos en 2 y 3 dimensiones Representación gráfica de superficies mesh(X,Y,Z)
Creación de una malla [X, Y]=meshgrid(x,y)
mesh(X,Y,Z) gráfica de la malla construida sobre la superficie Z meshz(X,Y,Z) además hace una proyección sobre el plano Z=0 meshc(X,Y,Z) además crea líneas de contorno en el plano Z=0
• hidden off desactiva le eliminación de líneas escondidas• hidden on situación previa
![Page 65: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/65.jpg)
Gráficos en 2 y 3 dimensiones Ejemplo 10:
x=[0:2:200];y=[0:50];[X Y]=meshgrid(x,y);length(x),length(y)size(X), size(Y)Z=X.^2-Y.^2;figure(1);mesh(X,Y,Z)figure(2);meshz(X,Y,Z)figure(3);meshc(X,Y,Z)
![Page 66: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/66.jpg)
Gráficos en 2 y 3 dimensiones También se puede graficar mallas en 3-D con surf(X,Y,Z),
surfc(X,Y,Z) y surfl(X,Y,Z). Una forma distinta de representar funciones tridimensionales
es por medio de isolíneas o curvas de nivel. Con contour(X,Y,Z) y con contour3(X,Y,Z) generamos las líneas de nivel de una superficie.
Existen etiquetas especiales, primero necesitamos saber los valores del contorno cs=contour(X,Y,Z) y luego ponemos clabel(cs).
pcolor(Z) dibuja una proyección con sombras de color sobre el plano, la gama de colores está en consonancia con las variaciones de la matriz Z.
![Page 67: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/67.jpg)
Gráficos en 2 y 3 dimensiones La función surf y pcolor tiene diversas posibilidades referentes
a la forma en que son representadas las facetas o polígonos coloreados (shading) . Las tres posibilidades son las siguientes:
• shading flat: determina sombreado con color constante para cada polígono. Este sombreado se llama plano o flat.
• shading interp: establece que el sombreado se calculará por interpolación de colores entre los vértices de cada faceta. Se llama también sombreado de Gouraud
• shading faceted: consiste en sombreado constante con líneas negras superpuestas. Esta es la opción por defecto.
![Page 68: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/68.jpg)
Gráficos en 2 y 3 dimensiones colormap(mapa de colores) distintas escalas de colores colorbar() barra con la escala de colores.
[X,Y,Z]=peaks(n) función de ejemplo de dos variables [X,Y,Z]=sphere(n) dibuja una representación de la esfera
unidad con n puntos de discretización [X,Y,Z]=cylinder(rad,n) dibuja una representación de un
cilindro unidad con n puntos igualmente espaciados cuya sección viene dada por la curva cuyos radios se guardan en el vector rad. (1,1) y 20 valores por defecto.
fill3(x,y,z,c) polígonos tridimensionales
![Page 69: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/69.jpg)
Gráficos en 2 y 3 dimensiones
![Page 70: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/70.jpg)
GRÁFICOS: 2D Y 3D______________________________
Ejercicio 5.2 Representar la superficie de revolución obtenida al girar la curva y=x2+1 alrededor del eje x (x=0:0.1:1)
x=0:0.1:1; %puntos de discretizacion del eje xrad=x.^2+1; %vector de radiosn=length(rad); %numero de radioscylinder(rad,n) %representacion del cilindro[X,Y,Z]=cylinder(rad,n);h=surf(X,Y,Z); %manejador del objetorotate(h,[0,1,0],90)xlabel('eje x')ylabel('eje y')zlabel('eje z')view(15,15) %cambiamos el punto de observaciongrid offaxis([-1 1 -2 2 -1.5 2.5])legend('f(x)=x^2+1')
![Page 71: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/71.jpg)
GRÁFICOS: 2D Y 3D______________________________
![Page 72: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/72.jpg)
ToolBox de Matemática Simbólica
Hasta ahora hemos aprendido a usar MATLAB como una calculadora de gama alta, programable, capaz de realizar y manipular gráficos, pero aún la calculadora más potente tiene sus limitaciones, sólo manipulan números.
El MATLAB básico debe tener números con los que trabajar, o variables a las que se les a asignado un valor numérico, por ejemplo, no podemos preguntar a MATLAB por el seno de una variable a la que no se le a asignado valor previamente.
Ahora estudiaremos como conseguir que MATLAB manipule expresiones de este tipo (expresiones simbólicas), formadas por símbolos matemáticos y no solamente números.
![Page 73: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/73.jpg)
Programación en Matlab
Todos los ficheros de comandos Matlab deben de llevar la extensión .m hay 2 tipos:
Ficheros de función (function) la primera línea es ejecutable y comienza con la palabra function
Ficheros de programa (script) no constituyen funciones y se construye mediante una secuencia de comandos se ejecuta tecleando el nombre sin extensión.
![Page 74: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/74.jpg)
Programación en Matlab
El archivo tipo script solo puede ejecutarse a continuación del >> de Matlab o como una línea de otro fichero, una función puede ser llamada desde cualquier expresión.
El script no admite argumentos de entrada, simplemente trabaja con datos existentes en el espacio de trabajo.
Las variables de una función son locales de la función y las de un script son globales.
Si queremos que una variable sea compartida por varias funciones a de definirse en todas ellas como global.
• global variable1 variable2 variable3
![Page 75: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/75.jpg)
Programación en Matlab
Programación de funciones• La primera línea es ejecutable y empieza por la palabra function de la
forma:
• function arg_salida=nombre_funcion(arg_entrada)
• Después cuantos comandos sean necesarios incluidos comentarios como si se tratase de un fichero tipo script. El fichero se debe guardar con nombre_funcion.m
• Para devolver el control al programa desde cualquier punto de una función basta con escribir la sentencia return.
![Page 76: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/76.jpg)
Programación en Matlab
Ejemplo 1:function temp_c=fconvert(temp_f)% Archivo tipo Función% Convierte ºF A ºCtemp_c=5/9*temp_f-5/9*32;
Ejemplo 2:% Archivo tipo Script% Convierte ºF A ºCcleartemp_f=100temp_c=5/9*temp_f-5/9*32
![Page 77: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/77.jpg)
Programación en Matlab
Comandos de entrada salida
• input: nos permite introducir datos• Variable_numérica=input('mensaje a pantalla');• Variable_de_texto=input('mensaje a pantalla', 's');• disp: muestra un texto por pantalla• disp('El algoritmo no ha convergido')• menu: genera un menú gráfico que permite al usuario elegir entre distintas
opciones• opcion=menu('titulo del mensaje', 'opcion1','opcion2',...)• error: informa de la existencia de un error y detiene la ejecución del
programa devolviendo el control al teclado
![Page 78: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/78.jpg)
Programación en Matlab
function t=gases(p,v,n)%t=gases(p,v,n)%Función que considera la ley de los gases ideales%Argumentos de entrada:%presión p (atmosferas)%volumen v (litros)%número de moles n%Argumentos de salida:%temperatura t (grados kelvin)%R=0.0821 atm.litro/mol.gradoR=0.0821t=p*v/(n*R);
![Page 79: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/79.jpg)
Programación en Matlab
Número de argumentos de la función
• nargin devuelve el número de argumentos de entrada con los que el usuario ha llamado a la función
• nargout devuelve el número de argumentos de salida con los que el usuario ha llamado a la función
• nargchk chequea si el número de argumentos de entrada calculados con nargin esta entre el valor máximo y mínimo previsto, si no da error.
• nargchk(mínimo, máximo, número_entrada)
![Page 80: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/80.jpg)
Programación en Matlab
Sentencia if
if condición sentenciasend
if condición1 bloque1elseif condición2 bloque2elseif condición3 bloque3else bloque4end
Bifurcación múltiple
Si no existe, significa que no se hace nada en caso de que no se cumplan las 3 condiciones
![Page 81: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/81.jpg)
Programación en Matlab
Sentencia switch
switch switch_expresion case case_expr1, bloque1 case {case_expr2, case_expr3, ...} bloque2 ... otherwise, bloque3end
El resultado debe ser un escalar o un string
![Page 82: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/82.jpg)
Programación en Matlab
Sentencia for
for i = 1:n sentenciasend
for i = vectorValores sentenciasend
for i = n:-0.2:1 sentenciasend
for i = 1:m for j = 1:n sentencias endend
![Page 83: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/83.jpg)
Programación en Matlab
Sentencia whilewhile condición sentenciasend
Sentencia break
Hace que se termine la ejecución del bucle for o while
Sentencia continue
Hace que se pase inmediatamente a la sgte. iteración del bucle for o while
![Page 84: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/84.jpg)
Programación en Matlab Operadores relacionales y lógicos• Menor: < Menor o igual:<= • Mayor: > Mayor o igual: >=• Igual: == Distinto: ~=• O: | Y: & no: ~• El resultado de realizar operaciones relacionales o lógicas será
un 1 si es verdadera o un 0 si es falsa. Otras funciones relacionales o lógicas• any(x): si x es un vector devuelve un 1 si alguna componente
de x es no nula. Si es una matriz devuelve un vector fila con un 1 para cada columna de la matriz x que tenga alguna de sus filas no nulas y 0 en otro caso.
![Page 85: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/85.jpg)
Programación en Matlab • all(x): Si es un vector devuelve un 1 si todas sus componentes
son no nulas. Si es una matriz devuelve un vector fila con un 1 para cada columna de la matriz x que tenga todas de sus filas no nulas y 0 en otro caso.
• isempty(x): devuelve un 1 si la matriz x es vacía y 0 en caso contrario.
• isequal(x1,x2,…,xn): Devuelve un 1 si todas las matrices son idénticas y un 0 en caso contrario.
• Isnumeric(x): Devuelve 1 si es x un valor numérico y un 0 si es de otro tipo.
• ischar(x): Devuelve 1 si es x cadena de texto y un 0 si es otro tipo de dato.
![Page 86: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/86.jpg)
Programación en Matlab Técnicas para mejorar el desempeño Vectorizar lazos
• Calcular 1001 valores en el rango de 0 10:i = 0;for t = 0:0.01:10 i = i + 1; y(i) = sin(t);end
• Versión vectorizada:t = 0:0.01:10;y = sin(t);
![Page 87: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/87.jpg)
Programación en Matlab Preasignar arreglos
• Sin preasignaciónx = 0;for k = 2:1000 x(k) = x(k-1) + 5;end
• Con preasignaciónx = zeros(1, 1000);for k = 2:1000 x(k) = x(k-1) + 5;end
![Page 88: Programación en MatLab](https://reader034.vdocumento.com/reader034/viewer/2022050812/577ccf031a28ab9e788ea6a7/html5/thumbnails/88.jpg)
Interfaz Gráfica de Usuario (GUI) en Matlab GUIDE es un entorno de programación visual disponible en
MATLAB para realizar y ejecutar programas que necesiten ingreso continuo de datos. Tiene las características básicas de todos los programas visuales como Visual Basic o Visual C++.