Professional Documents
Culture Documents
Al arrancar el programa MATLAB se abre, por defecto, una ventana similar a la que se tiene a
continuación (ver Fig. 1), siempre manipulable a gusto del usuario con la ayuda del ratón, en ella
se pueden distinguir varias partes (o subventanas) sobre las que se puede actuar con las mismas
facilidades que en cualquier otro programa que funcione bajo Windows, utilizando el ratón y sus
propiedades.
En la parte superior de la pantalla aparece un menú, con contenidos desplegables: File, Edit, Debug,
Desktop, Window, Help …, que variará según estemos situados en una ventana u otra, al que se puede
acceder con el ratón y conviene explorar sus posibilidades con detalle. Debajo de él una, dos, tres, o más,
subventanas según las que se desee tener activas: Current Folder, Command Window, Workspace,
Command History,… . Las ventanas básicas por defecto, son las que se muestran en la figura, lo más
habitual es tener abiertas al menos la ventana Current Folder (Carpetas en uso) donde tendremos a la
vista el directorio de trabajo, que contendrá los ficheros con los que se esté trabajando; la ventana:
“Command History” (Historial de los Comandos utilizados) en la que aparecerá reproducido todo lo que
vamos realizando/ejecutando y una tercer ventana, que en este caso, es la que está situada en el centro y
está diseñada por defecto, de mayor tamaño que el resto, que es la denominada “Command
Windows”(Ventana de Comandos). Este será el espacio donde iremos trabajando en MATLAB, será la
que estará siempre activa (abierta o minimizada). Por tanto, todas las ventanas citadas se pueden
tener cerradas, abiertas o minimizadas, salvo la VENTANA DE COMANDOS (“Command Windows”)
que es por defecto, la obligada a tener activa cuando se opera en MATLAB.
NOTA: Para recuperar la estructura básica, de las ventanas descritas, si es que alguna
ventana se cerrase involuntariamente, se debe seleccionar en el menú principal
Desktop/Desktop Layout/Default, para recomponer la estructura por defecto.
CORRECTO INCORRECTO
>> 2*pi % se desea calcular 2 por pi >> 2pi % se desea calcular 2 por pi
??? 2pi % se desea calcular 2 por pi
ans = |
Error: Unexpected MATLAB expression.
6.2832
3.3. INTERFAZ DE USUARIO. OPERACIONES Y OPERADORES BÁSICOS
Antes de nada comentar, que el usuario, utilizando las flechas ↑ ↓ de la derecha del teclado,
hacia arriba y hacia abajo, se podrán recuperar las órdenes anteriores escritas sin tener que volver a
escribirlas. Esto resulta útil cuando hay una equivocación o se quiere escribir algo de nuevo o con alguna
pequeña modificación. Otras veces, puede resultar necesario, hasta imprescindible que un resultado no
aparezca por pantalla. Por ejemplo si generamos muchos datos o matrices de grandes dimensiones, con
objeto de utilizarlo después. Para conseguir esto se pone un punto y coma detrás de la instrucción. Por
ejemplo si queremos que no nos dé el resultado 2*pi, anterior, pondremos detrás de dicha orden un punto
y coma:
>> x=2*pi;
Su resultado no aparecerá en pantalla como antes, pero el programa ha realizado el cálculo, y lo
podemos comprobar si tecleamos el valor x, así:
>> x
x=
6.2832
Salvo que se haga algo que de error, en cuyo caso, a pesar del punto y coma, el programa nos
lo indicará:
>> 2pi;
??? 2pi;
|
Error: Unexpected MATLAB expression.
Los comandos se pueden ir escribiendo y ejecutando uno a uno, es decir, renglón a renglón, y
también se pueden escribir uno detrás de otro en una misma línea, en cuyo caso habrán de ir
separados por comas, o por puntos y comas, para aquellos cuyo resultado no se desea que salga por
pantalla. Y una cosa más, si el renglón se nos hace demasiado largo, se puede continuar escribiendo
en el siguiente poniendo tres puntos suspensivos donde se quiera cortar. Por ejemplo
z=tan(pi/3)
x=
1.2246e-016
y=
z=
1.7321
Repasemos ahora las operaciones y constantes más habituales y su nomenclatura. Es de señalar que
cuando sea necesario agrupar términos o especificar determinado orden de operación, esto se hará
siempre utilizando paréntesis, y se emplearán tantos paréntesis como sean necesarios para que las
órdenes estén claras, nunca se utilizarán corchetes, estos están reservados para manejar
vectores y matrices.
Símbolo Significado
+ SUMA
- RESTA
* PRODUCTO
/ COCIENTE
Sin más demora, se puede empezar a introducir en MATLAB operaciones básicas para ver
la sencillez de su manejo. Escribamos, a la vez que leemos este texto en la VENTANA DE
COMANDOS, al lado del “pront” característico de MATLAB “ >> “ la suma de 6 más 3: 6+ 3 . El
resultado se obtiene de forma inmediata nada mas pulsar enter y viene siempre precedida por ans
= (iniciales de respuesta en inglés, answer), esta variable ans contendrá en ella, la última respuesta
que no se haya identificado de otra forma. Así:
Para el producto el asterisco * es obligatorio siempre entre todos y cada uno de los
elementos que se multipliquen. Hágase 6 x 3, se comprueba que:
Símbolo Significado
^ POTENCIA
(cualesquiera)
sqrt(… ) RAIZ CUADRADA
( …. ) ORDEN DE
OPERACIÓN
= Asignación de valor
Símbolo y Significado Tipo
igual ==
no igual ~ =
menor que <
mayor que > Operadore
menor o igual que s
Relacional
< = mayor o igual es
que > =
0 FALSO vs 1
VERDADERO
& (y)
(o) Operadores Lógicos
~ (no)
Repasemos el uso de algunos de ellos. Si se quieren calcular potencias y raíces de cualquier
índice, por
jemplo: √4, 3√9 se escribirá:
>> sqrt(4)
ans =
2
Este último resultado es calculable también como potencia ½, es decir:
>> 4^(1/2)
ans =
2
>> 9^(1/3)
ans =
2.0801
Como puede suponerse, es posible realizar cualquier otra operación que combine las operaciones
conocidas:
>> (5*8+23)/
4 ans =
15.7500
NOTA: Obsérvese que la solución decimal viene con “punto” para separación de los
enteros de los decimales. De esa forma se han de introducir los decimales. Si no se pone el
punto decimal, el programa entenderá otra orden diferente, que no es un número decimal,
como veremos a continuación.
>> 2 * 3.5
ans =
7
No sale mensaje de ERROR, pero el programa entiende algo diferente a lo que se desea introducir, que
está relacionado con lo ya comentado. Si se desea escribir VARIAS OPERACIONES SEGUIDAS en una misma
línea, estas irán separadas por comas, y el resultado aparecerá secuenciado, es decir al introducir:
ans =
15.7500
ans =
7
ans =
2.0801
Pero si en vez de acabar la línea u operación con una coma (o sin nada), se pone
un “PUNTO Y COMA” el programa no devolverá una respuesta “ ans = ” por pantalla, en ésta y
en cualquier otra orden; lo que no significa que no haya realizado la operación, sino que le hemos
ordenado que no muestre el resultado. Así, veamos cómo se comporta el programa si se acaban
alguna de las operaciones anteriores con punto y coma “ ; “ el resultado que aparece por pantalla
es solamente el correspondiente a la operación que no lleve detrás el punto y coma, en este
caso, el resultado mostrado es el de (5*8+23)/ 4 que tiene detrás, solamente una coma. Los otros
dos resultados no aparecen, por llevar detrás el punto y coma. Compruébese.
>> a, b, c
a=
15.750
0b=
7
c=
2.0801
Y si se escribe una variable que no esté declarada aparecerá un mensaje de error, por
ejemplo, si no se tiene d, saldría:
>> d
Llegados a este punto, es necesario saber, que si se está trabajando con mucha información y se desea
conocer la que está guardada en la memoria del programa, basta con escribir uno de los dos comandos que nos dan
esa información, que son who y whos. Actúan del siguiente modo:
>> who
Your variables are:
a b c
o la información más completa, que nos la dará whos, nombre, tamaño tipo, bytes, tipo, atributos:
>> whos
1x1 8 double
b 1x1 8 double c
1x1 8 double
Este comando es de gran ayuda, ya que al evocarlo se tiene toda la información almacenada en la memoria del
programa.
Si se desea borrar alguna variable se utiliza el comando clear seguido del nombre de la
variable o variables a borrar, o el clear all, para borrar de una sola vez todo el contenido de la
memoria. Si sólo se desea
borrar (limpiar) el contenido de la pantalla de la ventana de comandos (Command Windows) se
utilizará clc. Pruébense.
Pero es posible cambiar el formato de representación de los números que se tiene por
defecto, usando la secuencia Preferences/General/Numerical Format del menú File, pero
existe otra posibilidad, más cómoda, que es usar la orden apropiada.
Los formatos más habituales (que se pueden tener siempre a mano utilizando la orden help format)
son:
- La orden digits(n) cambiará el número de dígitos de precisión de salida que se usa por defecto
a “n” en la
toolbox
correspondiente.
- La orden digits nos permitirá conocer cuál es el valor de este número.
- Por último, la orden vpa permite realizar un cálculo y mostrar su resultado con una precisión
especificada,
sin cambiar el número de dígitos de precisión con el que se trabaja
>> pi
ans =
3.14159265358979
Digits = 32
ans =
3.1415926535897931159979634685442
>> vpa(pi,60)
ans =
3.141592653589793115997963468544185161590576171875
ans =
3.14159265358979311599796346854
ans =
3.1416
>> digits
Por ejemplo help rref dará una descripción del comando rref
Uso de las flechas. En la ventana de comandos de MATLAB, al usar la flecha hcia arriba se
desplegarán los comandos anteriores. Se pueden usar las flechas para localizar un
comando y modificarlo y al oprimir la tecla “ enter “ se ejecuta el comando modificado.
Comentarios. Si se inicia una linea con el símbolo %, MATLAB interpretará esto como una
línea de comentario.
Ejemplo
% Esto es un comentario
Para desplegar digitos adicionales. Por lo general MATLAB desplega sólo 4 dígitos
después del punto decimal. De esta forma, 4/3 aparece como 1.3333. El comando format
long hace que todos los numeros se desplieguen completos. Así, si de format long y
después 4/3, en la pantalla aparecerá 1.33333333333333. Para regresar al despliegue
normal de 4 dígitos después del punto decimal se da el comando format short.
MATRICES Y ARREGLOS.
1 2 10 4
3) X=[1;8;3;4]
Crea una matriz en una columna cuyo resultado es:
Matlab presenta otra opción para crear matrices, donde cada par de elementos
consecutivos posee una razón constante
X=1:0.5:4
Crea una matriz en fila con valor inicial 1 que se va incrementando en 0.5 hasta llegar al
valor 4, cuyo resultado es:
X(8)=6
A=[1,4,5,8;5,0,0,2;0,1,-7,3]
1 4 5 8
5 0 0 2
0 1 -7 3
A(3,4)
Suma de matrices.
A=[ 1,4;5,2]
B=[ 2,1;3,4]
C=A+B
3 5
8 6
Resta de matrices.
D=A-B
2 -2
D=[3,-2,7;6,5,4;5,4,9]
E=-4*D
-12 8 -28
Multiplicación de matrices
A=[2,3,1;1,-1,1;0,2,2]
B=[1,2,1;-1,2,-1;2,0,2]
C=A*B
1 10 1
4 0 4
2 4 2
CLACES DE MATRICES.
A=[1,-3,0,-2;3,-12,-2,-6;-2,10,2,5;-1,6,1,3]
La transpuesta
1 3 -2 -1
-3 -12 10 6
0 -2 2 1
-2 -6 5 3
Traza de una matriz.
D=trace(Y)
Devuelve D= -6
Matrices especiales.
I=eye(3)
1 0 0
0 1 0
0 0 1
B=zeros(3,2)
0 0
0 0
0 0
ones(m,n): genera una matriz de unos de orden mxm
A=ones(2,3)
1 1 1
1 1 1
METODO DE LA INVERSA.
Consideremos el siguiente sistema de ecuaciones
3x+4y+z+2w=-3
3x+5y+3z+5w=-6
6x+8y+z+5w=-8
3x+5y+3z+7w=-8
A=[3 4 1 2;3 5 3 5;6 8 1 5;3 5 3 7]
B=[-3;-6;-8;-8]
X=inv(A)*B
X=
-2
-1
3x+4y+z+2w=-3
3x+5y+3z+5w=-6
6x+8y+z+5w=-8
3x+5y+3z+7w=-8
B=[-3;-6;-8;-8]
X=A\B
X=
2
-2
-1
3x+4y+z+2w=-3
3x+5y+3z+5w=-6
6x+8y+z+5w=-8
3x+5y+3z+7w=-8
X=rref(A)
1 0 0 0 2
0 1 0 0 -2
0 0 1 0 1
0 0 0 1 -1
CALCULO DE DETERMINANTES.
Ingrese la siguiente matriz:
A=[3,-1,0,2;-1,-2,3,4;7,4,4,0;1,0,0,5]
El determinante de la matriz A
B=det(A)
3.1. ACTIVIDADES
AC1. Dadas las matrices:
æ 1 3 -5 0 3 ö
æ1 ö
A = ç -3 2 2 8 10 ÷ b = ç 3÷
ç ÷ ç ÷
è 4 2 -1 0 2 ø è 8ø
a). Forme C como la matriz aumentada [A b]
b). Encuentre la forma escalonada reducida por renglones de C usando el comando rref.
Use este comando para escribir un sistema equivalente de ecuaciones, y hallar las
soluciones del sistema correspondiente.
AC2. Encuentre la forma escalonada reducida por renglones de C usando el comando rref.
Use este comando para escribir un sistema equivalente de ecuaciones, y hallar las
soluciones del sistema correspondiente.
x1-2x2+x3+x4=2
3x1+2x3-2x4=-8
4x2-x3-x4=1
x1+6x2-2x3=7
AC4.- Utilice el método de Eliminación Gaussiana para resolver el sistema de ecuaciones
𝑥1 − 2𝑥2 + 3𝑥3 = 11
4𝑥1 + 𝑥2 − 𝑥3 = 4
2𝑥1 − 𝑥2 + 3𝑥3 = 10
𝟐 𝟏 𝟑 𝟏 𝟎
𝟐 𝟑 𝟏 𝟎 𝟐
𝑨=[ ] 𝑩 = [𝟑 −𝟓] 𝑪=[ ] 𝑫 = [−𝟐 𝟒 𝟓]
−𝟓 𝟒 𝟎 𝟐 𝟓
𝟎 𝟐 𝟎 −𝟏 𝟐
a. X=3B*C-D
b. Z=2Y-5A donde Y=C*B
𝑩 ∗ 𝑪 𝑫𝑻
c. 𝑾=[ ]
𝟎 𝑿/𝟐
AC13. Resuelva el sistema de ecuaciones mediante la inversa utilizando el método de la
inversa.
x+2y‐z=‐3
3x+y+z=4
x‐y+2z=6
EP4.6.- Usar la matriz inversa para encontrar las soluciónes de las 3 ecuaciones
simultaneas.
𝑥1 − 2𝑥2 + 3𝑥3 = 11
4𝑥1 + 𝑥2 − 𝑥3 = 4
2𝑥1 − 𝑥2 + 3𝑥3 = 10
AC10. Resuelva el sistema de ecuaciones mediante la inversa utilizando Regla de Cramer.
x+2y-z=-3
3x+y+z=4
x-y+2z=6
EP4.6.- Calcular la determinante
1 −1 2 3
A= |2 1 0 1|
3 −1 1 2
2 −1 0 1