You are on page 1of 10

U

NIVERSIDAD DE LAS FUERZAS ARMADAS ESPE


NOMBRE: Steven Pazmiño PROFESOR: Ing. Wilson Cerón
NRC: 1423 Tema: Comandos en Matlab
Matlab es un programa diseñado para satisfacer las necesidades de los ingenieros debido a
esto posee programación de alto nivel incluso mejor que las plataformas C y Fortran también
posee diversas herramientas tales como el Simulink. (wikipedia, 2013)
COMANDOS DE MATLAB PARA LA RESOLUCIÓN DE LÍMITES
En el cálculo de límites en Matlab se requiere el conocimientos de ciertos comandos así como
en cualquier otro caso de resolución de problemas en el siguiente organigrama se muestra lo
comandos y su forma de utilización (CÉSAR, 2013)

EJEMPLOS DE RESOLUCIÓN DE LÍMITES EN MATLAB


Para empezar se asignan las variables de trabajo en este caso van a ser x,h,b
Syms sirve para la declaración de variables

>>syms x,h,d;
>>limit (1/x, x, 0’right’)
Ans=Inf
Para cálculo de límites exponenciales

>> Syms x,h,d


>> limit (exp(x),x,-inf)
Ans=0
Calculo de la derivada del seno por definición
>> Syms x,h,d
>> limit ((sin(x+h)-sin(x)/h, h, 0,) “en este caso el limite depende de dos variables x,h así
Ans=cos(x) que se indica que variable es la que se va a variar”

COMANDOS DE MATLAB PARA LA RESOLUCIÓN DE DERIVADAS

EJEMPLOS
1) >>Syms x
>> diff(5*x)
ans =5
2) Deriver con dos variables
>> Syms x,y
>>diff(y*x,x)
ans = a
3) f(x) = ax 3 + bx 2 + cx + d
>>syms a,b,c,d,x
>>f=a*x^3+b*x^2+c+d
f=a*x^3+b*x^2+c*x+d
>>f1=diff(f)%sin especificar la variable
f1=3*a*x^2+2*b*x+c
>> f1=diff(f,x) %también calcula la derivada primera
f1 = 3*a*x^2+2*b*x+c
>> f2=diff(f,x,2) %derivada segunda
f2 = 2*b+6*a*x
>> f3=diff(f,x,3) %derivada tercera
f3 = 6*a
>> diff(f,3) %lo mismo sin indicar la variable, el programa considera que es x
ans = 6*a
>> diff(f,x,4) %a partir de ésta, las sucesivas derivadas son nulas
ans = 0
>> fb=diff(f,b) %derivamos respecto del segundo coeficiente
fb = x^2
En el caso de derrivar una constante se debe primero asignar el valor de la constantecomo una
exprexion simbolica ejm:
>>k (‘6’);
>>diff (k)
Ans = 0
La operación de derivación, como otras, se puede extender a vectores (y también a matrices
). Si pedimos la derivada de un vector respecto de una variable, Matlab calcula otro vector cu
yos elementos son las derivadas, respecto de la variable indicada, de los elementos del vecto
r dado. Por ejemplo:
>> syms x y
>> [2*x*y^2 7 x/y x‐y]
ans = [ 2*x*y^2, 7, x/y, x‐y]
>> diff(ans,y)
ans =[4*x*y,0,-x/y^2-1 ]
Recordemos que si la función que queremos derivar es polinómica, también podemos usar el
comando polyder, que actúa sobre un polinomio escrito en forma de vector (teniendo en cuen
ta que MatLab identifica un polinomio con el vector de sus coeficientes escritos en orden dec
reciente, en cuanto a las potencias de x).
COMANDOS DE MATLAB PARA LA RESOLUCION DE INTEGRALES
MATLAB dispone de las funciones denominadas quad y dblquad para las integrales simples
y dobles
Integrales simples
La función quad (function, a, b); devuelve el resultado aproximado de la integral cuando se le
pasa la función a integrar en el primer parámetro function, los límites a y b de la integral.
Ejemplos:
10
t3 21t 1730
∫ (−t 2 + 14t + 21) ∗ dt = + 7t 2 + 10 = = 576.6667m
0 3 3
0

>> f=@(x) -x.^2+14*x+21;


>> q=quad(f,0,10)
q = 576.6667
Integrales dobles:
Queremos calcular una integral doble de la función f(x,y) en la región rectangular de
abscisas a y b y de ordenadas c y d, tal como se muestra en la figura
∫ba∫dcf(x,y)⋅dy⋅dx
MATLAB dispone de la función dblquad (se sustituye por integral2 en versiones más
recientes de MATLAB) que realiza esta tarea. Supongamos que queremos calcular la integral
doble
∫21∫30x2y⋅dy⋅dx
Creamos el script integral_doble, en el que definimos la función anónima f(x,y) y llamamos
a dblquad pasándole la función, los límites de integración de la variable x, y los límites de
integración de la variable y.
f=@(x,y) x.^2.*y;
res=dblquad(f,1,2,0,3);
fprintf('El valor de la integral es: %2.3f\n',res)
En la ventana de comandos corremos el script integral_doble
>> integral_doble
El valor de la integral es: 10.500
Integral definida:
π
Ejemplo.- Calcula la integral definida ∫0 (sen(y) − 5y 2 ) dy

