Guía Clase

Anuncio
Introduccion al uso de Matlab
Table of Contents
Definicion de Variables en el entorno de trabajo ......................................................................
Operaciones Básicas ...........................................................................................................
Funciones y mas funciones ..................................................................................................
Graficos! ...........................................................................................................................
Control de flujo en un script ................................................................................................
1
2
2
2
3
Definicion de Variables en el entorno de trabajo
En Matlab se pueden definir variables de distinto tipo de manera dinámica, es decir, sin antes reservar
espacio en memoria.
% Un numero entero de 8 bits
A = int8(1)
%
B
%
%
Un numero racional de doble precision (16bits)
= double(3.1415);
Observe que el uso de ; suprime la salida del resultado a la linea de
comandos
C = 'hola mundo!'; %Es una variable de tipo string, es decir, texto.
D = [1:10]; % es un vector fila que contiene los numeros 1,2,3,...,10
E = [1:2:10]'; % es un vector columna, resultante de trasponer el vector
% usando el operador ' a continuacion de la definicion del vector fila.
% Observar tambien que el uso de :2: obliga a usar un paso de tamaño 2;
F = [1:10;1:2:20;1:3:30;1:4:40]; % El uso del operador ; separa las
% filas de la matriz F
% Ademas de los numero y las matrices, es posible definir estructuras y
% celdas.
% Una Estructura (struct) puede contener todos los tipos de variables
% definidas anteriormente:
G.entero = A;
G.racional = B;
G.texto = C;
G.fila = D;
G.columna = E;
G.matriz = F;
% una estructura tambien puede contener otras estructuras:
H.estructura = G;
% De manera similar es posible definir celdas (cell)
I{1,2,3}=H; % celda puede tener mas de 1 dimension
1
Introduccion al uso de Matlab
clear all; % produce la eliminacion de las variables definidas en memoria
clc; % borra los resultados de la ventana de comandos
A =
1
Operaciones Básicas
Las operaciones aritmeticas entre numeros de doble precision se conservan, sin embargo, se debe tener
precaución con la mezcla de numeros:
A
C
%
%
%
D
= int8(10); B = double(12.2);
= A + B; % producirá un entero de 8bit ya que este limita la operacion
Entre vectores, las operaciones siguen las mismas reglas de siempre,
salvo que se declaren con el operador . (punto) lo que provoca la
operacion elemento a elemento
= ones(10); E = zeros(10,10); F = D.*E;
clear all; clc;
Funciones y mas funciones
El uso de funciones esta restringido al tipo de variables manejadas por
cada una.
raiz3 = sqrt(3); % entregará un doble correspondiente a la raiz de 3, sin
% embargo, sqrt(int8(3)) resultará en un error ya que el resultado, un
% irracional, no corresponde a un entero de 8bits.
% Ademas de las funciones cotidianas, es posible definir funciones
% personalizadas, llamadas handles
dist_xyz = @(x,y,z) sqrt(x.^2 + y.^2 + z.^2);
disp(['La distancia al vector (1,1,1) es: ' num2str(dist_xyz(1,1,1))])
%Actividad en clase: Definir una funcion en un script. Definir una ayuda.
clear all; clc;
La distancia al vector (1,1,1) es: 1.7321
Graficos!
El concepto de matriz esta filtrado hasta los objetos graficos en matlab. La creacion de una figura genera
una serie propiedades que estan ligadas a esa figura y a los objetos que contiene. Para crear una figura
basta con usar el comando
h=figure,
% asociado a esta figura se crea el objeto gcf (current figure handle).
% Para colocar un set de ejes bidimensionales sobre esta figura,
% simplemente es necesario el comando
axis;
2
Introduccion al uso de Matlab
x = linspace(0,1,20)'; y = sqrt(x);
% para graficar en el plano cartesiano, se utiliza el comando plot:
plot(x,y,'k .-','LineWidth',2,'MarkerSize',22)
% Actividad en Clase: generar un script para explorar y cambiar las
% propiedades de un grafico.
clear all; clc;
close all; % cierra todas las ventas de graficos abiertas en el entorno
h =
1
Control de flujo en un script
Ordenes condicionales, if y switch El comando if cond1 elseif cond2 else default end es una sentencia
condicional usada para condicionar la ejecucion de acciones a la ocurrencia de las condiciones cond1 y
cond2, en caso contrario se ejecuta la accion default.
k1 = rand(1) % Variable logica (boolean)
if round(k1)
disp('El resultado es mayor o igual que 0.5')
caso = 1;
else
disp('El resultado es menor que 0.5')
caso = 2;
end;
% la orden switch selecciona la ejecucion de una accion segun la
% ocurrencia de case == valor seleccionado
switch caso
case 1
disp('Ocurrió el primer caso')
case 2
disp('Ocurrió el segundo caso')
end;
% Ciclos for y while
% El ciclo for (itervar)... acciones... end conciste en la iteracion de las
% acciones el numero de veces definidas por la variable de iteracion
% itervar
for k = 1:10
disp(['Contando desde 1 hasta 10: ' num2str(k)])
end;
% El ciclo solo se ejecuta el numero de veces especificadas en itervar y
% luego termina. Para salir de la iteracion antes del termino normal se
% utiliza break
for k = 1:10
disp(['Contando desde 1 hasta 10: ' num2str(k)])
if k==5
disp('solo se contar hasta 5, adios!')
3
Introduccion al uso de Matlab
break;
end;
end;
% El ciclo while (cond)...acciones... end ejecuta las acciones mientras el
% valor de la condicion cond sea verdadero:
tol=0.5;
while tol>0.01
tol = tol^2;
end;
disp(['el valor final del tol es: ' num2str(tol)])
% Actividad final: generar un problema que reuna las sentencias de control
% mostradas.
k1 =
0.7060
El resultado es mayor o igual que 0.5
Ocurrió el primer caso
Contando desde 1 hasta 10: 1
Contando desde 1 hasta 10: 2
Contando desde 1 hasta 10: 3
Contando desde 1 hasta 10: 4
Contando desde 1 hasta 10: 5
Contando desde 1 hasta 10: 6
Contando desde 1 hasta 10: 7
Contando desde 1 hasta 10: 8
Contando desde 1 hasta 10: 9
Contando desde 1 hasta 10: 10
Contando desde 1 hasta 10: 1
Contando desde 1 hasta 10: 2
Contando desde 1 hasta 10: 3
Contando desde 1 hasta 10: 4
Contando desde 1 hasta 10: 5
solo se contar hasta 5, adios!
el valor final del tol es: 0.0039062
Published with MATLAB® R2013a
4
Descargar