Documentos de Académico
Documentos de Profesional
Documentos de Cultura
CAPÍTULO 4
VECTORES EN Rn
• Representar mediante n-tuplas ordenadas (x1, x2, x3, …. xn): n-espacio (Rn).
• Operaciones canónicas de Rn :
• Los elementos de las matrices se acceden poniendo los dos índices entre paréntesis,
separados por una coma
• Las matrices se almacenan por columnas (aunque se introduzcan por filas, como se ha
dicho antes), 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).
• Inversa de una matriz: Invertir una matriz es casi tan fácil como trasponerla. A continuación se va
a definir una nueva matriz A -no singular- en la forma:
Ahora se va a calcular la inversa de A y el resultado se asignará a B. Para ello basta hacer uso de
la función inv( ), B=inv(A)
• Matriz identidad: para comprobar que este resultado es correcto basta multiplicar A
por B;
• MATLAB considera comentarios todo lo que va desde el carácter tanto por ciento (%)
hasta el final de la línea.
• Generación de matrices especiales:
En cierta forma se podría decir que el operador (:) representa un rango: en este caso, los
números enteros entre el 1 y el 10.
Por defecto el incremento es 1, pero este operador puede también utilizarse con otros valores
enteros y reales, positivos o negativos. En este caso el incremento va entre el valor inferior y
el superior.
>> x=1:2:10
x =
>> x=10:1:1
x =
Operaciones con matrices
+ adición o suma
– sustracción o resta
* multiplicación
' traspuesta
^ 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
16
• En MATLAB existe también la posibilidad de aplicar elemento a elemento los
operadores matriciales (*, ^, \ y /). Para ello basta precederlos por un punto (.).
Por ejemplo:
>> [3 5 6 7]^2
??? Error using ==> ^
Matrix must be square.
>> [3 5 6 7].^2
ans =
Operador Descripción
== Igual que
~= Distinto que
Operadores lógicos
Operador Descripción
& and
| or
~ negación lógica
Funciones matemáticas elementales que operan de
modo escalar
Función Descripción
sin(x) Seno
cos(x) Coseno
tan(x) Tangente
Función Descripción
Función Descripción
B = A' calcula la traspuesta (conjugada) de la
matriz A
• Sentencia IF
En su forma más simple, la sentencia if se escribe en la forma siguiente:
if condicion
sentencias
end
• Bifurcación múltiple:
if condicion1
bloque1
elseif condicion2
bloque2
else
bloque4
end
• Sentencia switch:
switch switch_expresion
case case_expr1,
bloque1
case {case_expr2, case_expr3, case_expr4,...}
bloque2
...
otherwise, % opción por defecto
bloque3
end
• Sentencia for:
for i=1:n
sentencias
end
o bien,
for i=vectorValores
sentencias
end
Donde vectorValores es un vector con los distintos valores que tomará la
variable i.
• Sentencia while:
while condicion
sentencias
end
la sentencia break hace que se termine la ejecución del bucle más interno
de los que comprenden a dicha sentencia.
• Sentencia continue:
try
sentencias1
catch
sentencias2
end
• Función disp:
La función disp permite imprimir en pantalla un mensaje de texto o el valor de una matriz, pero
sin imprimir su nombre.
>> disp('El programa ha terminado')
>> A=rand(4,4)
>> disp(A)
• Sentencia fprintf:
» vol = 2.0393938;
» fprintf('El volumen de la esfera es: %12.5f \ n',vol);
El volumen de la esfera es: 2.03939
donde fh es una referencia de función y r1, r2, r3, ... y arg1, arg2, arg3, ...
son respectivamente los valores de retorno y los argumentos de la función
cuya referencia es fh.
GRÁFICOS BIDIMENSIONALES
FUNCIONES GRÁFICAS 2D ELEMENTALES
Función Descripción
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.
>> clear; clf;
>> x=[0:0.2:10]; y1=0.2*sin(x); y2=0.2*cos(x);
>> y3=sin(x).*exp(-0.2*x);
>> plot(x,y1,’k’)
>> hold on
>> plot(x,y2,’r’)
>> plot(x,y3,’b’)
>> hold of
GRÁFICOS TRIDIMENSIONALES
DIBUJO DE LÍNEAS: FUNCIÓN PLOT3
>> plot3(x,y,z)
que dibuja una línea que une los puntos (x(1), y(1), z(1)), (x(2), y(2), z(2)),
etc. y la proyecta sobre un plano para poderla representar en la pantalla.
>> clear; clf
>> fi=[0:pi/20:6*pi]; plot3(cos(fi),sin(fi),fi,‘k')
DIBUJO DE MALLADOS: FUNCIONES MESHGRID, MESH Y SURF
• Sean x e y dos vectores que contienen las coordenadas en una y otra dirección
de la retícula (grid) sobre la que se va a dibujar la función. Después hay que
crear dos matrices X (cuyas filas son copias de x) e Y (cuyas columnas son
copias de y).
• Estas matrices se crean con la función meshgrid. Estas matrices representan
respectivamente las coordenadas x e y de todos los puntos de la retícula. La
matriz de valores Z se calcula a partir de las matrices de coordenadas X e Y.
• Finalmente hay que dibujar esta matriz Z con la función mesh.
» clear;clf
» u=-14:0.5:14; v=u;
» [U,V]=meshgrid(u,v);
» R=sqrt(U.^2+V.^2)+eps;
» W=sin(R)./R;
» surf(U,V,W)