Solucion:
>> syms y;
>> int(sin(y) − 5 ∗ y ∧ 2, 0, pi)
ans = 2 − (5 ∗ pi ∧ 3)/3
Si la variable x no esta definida como simbólica, utilizaríamos la siguiente sintaxis
int(′f ′ , x ′ , a, b)
Integral Impropias:
∞ sen(x)
Ejemplo.- Calcula la integral de primera especie ∫0 dx
x

Solución :
>> syms x;
>> f = sin(x)/x;
>> int(f, 0, inf)
ans = pi/2

Integral Numérica:
Regla de Trapecio
Ejemplo.- Calcula mediante la Regla del trapecio la integral
2
I1 = ∫0 e(cos(x 2 ))dx

Solución: Implementamos el código en un fichero (trapecio.m).


a = 0;
b = 2;
syms x;
f = exp(cos(x ∧ 2));
f a = subs(f, a);
f b = subs(f, b);

METODO DE NEWTON RAPSON EN MATLAB


También conocido como método de Newton-Fourier, este método es del tiempo”abierto” ya
que su convergencia no está garantizada y depende de una buena estimación inicial de la raíz
y de la naturaleza propia de la función f(x) sabiendo entonces que si la función presenta
varios punto de inflexión o pendientes muy grandes cerca de la raíz a encontrar entonces la
probabilidades de que el método finalmente diverja comienzan a aumentar. (CÉSAR, 2013)
Entonces sea f una función derivable que se encuentra definida en el intervalo real [a , b] y
n el conjunto de números naturales (1,2,3,4,5,6…) entonces partimos con un estimado
inicial Xo entonces, la ecuación propuesta en el método para las aproximaciones sucesivas
son:
𝑓(𝑥𝑛 )
𝑥𝑛+1 = 𝑥𝑛 −
𝑓′(𝑥𝑛)

Donde f’ representa la derivada de la función f, y, Xn+1 la aproximación más reciente a la


raíz buscada. (CÉSAR, 2013)
Resolución en Matlab
x0=input('Ingrese el valor inicial: ');
tol=input('Ingrese el porcentaje de error: ');
f=input('Ingrese la función: ');
i=1;
fx(i)=x0;

syms x;
f1=subs(f,x,fx(i));
z=diff(f);
d=subs(z,x,fx(i));

ea(1)=100;

while abs(ea(i))>=tol;
fx(i+1)=fx(i)-f1/d; f1=subs(f,x,fx(i+1)); d=subs(z,x,fx(i+1));
ea(i+1)=abs((fx(i+1)-fx(i))/fx(i+1)*100);
i=i+1;
end
fprintf('i fx(i) Error aprox (i) \n');
for j=1:i;
fprintf('%2d \t %11.7f \t %7.3f \n',j-1,fx(j),ea(j));
end (mas, 2013)
Inicialmente lo primero que se debe hacer (cómo siempre) es solicitar al usuario la entrada
de la función a la cual se le quiere calcular la raíz, recordando definir la variable X como
simbólica:

A continuación, aunque no es un paso necesario, siempre es bueno presentar una


visualización del comportamiento de la función, porque (cómo sabemos) la convergencia
de este método de otros por el estilo se mejora cuando la estimación es más aproximada a la
raíz real, en este caso hago un “break” en cuanto al método y le solicito al usuario un par de
límites es los que desee ver el comportamiento:

Continuando con la implementación del método y después de mostrar el comportamiento


de la curva, podemos solicitarle al usuario del programa que ingrese su estimación, a la que
llamaremos Xn y enseguida obtendremos la derivada de la función Y obviamente con
respecto a ‘x’ cómo lo vemos en el siguiente código:
Recordemos que, cómo la mayoría de métodos que hemos visto hasta ahora se basan en la
iteración y la estimación del error, pues Newton-Raphson no es la excepción y lo que
haremos a continuación será crear el ‘bucle’ en el que se llevará a cabo todo el proceso,
incluyendo obviamente la estimación del error ya que a su vez será nuestra condición de
parada del ciclo. (Entrada sobre cálculo del error en métodos numéricos en Matlab).
(Matlab, 2013)
Bibliografía
CÉSAR, J. (31 de 12 de 2013). EL BLOG DE PROGRAMACIÓN PARA INGENIERÍAS. Obtenido de EL
BLOG DE PROGRAMACIÓN PARA INGENIERÍAS:
https://blogdelingeniero1.wordpress.com/2013/12/31/metodo-de-newton-raphson-
newton-fourier-en-matlab/

mas, p. y. (Dirección). (2013). Método de Newton Raphson [Película].

Matlab. (2013). Obtenido de Matlab: http://www.sc.ehu.es/sbweb/energias-


renovables/MATLAB/numerico/integral/integral_1.html

wikipedia. (15 de 06 de 2013). wikipedia. Obtenido de http://es.wikibooks.org/wiki/Matlab

You might also like