**DESCARGAR**
videotutoriales de matlab, octave, numpy, python, POA, algoritmia, simulacion de procesos en ingenieria quimica, y algo de ingenieria quimica
martes, 23 de junio de 2015
martes, 17 de marzo de 2015
lunes, 12 de enero de 2015
Método de Regula Falsi en Matlab
Función principal
function []=regu_fal(x1, x2, n); fx1=f(x1); fx2=f(x2); c = x2 - ((f(x2)*(x2-x1))/(f(x2) - f(x1))) fc=f(c) if fx1*fx2<0; for i=1:n if fc<0 x1=c; fx1=f(x1); c = x1 - (fx1*(x1-x2)/(fx1-fx2)) fc = f(c) else x2=c; fx2=f(x2); c = x2 - (fx2*(x2-x1)/(fx2-fx1)) fc = f(c) end end else disp('Error en los Valores X1, X2'); end end
Ecuación a resolver.
function fx = f(x); fx = x^3-9*x+1; %% puedes cambiar por la funcion que gustes return;
martes, 30 de septiembre de 2014
Interpolacion por el Método de Newton
#include<stdio.h> #include<conio.h> #include<math.h> #include<process.h> #include<string.h> void main(){ int n; int i,j; float ax[10]; float ay[10]; float y=0; float x; float h; float p; float diff[20][20]; float y1,y2,y3,y4; printf("\n Numero de Terminos: "); scanf("%d",&n); printf("\n\n Valor de X: "); for(i=0;i<n;i++){ printf("\n\n Valor de x%d: ",i+1); scanf("%f",ax[i]); } printf("\n\n Valor de Y: "); for(j=0;j<n;j++){ printf("\n\n Valor de y%d: ",i+1); scanf("%f",ay[i]); } printf("\n Valor para x: "); printf("\n Valor para y: "); scanf("%f",&x); h = ax[1]-ax[0]; for(i=0;i<n-1;i++){ diff[i][1]=ay[i+1]-ay[i]; } for(j=2;j<=4;j++){ for(i=0;i<n-j;i++){ diff[i][j]=diff[i+1][j-1]-diff[i][j-1]; } } i=0; do{ i++; }while(ax[i]<x); i--; p=(x-ax[i])/h; y1= p*diff[i-1][1]; y2=p*(p+1)*diff[i-1][2]/2; y3=(p+1)*p*(p-1)*diff[i-2][3]/6; y4 = (p+2)*(p+1)*p*(p-1)*diff[i-3][4]/24; y =ay[i]+y1+y2+y3+y4; printf(" x= %6.4f, y= 6.4%f ",x,y); printf("\n\n\n Enter para Salir"); getch(); }
lunes, 29 de septiembre de 2014
Regresamos!!!!!
Regresamos con nuevos temas y metodologías
para postear en este blog.
En primer lugar dedicare el mes de octubre al Tema de interpolación, sus diferentes métodos y algoritmos
empleados, compartiendo los códigos como siempre y algunas aplicaciones.
Tratando de enfatizar en las aplicaciones.
Por lo que si alguien desea que se toque algún tema en específico,
puede postearlo en forma de comentario.
¿Qué es la interpolación?
La obtención de nuevos puntos partiendo del
conocimiento de un conjunto discreto de puntos.
En ingeniería
y algunas ciencias
es frecuente disponer de un cierto número de puntos obtenidos por muestreo o a partir de un experimento
y pretender construir una función que los ajuste.
Otro problema estrechamente ligado con el de la
interpolación es la aproximación de una función complicada por una
más simple. Si tenemos una función cuyo cálculo resulta costoso, podemos partir
de un cierto número de sus valores e interpolar dichos datos construyendo una
función más simple. En general, por supuesto, no obtendremos los mismos valores
evaluando la función obtenida que si evaluamos la función original, si bien
dependiendo de las características del problema y del método de interpolación
usado la ganancia en eficiencia puede compensar el error cometido.
Fuente:
jueves, 3 de julio de 2014
Newton-Raphson en C
#include<stdio.h> #include<string.h> #include<conio.h> #include<math.h> #include<process.h> #define f(x) 3*x -cos(x) -1 #define df(x) 3 -sin(x) void nwrap(); void main(){ printf("\n Solucion por el Método de Newton Raphson \n"); printf("\n F(x): "); printf("\n\t\t\t 3*x -cos(x) -1 = 0 \n\t"); nwrap(); getch(); } void nwrap(){ float x1,x0; float f1,f0; float df0; int i=0, itr=0; float TOL; float error; for(x1=0;;x1 +=0.01){ f1=f(x1); if (f1>0){ break; } } x0 = x1-0.01; f0 = f(x0); printf("Numero de Iteraciones: "); scanf("%d",&itr); printf("Tolerancia Maxima: "); scanf("%f",&TOL); if(fabs(f0)>f1){ printf("\n\t\t La raiz es: %0.4f\n",x1); } if(f1 > fabs(f(x0))){ printf("\n\t\t La raiz es: %0.4f\n",x1); } x0 = (x0+x1)/2; for(;i<=itr;i++){ f0=f(x0); df0=df(x0); x1 = x0 - (f0/df0); printf("\n\t\t iteracion %d aproximacion: %f",i,x1); error = fabs(x1-x0); if(error < TOL){ break; } x0 = x1; } if(error > TOL){ printf("\n\n\t Iteraciones No suficientes" ); } printf("\n\n\n\t\t\t--------------------------"); printf("\n\n\t\t Raiz: %0.4f ",x1); printf("\n\n\n\t\t\t--------------------------"); }
martes, 1 de julio de 2014
Método de Falsa Posicion en C
# include <stdio.h> # include <math.h> # include<conio.h> # include<string.h> # include<process.h> #define TOL 0.000005 #define f(x) 3*x+sin(x)-exp(x) void falsaposicion(); void main() { printf("\n Solucion por el metodo de Falsa posicion \n"); printf("\n La Ecuacion a resolver es: "); printf("\n\t\t\t 3*x+sin(x)-exp(x)= 0 \n\n"); falsaposicion(); } void falsaposicion(){ float f0,f1,f2; float x0,x1,x2; int itr; int i; printf("Numero Maximo de Iteracciones: "); scanf("%d",&itr); for(x1=0.0;;){ f1=f(x1); if (f1>0){ break; } else { x1 = x1+0.1; } } x0= x1-0.1; f0 = f(x0); printf("\n\t\t----------------------------------------"); printf("\n\t\t Iteraccion\t x\t\t F(X) \n"); printf("\n\t\t----------------------------------------"); for(i=0;i<itr;i++){ x2 = x0-((x1-x0)/(f1-f0))*f0; f2=f(x2); if(f0*f2>0){ x1=x2; f1=f2; } else { x0=x2; f0=f2; } if (fabs(f(2))>TOL){ printf("\n\t\t%d\t%f\t%f\n",i+1,x2,f2); } } printf("\t\t--------------------------------"); printf("\n\t\t\t Raiz= %f\n",x2); printf("\t\t------------------------------"); getch(); }
Suscribirse a:
Entradas (Atom)

