Ejemplo n.º 1
0
int main()
{
  
  
  //char filename[100]="new_data.dat";
  int i,j;
  float *FT;
  float *ThPh;
  float *G;
  float *Gt;
  float *A;
  float *F;
  float *t;
  float *b;
  float *L;
  float *Lu;
  float *J;
  float *M;
  FILE *am;
  float *datas1;
  float *theta;
  //char *datas="";
  char *punto1="punto4Cos.dat";
  F=malloc(sizeof(float)*1000);
  t=malloc(sizeof(float)*1000);
  theta=malloc(sizeof(float)*1000);
  Gt=malloc(sizeof(float)*1000*2);
  A=malloc(sizeof(float)*3*3);
  b=malloc(sizeof(float)*3);
  L=malloc(sizeof(float)*3*3);
  Lu=malloc(sizeof(float)*3*3);
  J=malloc(sizeof(float)*3);
  M=malloc(sizeof(float)*3);
  am=malloc(sizeof(char)*1000);
  G=malloc(sizeof(float)*2000);
  FT=ImportData("Efes.txt",1000,2);
    
  for(i=0;i<1000;i++)
    {
      t[i]=FT[2*i];
      F[i]=FT[2*i+1];
    }
  
   
  for(i=0;i<1000;i++)
    {
      for(j=0;j<2;j++)
	{
	  if(j==0)
	    {
	      G[i*3+j]=2*cos(t[i]);
	    }
	  else if(j==1)
	    {
	      G[i*3+j]=1;
	    }
	}
    }
  
  Gt=Transpose(G,1000,2);
 
  A=MatrixMultiplication(Gt,G,2,1000,1000,2);

  b=MatrixMultiplication(Gt,F,2,1000,1000,1);
 

  L=Cholesky(A,2);


  Lu=Transpose(L,2,2);
  
  J=SolverL(L,b,J,2);
  M=SolverU(Lu,J,M,2);
  printf("M\n");
    for (i=0;i<2;i++)
    { 
      printf("%f\n",M[i]);
    }    
  am=fopen(punto1,"a");
  if(!am)
    {
      printf("problem opening");
    }
    
  
  for(i=0;i<2;i++)
    {
      fprintf(am,"%f\t",M[i]);
    }
  fprintf(am,"\n");
  fclose(am);
  
    return 0;
}
int main()
{  
	int size=6;
	int dim,i,j;
	int a[6][6], b[6][6], result[6][6];

	printf("Please enter a dimension equal or less than 6: ");
	scanf("%5d",&dim);

	while(dim>6)
	{
		printf("Please reenter a dimension equal or less than 6: ");
		scanf("%5d",&dim);
	}
	//a

	printf("Please enter the values for matrix a:\n");

	for (i=0;i<dim;i++)
	{
		for (j=0;j<dim;j++)
		{
			printf("[i] [j] (seperate by hitting enter) = ");
			scanf("%5d",&a[i][j]);
		}
		
		printf("\n");
	}

		//b

	printf("Please enter the values for matrix b:\n");

	for (i=0;i<dim;i++)
	{
		for (j=0;j<dim;j++)
		{
			printf("[i] [j] (seperate by hitting enter) = ");
			scanf("%5d",&b[i][j]);
		}
		
		printf("\n");
	}

	//print a
	printf("Matrix a:\n");
	printMatrix(a, dim);

	//print b
	printf("Matrix b:\n");
	printMatrix(b, dim);

	//compute and print sum.
	printf("----------------------------------");

	printf("\nAddition a + b:\n\n");

	MatrixAddition(a,b,result,dim);

	printf("resulting matrix\n\n");

	printMatrix(result, dim);

	//compute and print difference between a and b meaning a - b
	printf("----------------------------------");

	printf("\nSubtraction a - b:\n\n");

	MatrixSubtraction(a,b,result,dim);

	printf("resulting matrix\n\n");

	printMatrix(result, dim);

		//compute and print difference between b and a meaning b - a
	printf("----------------------------------");

	printf("\nSubtraction b - a:\n\n");

	MatrixSubtraction(b,a,result,dim);

	printf("resulting matrix\n\n");

	printMatrix(result, dim);

	// multiplication for a * b.
	printf("----------------------------------");

	printf("\nMultiplication a * b:\n\n");
	MatrixMultiplication(a,b,result,dim);

	printf("resulting matrix\n\n");

	printMatrix(result,dim);

	// multiplication for b * a.
	printf("----------------------------------");

	printf("\nMultiplication b * a:\n\n");
	MatrixMultiplication(b,a,result,dim);

	printf("resulting matrix\n\n");

	printMatrix(result,dim);

	// Transpose Matrix a.
	printf("----------------------------------");

	printf("\nTransposing matrix a:");
	MatrixTranspose(a,result,dim);

	printf("resulting matrix\n\n");

	printMatrix(result,dim);

	// Transpose Matrix b.
	printf("----------------------------------");

	printf("\nTransposing matrix b:");
	MatrixTranspose(b,result,dim);

	printf("resulting matrix\n\n");

	printMatrix(result,dim);

	return 0;
}
Ejemplo n.º 3
0
int main(int argc, char **argv)
{
  
  
  //char filename[100]="new_data.dat";
  int i,j;
  float *YT;
  float *ThPh;
  float *G;
  float *Gt;
  float *A;
  float *Y;
  float *t;
  float *b;
  float *L;
  float *Lu;
  float *J;
  float *M;
  FILE *am;
  float *datas1;
  float *theta;
  char *datas="Theta_Phi.dat";
  char *punto1="punto4.dat";
  Y=malloc(sizeof(float)*38);
  t=malloc(sizeof(float)*38);
  theta=malloc(sizeof(float)*1000);
  Gt=malloc(sizeof(float)*38*2);
  A=malloc(sizeof(float)*3*3);
  b=malloc(sizeof(float)*3);
  L=malloc(sizeof(float)*3*3);
  Lu=malloc(sizeof(float)*3*3);
  J=malloc(sizeof(float)*3);
  M=malloc(sizeof(float)*3);
  am=malloc(sizeof(char)*1000);
  YT=ImportData("Efes.txt",39,2);
  
  datas1=ImportData(datas,1000,2);
  for(i=0;i<38;i++)
    {
      t[i]=YT[2*i];
      Y[i]=YT[2*i+1];
    }
  
  //printf("theta");
    for(i=0;i<100;i++)
    {
      theta[i]=datas1[2*i];
      //   printf("%f \n",theta[i]); 
    }
   
  for(i=0;i<38;i++)
    {
      for(j=0;j<3;j++)
	{
	  if(j==0)
	    {
	      G[i*3+j]=1;
	    }
	  else if(j==1)
	    {
	      G[i*3+j]=t[i];
	    }
	  else if(j==2)
	    {
	      G[i*3+j]=pow(t[i],2);
	    }
	}
    }

  Gt=Transpose(G,38,3);
 
  A=MatrixMultiplication(Gt,G,3,38,38,3);

  b=MatrixMultiplication(Gt,Y,3,38,38,1);
 

  L=Cholesky(A,3);


  Lu=Transpose(L,3,3);

  J=SolverL(L,b,J,3);
  M=SolverU(Lu,J,M,3);
  printf("M\n");
    for (i=0;i<3;i++)
    { 
      printf("%f\n",M[i]);
    }    
  am=fopen(punto1,"a");
  if(!am)
    {
      printf("problem opening");
    }
    
  
  for(i=0;i<3;i++)
    {
      fprintf(am,"%f\t",M[i]);
    }
  fprintf(am,"\n");
  fclose(am);
  
    return 0;
}