02_Capitulo

Páginas: 13 (3203 palabras) Publicado: 25 de octubre de 2015
UNIDAD 2
Matrices, bucles, funciones, condicionales, superficies 3D.
• Control de flujo: bucles for end.
• Matrices.
• Representación gráfica de superficies 3D.
• Funciones de usuario.
• Traslación y rotación de vectores (geométricos).
• Variables lógicas y operadores de comparación.
• Control de flujo: condicionales (if elseif else end).
• Control de flujo: bucles while end.
• Control de flujo:break y continue.

Control de flujo. Bucle for. (help for)

Los bucles son útiles para realizar operaciones repetitivas. Esto es, se puede repetir
un fragmento de código (una o más líneas o comandos) un número fijo de veces,
recorriendo sucesivamente en cada ejecución los elementos de un vector.
Generalmente es un índice (número entero) para recorrer elementos de un vector.
Sintaxis:
% Observarque el índice es una variable tipo vector, que debe nombrarse.
for n=valor_inicial:incremento:valor_final
comando 1 ;
comando 2 ;
etc.
end % la lista de comandos dentro del bucle se termina con end

Ejemplo: (bucle_for_01.m)
% Calcula la suma y producto de todos los elementos de un vector
x=linspace(1,100,300) ;
n_elem=length(x) ;
suma=0.0 ;
producto=1.0 ;
for n=1:1:n_elem
suma=suma+x(n) ;producto=producto*x(n) ;
end

Ejemplo: bucle for y obtención del tiempo de ejecución con funciones tic y toc.
% bucle_for_velocidad_01.m
% Calcula el módulo de un vector con la función interna norm y con un bucle for
% Compara los tiempos de ejecución
a=linspace(1,100,1E5) ;
n_elem=length(a) ;
% Cálculo con función interna norm
tic ;
modulo_norm=norm(a) ;
toc % muestra el tiempo transcurrido desde elúltimo tic
% Cálculo con bucle for
tic ;
modulo_for=0 ;
for n=1:1:n_elem
modulo_for=modulo_for+a(n)^2 ;
end
modulo_for=sqrt(modulo_for) ;
toc
modulo_norm , modulo_for

% mostrar resultados

Ejemplo bucle for con utilización del índice dentro del bucle.
% Multiplica todos los elementos de un vector por dos y por tres
% Compara los tiempos de ejecución
a=linspace(1,100,1E5) ;
n_elem=length(a) ;
%Cálculo con con el operador de matlab
tic ;
a2=2.*a ;
a3=3.*a ;
toc % muestra el tiempo transcurrido desde el último tic
% Cálculo con bucle for
tic ;
for n=1:1:n_elem
a2(n)=2*a(n) ;
a3(n)=3*a(n) ;
end
toc

Moraleja: para reducir el tiempo de ejecución, utilizar siempre que se
pueda las operaciones vectoriales de MATLAB, en lugar de bucles for.

Matrices
MATLAB está especialmente diseñado para operarmuy eficazmente con matrices;
MATLAB=MATrix LABoratory.
Para MATLAB una matriz es un conjunto de números ordenados en forma de filas y
columnas. Siempre tiene forma rectangular, esto es, todas las filas tienen el mismo
número de columnas.
En realidad para MATLAB todas las variables son matrices: un valor numérico es una
matriz de una fila y una columna (1x1), un vector fila es una matriz de unafila y el
número de columnas es el número de elementos del vector fila.
La asignación de valores a los elementos de una matriz se hace mediante la ya
conocida sintaxis para crear vectores: [ ] , ;
>> m=[1 2 3 4 ; 4 5 exp(6) 7 ; 8 pi 9^2 9] % 3 filas, 4 columnas

Espacios o comas separan columnas y punto y coma separa filas.

Matrices. Acceso a elementos, filas y columnas (help colon)
El acceso aelementos individuales es mediante (), como en los vectores,
aunque para matrices se emplean dos índices.
matriz(n_fila,n_columna)
>> m(2,3)

Acceso a filas, serán vectores fila
>> m(2,1:end)
>> m(2,:)
>> m(2,2:end-1)

% toda la fila 2
% ATENCIÓN a : que es equivalente a 1:end
% parte de la fila 2

Acceso a columnas, serán vectores columna
>> m(1:end,3) ;
>> m(:,3) ;
>> m(2:3,3) ;

% toda la columna3
% ATENCIÓN a : que es equivalente a 1:end
% parte de la columna 3

Acceso a sub-matrices, serán matrices
>> m(1:2,3:4) ;
>> m([1,2],[3,4]) ;

A partir de vectores
>> f1=[1 2 3] ; f2=[7 8 9] ; mm=[f1 ; f2]

Matrices. Operadores aritméticos elemento a elemento. help .*
Suma, resta, multiplicación, división, exponenciación + - .* ./ .^ (ATENCIÓN
al punto que precede). Las dos matrices deben...
Leer documento completo

Regístrate para leer el documento completo.

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS