Mostrando entradas con la etiqueta métodos numéricos con MATLAB. Mostrar todas las entradas
Mostrando entradas con la etiqueta métodos numéricos con MATLAB. Mostrar todas las entradas

lunes, 23 de noviembre de 2015

Algunas funciones útiles para manipular polinomios en MATLAB

El día de hoy les traigo algunas funciones que podrían serles de utilidad para implementar un método numérico en MATLAB.

La siguiente es una lista de funciones incorporadas para manipular polinomios, a menos que se especifique lo contrario, tanto la entrada como la salida de cada función es un vector de coeficientes que definen un polinomio en  potencias descendentes de la variable independiente.

Función
Descripción
conv
Calcular el polinomio resultante del producto de dos polinomios
deconv
Calcular el polinomio resultante de la división de dos polinomios
poly
Crear un polinomio con raíces especificas
polyder
Calcular el polinomio resultante al derivar un polinomio.
polyval
Evaluar un polinomio
 en un punto particular de x.

polyvalm
Evaluar una expresión polinómica de una matriz cuadrada A. Las potencias de A son evaluadas como productos matriz-matriz
Polyfit
Calcular los coeficientes de un polinomio
, de grado n, que se ajusta a un conjunto de mínimos cuadrados de los datos de  (x , y)
residue
Calcular la expansión de las fracciones parciales del radio de dos polinomios, o, dados los vectores conteniendo los residuos, polos y coeficientes directos, calcula el radio correspondiente de los polinomios.
roots
Encuentra las “n” raíces de un polinomio de grado n.

viernes, 13 de noviembre de 2015

Código en MATLAB para implementar el método de interpolación lineal.

Para implementar el método en MATLAB, se debe crear un script que contenga el siguiente código, este será el programa principal, en el cual se deben vaciar los valores de interés, este es el unico programa que se debe correr. El programa contiene los datos del problema que resolvimos en nuestra entrada "Métodos numéricos, ejemplo del método de aproximación lineal".

%Cienciaparacualquiera.blogspot.com
x=[1,4,5,7,9]
y=[2,4,6,7,10]
plot (x,y,'*r')
x0=0:0.1:10
P0=Metododeaproximacion(x,y,x0)
hold on
plot (x0,P0)
grid on
xlabel('x')
ylabel('y')

title('Plot using linear Interpolation method')

En un nuevo script, se debe vaciar el siguiente código, el cual contiene el método numérico, este programa no debe ser corrido, pero debes asegurarte de guardarlo en la misma carpeta que el script anterior.

function P0=Metododeaproximacion(x,y,x0)
s1=0;
s2=0;
s3=0;
p1=0;
p2=0;
p3=0;

for i=1:length(x)
    s1=(s1+(x(i))^2);
     s2=s2+(x(i));
     s3=s3+(x(i)*y(i));
end
s1=s1
s2=s2
s3=s3

for i=1:length(x)
    p1=p1+x(i);
    p2=(length(x));
    p3=p3+(y(i));
end
p1=p1;
p2=p2;
p3=p3;
a=(((p2*s3)-(p3*s2))/((p2*s1)-(s2*p1))) %"a" es el valor de la pendiente (a = slope value)
b=(((p1*s3)-(s1*p3))/((p1*s2)-(s1*p2)))
P0=((a.*x0)+(b))

PI=@(x0)(((a.*x0)+(b)))

Nota: El codigo aquí mostrado solo representa un esqueleto, si necesitas añadirle más funciones, eres libre de hacerlo.

Si quieres aprender más sobre el método, revisa la siguiente entrada
http://cienciaparacualquiera.blogspot.mx/2015/11/metodos-numericos-el-metodo-de.html