Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anterior Revisión previa Próxima revisión | Revisión previa | ||
|
math_langs:matlab [2011/04/06 09:06] alfred |
math_langs:matlab [2020/05/09 09:25] (actual) |
||
|---|---|---|---|
| Línea 1: | Línea 1: | ||
| ====== MATLAB ====== | ====== MATLAB ====== | ||
| + | |||
| Línea 14: | Línea 15: | ||
| * Cuando se realiza una operación el resultado se guarda (sobreescribe) una variable llamada ''ans''. | * Cuando se realiza una operación el resultado se guarda (sobreescribe) una variable llamada ''ans''. | ||
| * **pause(x)** hace que matlab se detenga por x segundos. | * **pause(x)** hace que matlab se detenga por x segundos. | ||
| + | * Pedir entrada al usuario por teclado, con la función **input(' ')**. | ||
| + | |||
| Línea 19: | Línea 22: | ||
| * **help funcion**: Muestra la ayuda para dicha fucnción: ''help solve''. | * **help funcion**: Muestra la ayuda para dicha fucnción: ''help solve''. | ||
| * **solve**: Soluciona una ecuación: ''solve ('x + 3 = 55', 'x')'', retornará 52. | * **solve**: Soluciona una ecuación: ''solve ('x + 3 = 55', 'x')'', retornará 52. | ||
| + | * **random**: Recoge un valor aleatorio según una distribución indicada, por ejemplo un valor repartido uniformemenete entre 0 y 1000: ''random ('unif',0,1000)''. | ||
| ==== Entorno ==== | ==== Entorno ==== | ||
| Línea 45: | Línea 49: | ||
| x = 0.0:0.01:1.0 % de 0 a 1.0 de 0.01 en 0.01 | x = 0.0:0.01:1.0 % de 0 a 1.0 de 0.01 en 0.01 | ||
| </code> | </code> | ||
| + | |||
| Línea 71: | Línea 76: | ||
| matrix(2,1:2) % Fila 2, columnas 1 a 2 | matrix(2,1:2) % Fila 2, columnas 1 a 2 | ||
| matrix(:,1:3) % Las tres primeras columnas | matrix(:,1:3) % Las tres primeras columnas | ||
| + | </code> | ||
| + | |||
| + | ==== Cálculos con símbolos ==== | ||
| + | Matlab permite realizar cálculos con símbolos\incógnitas, esto es, lanzar comandos y que el resultado sea una expresión en función de estas variables. \\ | ||
| + | Con el comando ''sym'' podemos declarar una variable simbólica (con ''syms'' podemos declarar varias): | ||
| + | <code matlab> | ||
| + | alpha = sym('alpha') | ||
| + | </code> | ||
| + | Con ''subs'' indicamos, en una variable que tenga una expresión en función de símbolos, los valores que han de tomar. Su sintaxis es: ''subs(variable, {simbolos a sustituir}, {valores})''. \\ | ||
| + | <code matlab> | ||
| + | >> syms a b | ||
| + | >> Mat_A = [2 3 a; 5 43 1; 2 b 3] | ||
| + | Mat_A = | ||
| + | [ 2, 3, a] | ||
| + | [ 5, 43, 1] | ||
| + | [ 2, b, 3] | ||
| + | >> Mat_B = [sin(a); 4; 5] | ||
| + | Mat_B = | ||
| + | sin(a) | ||
| + | 4 | ||
| + | 5 | ||
| + | >> Mat_C = Mat_A * Mat_B | ||
| + | Mat_C = | ||
| + | 5*a + 2*sin(a) + 12 | ||
| + | 5*sin(a) + 177 | ||
| + | 4*b + 2*sin(a) + 15 | ||
| + | >> subs(Mat_C, {a, b}, {3, 4}) | ||
| + | ans = | ||
| + | 27.2822 | ||
| + | 177.7056 | ||
| + | 31.2822 | ||
| </code> | </code> | ||
| ===== Dibujar ===== | ===== Dibujar ===== | ||
| + | |||
| Línea 79: | Línea 116: | ||
| * ''clf'': borra el dibujo actual. | * ''clf'': borra el dibujo actual. | ||
| * ''hold on'': hace que todo lo que se dibuje a partir de ahora sea sobre el mismo dibujo. | * ''hold on'': hace que todo lo que se dibuje a partir de ahora sea sobre el mismo dibujo. | ||
| + | ==== Como... ==== | ||
| + | * **Dibujar un círculo** | ||
| + | <code matlab> | ||
| + | [x,y,z] = cylinder(Radius,200); | ||
| + | plot(x(1,:),y(1,:)) | ||
| + | axis equal | ||
| + | </code> | ||
| ===== GUIS & GUIDE ===== | ===== GUIS & GUIDE ===== | ||
| + | |||
| ==== Funciones ==== | ==== Funciones ==== | ||
| * ''uiputfile'': Muestra un diálogo para guardar ficheros. | * ''uiputfile'': Muestra un diálogo para guardar ficheros. | ||
| + | * ''uigetdir'': Muestra un diálogo para recoger un path. | ||
| ==== Como... ==== | ==== Como... ==== | ||
| Línea 96: | Línea 142: | ||
| </code> | </code> | ||
| - | ===== Simulink ===== | + | |
| ===== Librerías ===== | ===== Librerías ===== | ||
| + | |||
| + | |||
| Línea 132: | Línea 181: | ||
| * ''im2bw(I, num)'': aplica un threshold (num de 0 a 1) a la imágen I. | * ''im2bw(I, num)'': aplica un threshold (num de 0 a 1) a la imágen I. | ||
| * ''histeq(I)'': Ecualiza el histograma de la imágen. | * ''histeq(I)'': Ecualiza el histograma de la imágen. | ||
| - | * ''imcrop(I, [x1 y1 x2 y2])'': Hace un crop de la imágen. | + | * ''imcrop(I, [x y width height])'': Hace un crop de la imágen. |
| * ''strel'' crea un elemento morfológico, acepta una cadena que define el elemento y los parámetros para este. El elemento puede ''square'' (acepta un valor), ''line'' (acepta 2 valores: la longitud y el ángulo), ''disk'' (acepta un valor, el radio) y ''ball'' (acepta el radio y la altura). | * ''strel'' crea un elemento morfológico, acepta una cadena que define el elemento y los parámetros para este. El elemento puede ''square'' (acepta un valor), ''line'' (acepta 2 valores: la longitud y el ángulo), ''disk'' (acepta un valor, el radio) y ''ball'' (acepta el radio y la altura). | ||
| * ''imdilate'' dilata un borde según un elemento morfológico. | * ''imdilate'' dilata un borde según un elemento morfológico. | ||
| Línea 153: | Línea 202: | ||
| \\ **Notas:** | \\ **Notas:** | ||
| * ''figure, imshow(I)'': abrirá una nueva ventana para mostrar imágenes y en ella mostrará la imágen I. | * ''figure, imshow(I)'': abrirá una nueva ventana para mostrar imágenes y en ella mostrará la imágen I. | ||
| + | * ''imtool'' es una herramienta que te permite realizar acciones básicas sobre imágenes como por ejemplo crop o ver los bytes RGB (al hacer mucho zoom). | ||
| ===== Notas ===== | ===== Notas ===== | ||
| * {{math_langs:matlabr.pdf|Comparación de MATLAB y R}}, sacada de [[http://www.math.umaine.edu/~hiebeler/comp/matlabR.html]]. | * {{math_langs:matlabr.pdf|Comparación de MATLAB y R}}, sacada de [[http://www.math.umaine.edu/~hiebeler/comp/matlabR.html]]. | ||