Escolar Documentos
Profissional Documentos
Cultura Documentos
Matemtico
Entorno Matlab
Prof. Blanca Guilln
Temas
Fundamentos de Matlab
Introduccin al software Matlab
El entorno Matlab: ventanas, variables y
archivos
Smbolos y Comandos Bsicos
ARCHIVOS
Generalidades
MATLAB es un programa interactivo en el sentido que
establece un dilogo con el usuario mediante un
lenguaje de comandos. Todo comando introducido tiene
como respuesta, por parte de MATLAB, su ejecucin o,
en su defecto, el mensaje de error correspondiente.
Generalidades
Programar en MatLab es usar una serie de comandos que
permitan realizar una tarea o funcin especfica. Los
comandos pueden ser:
suma=0;
for n=1:100
xn=1/2^(n-1); % trmino general de la serie
suma=suma+xn
end
suma
% Fin del archivo-m
Archivos de Comando: Scripts
Si guardamos el archivo con el nombre:
Script1Clase2
suma=0;
for n=1:N
xn=1/2^(n-1); % trmino general de la serie
suma=suma+xn
end
Funciones - Ejemplo
La primera lnea declara el nombre de la funcin, los
argumentos de entrada, y los argumentos de salida. Sin
esta lnea sera un archivo de comando.
Nombre de la funcin
Funciones Ejemplo 2
El smbolo % indica que el resto de la lnea es un
comentario. Las primeras lneas documentan el archivo-
M y aparecen en la pantalla cuando escribimos:
help f1Clase2.
Operadores Relacionales
1. (3 <= 3) el resultado es 1
porque la condicin se < Menor que
cumple > Mayor que
expresion1 | expresion2
~expresion1
Operadores Lgicos
& and
| or
~ not
Operadores Lgicos
1. & (and): se evalan siempre ambos operandos, y el resultado
es true slo si ambos son true.
5. ~ negacin lgica
Operadores Lgicos
1. Sentencias: if
Sintaxis:
if (Condicin)
sentencia1;
sentencia2;
...
End
Sintaxis:
if (Condicin)
sentencia1;
else
sentencia2;
end
if (condicin1)
sentencia1;
elseif (condicin2)
sentencia2;
elseif (condicin3)
sentencia3;
...
elseif ()
else
sentencian;
end
Fuente: Aprenda a programar como si estuviera en primero: Aguinaga y col.
Ejemplo 3 (caso 1)
function analisis_nota(nota)
if nota <5
disp(Suspendido)
end
if nota>=5 & nota <7
disp(Aprobado)
end
if nota>=7 & nota <9
disp(Notable)
end
if nota>=9
disp(Sobresaliente)
end
while ( ExpresionDeControl)
sentencia;
end
n = 1;
while prod(1:n) < 1.0e10,
n = n+1;
end
fprintf('El primer entero para el cual n! tiene 10 dgitos es n
= %4.0f.\n', n-1)
Bucle for
Los bucles FOR se utilizan cuando queremos
que se repita una serie de instrucciones un
nmero determinado de veces.
m=4;
n=4;
for i = 1:m
for j = 1:n
A(i, j) = 1/(i+j- 1);
end
end
Anidamiento de bucles Ejemplo 7
Crear una funcin con parmetros de entrada m y n, y
parmetro de salida la matriz A mxn, definida mediante:
A(i,j)=1/(i+j-1)
function A=ejemplo7(m,n)
for i = 1:m
for j = 1:n
A(i, j) = 1/(i+j- 1);
end
end
Ejercicio 1
Crear una funcin de nombre RaicesPoly2 que calcule las
races de un polinomio de segundo grado del tipo:
2
p( x) ax bx c
Observaciones:
1. Esta funcin necesitar 3 argumentos de entrada (los
valores a, b y c del polinomio) y 2 de salida (las dos
races del polinomio).
2. Compruebe que funciona
Ejercicio 2 Uso bucle for
Construir una funcin de nombre CalcularFactorial.m, que
calcule el factorial de un nmero que se pasa por ventana.
Disee un script (programa principal) llamado
ejercicio2.m desde donde se invoque a la funcin
CalcularFactorial.
El script debe realizar las siguientes operaciones:
1. Borrar todas las variables (ver clear)
2. Pedir por teclado el nmero (n) del que se desea
conocer su factorial (ver funcin input)
3. Calcular el factorial de n con una llamada a la funcin
CalcularFactorial creada por Ud. mismo y almacenar
el resultado en la variable y. Es decir,
y = CalcularFactorial(n)
Ejercicio 3 Uso bucle While
Construir una funcin de nombre CalcularFactorial2.m,
que calcule el factorial de un nmero n que se pasa por
ventana usando el bucle while.
Disee un script (programa principal) llamado ejercicio2.m
desde donde se invoque a la funcin CalcularFactorial2.
El script debe realizar las siguientes operaciones:
1. Borrar todas las variables (ver clear)
2. Pedir por teclado el nmero (n) del que se desea
conocer su factorial (ver funcin input)
3. Calcular el factorial de n con una llamada a la funcin
CalcularFactorial2 creada por Ud. mismo y almacenar
el resultado en la variable y. Es decir,
y = CalcularFactorial2(n)
Mtodo de Biseccin
Teorema de Bolzano:
Si una funcin continua
en el intervalo [a, b]
toma valores de distinto
signo en a y en b,
entonces existe al
menos un valor entre
ambos extremos del
intervalo en el que la
funcin se anula.
Es decir, existe p en
(a,b) tal que f(p)=0
Mtodo de Biseccin
El Teorema de Bolzano proporciona un mtodo
para encontrar soluciones a una funcin continua
en un intervalo. Para ello basta con ejecutar los
pasos siguientes:
Mtodo de Biseccin
1. Dada una funcin continua f, determinar valores a y b,
tales que en uno la funcin es positiva, y en el otro
negativa.
2. Bisecar el intervalo [a,b] (hallar el punto medio del
intervalo) y llamar al punto medio p.
3. Calcular el valor de la funcin en p.
4. Sustituir uno de los extremos del intervalo por p.
Concretamente, aquel que tenga el mismo signo que
f(p). En este paso se tiene el mismo caso que al
principio, pero con un intervalo la mitad de ancho.
5. Realizar el proceso de biseccin tantas veces como
sea necesario, hasta que la anchura del intervalo sea
inferior a una tolerancia prefijada.
Ejercicio 4 Mtodo de Biseccin
Ejercicio 4 Mtodo de Biseccin
Crear una funcin de nombre biseccion, con argumentos
de entrada f, a, b y tol, y argumento de salida raiz, que
aproxime la raz de la ecuacin f(x)=0.
function r = f(x)
% x es un valor real
r = ... % Aqu va la funcin a evaluar
2
f ( x) x 1
g ( x) tan( x), 0 x 3 /8
Observacin: grafique ambas funciones
superpuestas para que observe grficamente donde
se intersectan. Para ello utilice las funciones plot, y
hold on y hold off de matlab.
Funcin feval
[y1, y2, ...] = feval(function, x1, ..., xn). If function
is a quoted string containing the name of a
function (usually defined by an M-file), then
feval(function, x1, ..., xn) evaluates that function
at the given arguments. The function parameter
must be a simple function name; it cannot
contain path information.
Funcin Inline
Example 2
This example creates an inline function to represent the
formula. The resulting inline function can be evaluated with
the argnames and formula functions.
f = inline('3*sin(2*x.^2)')
f = Inline function: f(x) = 3*sin(2*x.^2)
argnames(f)
ans = 'x
formula(f)
ans = 3*sin(2*x.^2)