You are on page 1of 5

>> p=[5 0 0 6 7 3]

coeficientes ordenas de mayor a menor

vector filao columna con los

Un polinomio p se puede evaluar en Matlab en un punto, vector o matriz x;


utilizando el comando polyval:
y = polyval(p; x)
Por ejemplo:
>> p=[5 0 0 6 7 3];
>> x=[0:0.1:1];
>> px=polyval(p,x)
px =
Columns 1 through 8
3.0000 3.7601 4.6416 5.6522 6.8112 8.1563 9.7488 11.6803
Columns 9 through 11
14.0784 17.1125 21.0000 cada numero es la evalucion del punto en en el intervalo
de x=[0:0.1:1]; s quieres evaluar en un punto y no en un intervalo es
>> p=[5 0 0 6 7 3];
>> px=polyval(p,x)
Poniendo en valor de x en (q,x)
Para calcular las races osea el punto el que hace cero la funcin ,
r = roots(p)

ahora si queremos el polinomio p , y teniendo las races lo podemos sacr


mediante este comando p=poly(r)
>> p=[1 -2 1];
>> r=roots(p)

r=
1
1
>> q=poly(r);
>> q=poly(r)

q=

-2

>> p=poly(r)

p=

-2

Dos polinomios del mismo grado pueden ser sumados (o restados) de la misma
forma como se suman o restan vectores. Cuando los polinomios no tienen el mismo
grado se debe crear un vector auxiliar, que contenga el polinomio de menor grado
en la parte izquierda, y a la derecha se rellene con ceros hasta obtener la misma
dimensin del vector representante del polinomio de mayor grado. En nuestro caso,
esto se debe hacer de la siguiente forma:
>> s=[zeros(1,12) p]
s=
Columns
00000
Columns
00050

1 through 9
0000
10 through 18
0673

Para multiplicar polinomios utilizamos este comando

>> p=[1 -2 1];


>> q=[1 2 1];
>> t=conv(p,q)
t=

-2

Para utilizar esta funcin no es necesario que los polinomios p y q tengan


el mismo orden.
Los coeficieste de t-1=grado , grado de p + q
El grado de t es 22, que corresponde a la suma de los grados de p; q : 17; 5:
La divisin o deconvolucin de polinomios esta implementada en Matlab mediante
el comando deconv :
[d; r] = deconv(q; p)
DERIVADAS

La funcin diff permite el clculo de derivadas exactas:


syms x
f=exp(x)*sin(x)
fd=diff(f)
fd =exp(x)*sin(x)+exp(x)*cos(x)
subs(fd,1) % evaluando la derivada en x=1
ans =3.7560
INTERPOLACION DE LOS POLINOMIOS Y SU DERIVADA

Dados los siguientes puntos obtener la derivada a partir de un polinomio interpolante:


x=[0 0.1 0.2 0.4 0.5 0.55]
y=[1.12 1.28 1.55 1.88 1.77 1.66]
p=polyfit(x,y,length(x)-1) % length (x)-1 es el grado del polinomio
dp=polyder(p) % derivada de polinomio p que es resultado de la interpolacion
xi=[0 0.25 0.50] % Evaluar p(0) p(0.25) p(0.50) , aqu puedes poner solo un punto
dpxi=polyval(dp,xi)%evalua a xi

Obtener la derivada a partir de puntos calculados con una funcin:


%pruebadiff1.m
f=inline('x.^2.*exp(x)') % apararece f(X)= inline funtion /f(x), algo
a tomar en cuenta es como esta escrto la funcin 'x.^2.*exp(x)' , el
punto antes de elvarlo a algn exponente , ANTES DE DERIVAR PON EN EL
COMANDO WIN syms(x);
df=inline('(x.^2+2*x).*exp(x)')
x=0:0.25:1 %se evalua estos puntos
y=f(x) % ahora lo que sale de evaluar arriba son estos valores
p=polyfit(x,y,length(x)-1) % aqu se interpola con los resultados de x
e y , con el grado que correponde length(x)-1
dp=polyder(p) % aqu es conocido se deriva el polinomio que sale de la
interpolacion
xi=[0 0.25 0.50 0.8 1 1.1 1.2] % estos valores se evalan en el
polinomio son nuevos valores cabe recalcar
dpxi=polyval(dp,xi) % aqu se deriva la funcin p en en los puntos
xi q te dan .
dfxi=df(xi) %aqui se deriva la funcin f que esta arriba co los
valores de xi
err=abs(dpxi-dfxi)% se halla el error de los valores de las derivadas
de cada funcin
UN APUNTE EL COMANDO diff() se utiliza tb para derivada n-esimas asi
diff('funcin', derivada n-esima), por ejemplo
si tienes f(x)=3x
entonces
diff('3x') sera la primera derivada
diff('3x', 2) segunda derivdada
puedes escribir la funcion sin apostrofes pero tendras que declarar la variable simblica x
as
syms x

Uso de formulas de diferenciacin de dos puntos


%pruebadiff2.m
f=inline('x.^2.*exp(x)')
df=inline('(x.^2+2*x).*exp(x)')
x=1
h=0.1
dfa=(f(x+h)-f(x))/h % esta es la formula de la derivada
dfe=df(x) % evalua a x que esta como dato
err=abs(dfe-dfa) % se calcula el error
Probar para diferentes valores de h=0.1, 0.01, 0.001 hasta encontrar
el h critico donde el error empieza ha aumentar.

(f(x+h)-f(x))/(h)
Ahora cuando te piden derivada central solo cambias por esta

(f(x+h)-f(x-h))/(2h)

Para la segunda derivada

Hacia adelante (f(x+2*h)-2*f(x+h)+f(x))/(h.^2)


Central (f(x+h)-2*f(x)+f(x-h))/(h.^2)
INTEGRALES
INT, INDEFINIDAS

Se utiliza el comando int.


Ejemplo:
syms t % variable simblica
f=inline(cos(x)*exp(x));
int(f(t),t) % HASTA AQU ESTA BIEN HECHO
pretty(ans) % reescribimos la solucion de forma elegante
INTEGRALES DEFINIDAS

y para la integral definida


int(f,a,b) , donde a,b se sobreentienden como los lmites de integracin

La misma instruccin, int, permite realizar la integracin definida. A modo de


Ejemplo:
int((t^2+4*t)/(t^4-2*t^2+1),t,2,5) %da lo mismo poner el t
ans =13/16+1/4*log(2)
double(ans) % calculando ans
ans = 0.9858
ahora para obviar pasos exste el comando quad ;
que te da la integral en forma numrica
f=inline('exp(x).*sin(x)')% aqu ese punto es importante depues de exp(x) se pone un
punto si se multiplica tambin en este caso f=inline('x.^2.*exp(x)')
I=quad(f,1,2)
I = 4.4875

f1=inline('exp(x).*(x.^2+2*x)')
h=1
Ie=exp(1) % es la integral exacta como hallar en la calculadora . ojo es el resultado
de la integral es e=2.71 en Matlab es exp(1)
I=h/2*(f1(0)+f1(1)) % esta es la integral pero utilizando la formula del trapecio el
h=1 q ya esta arriba
I = 4.0774
err=abs(Ie-I) % este es el error
err = 1.3591

Para los ejemplos de la gua n=1;

You might also like