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();
			}

domingo, 29 de junio de 2014

Método de Bisección en C, Usando funciones

# include<stdio.h>
# include<conio.h>
# include<math.h>
# include<process.h>
# include<string.h>
# define TOL 0.000001
# define F(x) (x)*log10(x) - 1.2

void Bisect();
int i=1, n;
float raiz = 1;

void main(){
 printf("\n Solucion por el Metodo de Biseccion \n");
 printf ("\n La ecuacion es: ");
 printf("\n\t\t\t (x)*log10x) -1.2 = 0 \n\n");
 printf("Numero Maximo de Iteracciones: ");
 scanf ("%d",&n);
 Bisect();
}
void Bisect(){
 float x1,x2,x0;
 float f0,f1,f2;
 int j=0;
  for (x2=1;;x2++){
   f2 = F(x2);
   if(f2 >0){
    break;
   }
   
  }
  for (x1=x2-1;;x2--){
   f1 = F(x1);
   if(f1<0){
    break;
   }
  }
printf ("\t\t------------------------------------\t\t");
printf ("\n\t\t Iteracion                 Raiz \n");
printf("\t\t-------------------------------------\t\t");
 for (;i<=n;i++){
  x0 = (x1+x2)/2.0;
  f0 = F(x0);
    if (f0==0){
     raiz = x0;
    }
  if(f0*f1<0){
   x2=x0;
  }
     else{
      x1 = x0;
      f1= f0;
     }
  printf("\n\t\t Iteracion %d ", i);
  printf("\t  :\t %f", x0);
  if(fabs((x1-x2)/x1) < TOL ){
  printf("\n\t\t ------------------------------------");
    printf("\n\t\t Raiz = %f",x0);
 printf("\n\t\t Iteracion = %d\n",i);
 printf("\t\t-------------------------------------");
 getch(); 
   exit(0);
   }
  }
printf("\n\t\t---------------------------------------");
printf("\n\t\t\t Raiz = %7.5f",x0);
printf("\n\t\t\t Iteracion = %d\n", i-1);
printf("\t\t-----------------------------------------");
 
getch();
}
Ejecutando:

martes, 17 de junio de 2014










Avogadro es un programa para dibujar estructuras moleculares realizando enlaces químicos, se pueden visualizar en 3D rotando la estructura, cambiando la perspectiva visual, y haciéndola girar en cualquier sentido y dirección sólo con los movimientos del ratón. Las vistas de las estructuras moleculares son espectaculares.




lunes, 5 de mayo de 2014

'Kalzium' un gran Software de GNU para estudiantes de Quimica




Kalzium proporciona todo tipo de información sobre la tabla periódica de los elementos. Puede obtener abundante información sobre los elementos, además de utilizar distintos modos de visualización para mostrarlos. Es libre y está sujeto a los términos de la licencia pública GNU.

Puede visualizar la tabla periódica de los elementos por grupos, bloques y familias. Puede visualizar gráficos de datos de las propiedades de un grupo de elementos, como su punto de ebullición o su masa atómica. Puede viajar atrás en el tiempo para ver qué elementos eran conocidos en una fecha determinada. También puede calcular masas moleculares.

GUIA DESCARGA WINDOWS