Primeros Pasos Con Mat Lab
Dofyhd98Ensayo22 de Mayo de 2019
3.861 Palabras (16 Páginas)127 Visitas
Matlab se diseñó para emplear una notación standard. Haga estos ejemplos en su PC
Entrada | Salida | Comentarios |
2 + 3 7-5 34*212 1234/5786 2^5 | ans = 5 ans = 2 ans = 7208 ans = 0.2133 ans = 32 | La Aritmética funciona como se espera. Note que el resultado toma el nombre de "ans" una y otra vez. |
a = sqrt(2) | a = 1.4142 | Puede darle sus propios nombres a las cosas |
b = a, pi, 2 + 3i | b = 1.4142 ans = 3.1416 ans = 2.0000 + 3.0000i | Puede usar comas para colocar más de un comando en una línea. Pi, i, y j son constants |
c = sin(pi) eps | c = 1.2246e-016 ans = 2.2204e-016 | "eps" es el límite de precisión actual. Cualquier valor más pequeño que eps es probablemente cero. Note que Matlab emplea notación cientifica. |
d = [1 2 3 4 5 6 7 8 9] e = [1:9] f = 1:9 | d = 1 2 3 4 5 6 7 8 9 e = 1 2 3 4 5 6 7 8 9 f = 1 2 3 4 5 6 7 8 9 | "d", "e", y "f" son vectores. Todos ellos iguales. Note que el uso del operador ":" cuenta (de uno en uno) desde un numero al siguiente |
g = 0:2:10 f(3) f(2:7) f(:) | g = 0 2 4 6 8 10 ans = 3 ans = 2 3 4 5 6 7 1 2 3 4 5 6 7 8 9 | Note que puede usar (:) para obtener parte de un vector (o matriz, o cubo, etc), o obtener la parte completa. |
h = [1 2 3]; h' | (nada) ans = 1 2 3 | El punto y coma ";" Evita que la salida sea desplegada. La comilla simple " ' " calcula la transpuesta de una matriz, es decir intercambio de vector renglón por vector columna. |
h * h' h .* h h + h | ans = 14 ans = 1 4 9 ans = 2 4 6 | Operaciones sobre vectores. El operador (*) multiplica matrices, así que las dimensiones deben ser las correctas. |
g = [ 1 2 3; 4 5 6;7 8 9] | g = 1 2 3 4 5 6 7 8 9 | Introduciendo una matriz |
g(2,3) g(3,:) g(2,3) = 4 | ans = 6 ans = 7 8 9 g = 1 2 3 4 5 4 7 8 9 | Accesando a los elementos de una matriz. Note el uso de ":" para accesar a un renglón. |
g^2 g .^ 2 | ans = 30 36 42 66 81 96 102 126 150 ans = 1 4 9 16 25 36 49 64 81 | La primera multiplica la matriz por si misma. La segunda nos da el cuadrado de cada elemento de la matriz. |
Controlando formatos de Salida
Antes de profundizar sobre matrices trataremos los formatos de salida
Dos comandos muy útiles son: format y more.
Para controlar el espaciamiento entre líneas, use format compact.
Para visualizar los 15 dígitos que fueron incluidos en los cálculos, use format long.
Para visualizar solo 5 dígitos, use format short.
Para suprimir la salida completamente, use un punto y coma al final del comando.
Para visualizar una página de salida a la vez use more on.
Para visualizar otras opciones, teclee help format o help more
Nota: Matlab siempre usa "doble" precisión (15 dígitos) en sus cálculos.
Comandos internos para de construir matrices
Entrada Salida Comentarios | ||
rand(2) rand(2,3) | ans = 0.9501 0.6068 0.2311 0.4860 ans = 0.8913 0.4565 0.8214 0.7621 0.0185 0.4447 | Genera una matriz con elementos aleatorios distribuidos entre 0 y 1 |
zeros(2) ones(2) | ans = 0 0 0 0 ans = 1 1 1 1 | Genera una matriz de 2x2 todos cero (o todos uno) s) entries. |
eye(2) ans = 1 0 0 1 Matriz identidad I. | ||
hilb(3) | ans = 1.0000 0.5000 0.3333 0.5000 0.3333 0.2500 0.3333 0.2500 0.2000 | Matriz de Hilbert 3x3. |
En álgebra lineal, una Matriz de Hilbert es una matriz cuadrada cuyos campos constituyen una fracción de la unidad.
[pic 1]
Por ejemplo, esta sería una matriz de Hilbert de 5 × 5:
[pic 2]
Concatenación
Pueden formarse nuevas matrices a partir de las ya existentes. Suponga que tenemos
a = [1 2; 3 4]
a = 1 2
3 4
Podemos crear una nueva matriz de la siguiente manera.
Input Output
[a, a, a] ans = 1 2 1 2 1 2
3 4 3 4 3 4
[a; a; a] ans = 1 2
3 4
1 2
3 4
1 2
3 4
[a, zeros(2); zeros(2), a'] ans = 1 2 0 0
3 4 0 0
0 0 1 3
0 0 2 4
Programación
Podemos construir las matrices mediante programación. He aquí un ejemplo usando dos ciclos "for".
for i=1:10,
for j=1:10,
t(i,j)=i/j;
end
end
Note que no se muestra ninguna salida, debido a que la línea (t(i,j) = i/j;) termina con punto y coma. Sin el punto y coma. Matlab imprimirá la matriz t 100 veces!
Más operaciones sobre matrices
Como vimos anteriormente, +, -, *, and / son definidos de una manera intuitive para matrices. Cuando hay ambigüedad acerca de si una operación hará una aritmética de matrices (vs entrada por entrada), note que ".*" (punto-asterisco) multiplicará elemento a elemento, y "*" (asterisco) llevará a cabo la multiplicación de matrices.
Escalares
Un escalar es un número. Matlab lo almacena internamente como una matriz de 1x1, pero lo trata como si fuera número.
Todas las operaciones que involucran un escalar y una matriz afectan la matriz entrada por entrada, con la excepción del operador power ("^"). Haga lo siguiente.
Entrada | Salida | Comentarios |
b=2 | b=2 | Define b como un escalar |
a + b | ans = 3 4 5 6 | La suma trabaja elemento a elemento |
a * b | ans = 2 4 6 8 | Escalar por matriz |
a ^ b | ans = 7 10 15 22 | Matriz a elevada a la potencia 2 (a*a) |
a .^ b | ans = 1 4 9 16 | Potencia elemento a elemento |
...