Clase 7 Matlab Scripts y Funciones
Clase 7 Matlab Scripts y Funciones
Clase 7 Matlab Scripts y Funciones
Herramientas Computacionales
para Ingeniería y Ciencias
Clase 8 - MATLAB
Scripts y Funciones
Patricio Poblete
Maíra Marques
Otoño 2016
Scripts
2
Ejemplo
3
Ejemplo
4
Funciones
5
Funciones
8
Evaluación de un polinomio
9
Evaluación de un polinomio
function y = evalpoli( a, x )
% Evalúa el polinomio con vector de coeficientes a
% en el punto x
% Entradas:
% a: vector de coeficientes a0, a1, a2, ...
% x: punto en el que se evalúa el polinomio
% Salida:
% y = a + a1*x + a2*x^2 + ...
% Uso:
% y = evalpoli(a, x)
n=0:length(a)-1
potx=x.^n
y=a*potx'
end
10
Evaluación de un polinomio
function y = evalpoli( a, x )
% Evalúa el polinomio con vector de coeficientes a
% en el punto x
% Entradas:
% a: vector de coeficientes a0, a1, a2, ...
% x: punto en el que se evalúa el polinomio
% Salida:
% y = a + a1*x + a2*x^2 + ...
% Uso:
% y = evalpoli(a, x)
n=0:length(a)-1
potx=x.^n
y=a*potx'
end
12
Una función puede retornar más
de un valor: Ecuación de 2º grado
13
Una función puede retornar más
de un valor: Ecuación de 2º grado
14
Una función puede retornar más
de un valor: Ecuación de 2º grado
function [ re1, im1, re2, im2 ] = ec2( a, b, c )
% Resuelve ecuación de segundo grado
% Entrada:
% a, b, c: coeficientes de ecuación a*x^2+b*x+c=0
% Salida:
% re1,im1,re2,im2: partes real e imaginaria de las sols
% Uso: [re1, im1, re2, im2] = ec2(a, b, c)
d=b^2-4*a*c;
if d>=0
re1=(-b+sqrt(d))/(2*a);
re2=(-b-sqrt(d))/(2*a);
im1=0;
im2=0;
else
re1=-b/(2*a);
re2=re1;
im1=sqrt(-d)/(2*a);
im2=-im1;
end
15
Una función puede retornar más
de un valor: Ecuación de 2º grado
16
Una función puede retornar más
de un valor: Ecuación de 2º grado
17
Ejercicio
>> nn=1:1000;
>> plot(nn,arrayfun(@Harmonic,nn))
19
El problema del granizo
La Conjetura de Collatz
Conjetura:
Para toda altura inicial n≥1, el granizo llega
eventualmente al suelo (altura 1)
20
Siguiendo el rastro del granizo
22
Ejemplo
>> granizo(31)
23
Ejercicio
24