Showing posts with label Numeric. Show all posts
Showing posts with label Numeric. Show all posts

Wednesday, December 3, 2014

Numeric :Gauss Seidel

 

Gauss Seidel

 

#include<stdio.h>
int main()
{
 
    double a[50],b[50],c[50],X1,X2,X3,eax1,eax2,eax3,p,q,r;
    int i,n=4;
   // freopen("input.txt","r",stdin);
//printf("Enter length :");
//scanf("%d",&n);
//............................
printf("Enter 1st equation :");
for(i=0;i<n;i++)
{
scanf("%lf",&a[i]);
}
//..........................
printf("Enter 2nd equation :");
for(i=0;i<n;i++)
{
scanf("%lf",&b[i]);
}
//...........................
printf("Enter 3rd equation :");
for(i=0;i<n;i++)
{
scanf("%lf",&c[i]);
}
printf("ENter the value of X1 :");
scanf("%lf",&X1);
printf("ENter the value of X2 :");
scanf("%lf",&X2);
printf("ENter the value of X3 :");
scanf("%lf",&X3);
 
//...........................
X1=p;
X2=q;
X3=r;
 
 
X1=((a[3]-(a[2]*X2)-(a[1]*X3))/a[0]);
 
printf("X1 is %lf\n",X1);
 
X2=((b[3]-(b[2]*X3)-(b[0]*X1))/b[1]);
printf("X2 is %lf\n",X2);
 
X3=((c[3]-(c[1]*X2)-(c[0]*X1))/c[2]);
printf("X2 is %lf\n",X3);
//...........................
eax1=(((X1-p)/X1)*100);
eax2=(((X2-q)/X2)*100);
eax3=(((X3-r)/X3)*100);
printf("eax1=%.1lf\n",eax1);
printf("eax2=%.1lf\n",eax2);
printf("eax3=%.1lf\n",eax3);
return 0;
}

Tuesday, November 18, 2014

Numerical :Curve Fitting

 

Numerical :Curve Fitting

sample input

 

T

700

720

740

760

V

0.0977

0.12184

0.1406

0.15509

 

#include<stdio.h>
int main()
{
    float y[50],x[50],sumx=0,X,xx,sumxx=0,sumy=0,sumxy=0,xsum,ysum,a1,a0;
    int n;
printf("Enter the Range :");
scanf("%d",&n);
//....................................
printf("ENTER x =\n");
for(int i=0;i<n;i++)
{
    scanf("%f",&x[i]);
    sumx=sumx+x[i];
    sumxx=sumxx+(x[i])*(x[i]);
}
xsum=(sumx/n);
//....................................
printf("ENTER y =\n");
 
for(int i=0;i<n;i++)
{
    scanf("%f",&y[i]);
    sumy=sumy+y[i];
}
ysum=(sumy/n);
//.....................................
for(int i=0;i<n;i++)
{
    sumxy=sumxy+x[i]*y[i];
}
//.....................................
a1=((n*sumxy)-(sumx*sumy))/((n*sumxx)-((sumx)*(sumx)));
printf("a1=%f",a1);
a0=((ysum)-(a1*xsum));
printf("\n\na0=%f",a0);
printf("\n NOw ENTER the value of X :");
 
printf("\nY=a0+a1X=");
scanf("%f",&X);
xx=a0+a1*X;
printf("\nANS= %f",xx);
 
return 0;
 
}

NUmeric :LINEAR INTERPOLATION–QUADRATIC -LAGRANCE

NUmeric :LINEAR INTERPOLATION–QUADRATIC -LAGRANCE

sample input

T

700

720

740

760

V

0.0977

0.12184

0.1406

0.15509

 

//LINEAR INTERPOLATION
//QUADRATIC
//LAGRANCE
 
#include<stdio.h>
int main()
{
    double y[50],x[50],X,f1,f11,b2,f2,sum=0,G;
    int n,op;
printf("Enter the Range :");
scanf("%d",&n);
//....................................
printf("ENTER x =\n");
for(int i=0;i<n;i++)
{
    scanf("%lf",&x[i]);
}
//....................................
printf("ENTER y =\n");
 
for(int i=0;i<n;i++)
{
    scanf("%lf",&y[i]);
    //((y[2]-y[1])/(x[2]-x[1]));
}
printf("ENTER the value of X =\n");
scanf("%lf",&X);
//.....................................
    for(int i=0;i<n;i++)
    {    G=1;
        for(int j=0;j<n;j++)
        {
 
            if(i==j)
            {
                continue;
            }
            G=G*((X-x[j])/(x[i]-x[j]));
        }
        sum=sum+G*y[i];
    }
//.....................................
printf("\n\nEnter Your Option\n__________________________\n");
printf("1.lINEAR INTERPOLATION\n\n2.QUADRATIC\n\n3.LAGRANCE\n__________________________\n");
while(scanf("%d",&op)==1)
{
 
switch(op)
{
case 1:
f1=y[0]+(((y[1]-y[0])*(X-x[0]))/(x[1]-x[0]));
printf("LINEAR INTERPOLATION RESULT is = %lf\n\n",f1);
 
    break;
case 2:
    f11=y[0]+(((y[1]-y[0])*(X-x[0]))/(x[1]-x[0]));
    b2=((((y[2]-y[1])/(x[2]-x[1]))-((y[1]-y[0])/(x[1]-x[0])))/(x[2]-x[0]));
    f2=(f11+(b2*((X-x[0])*(X-x[1]))));
 
    printf("\nQUADRATIC RESULT is = %lf\n\n",f2);
    break;
case 3:
 
    printf("Lagrance RESULT is = %lf \n",sum);
 
    break;
default:
    printf("ERORR");
    break;
}
}
//.....................................
 
return 0;
 
}

Wednesday, November 12, 2014

Numerical Methods for Engineers (5th and 6th Edition)-Steven C Chapra & Raymond P.Canale (PDF BOOK) with (SOlution)

Numerical Methods for Engineers (5th and 6th Edition)-Steven C Chapra & Raymond P.Canale (PDF BOOK) with (SOlution)









                                 Download link->Numerical Methods for Engineers (6th Edition)

                                 Download link->Numerical Methods for Engineers (5th Edition)

                                               SOLUTION LINK (Numerica-3-4-5-6-9-11-13)




NUmeric :Secant Method code

 

Sample equation for Secant Method

where X-1=3

and x0=4 ;

F(x)=2x3-11.7x2+17.7x1-5

//scant method
#include<stdio.h>
#include<math.h>
#include<iostream>
using namespace std;
 
int main()
{
    float xi,Xii,newxi,Es,a[40],old=0,Ea;
    int n,K;
    cout<< "HIghest power in the equation : " ;
    cin>>n;
    //.........................................
    printf("Enter Xi =");
    scanf("%f",&xi);
    printf("Enter Xii =");
    scanf("%f",&Xii);
    printf("Enter Es =");
    scanf("%f",&Es);
    //..........................................
    printf("\n");
    printf("enter coefficient :\n");
    for (int i=n; i>=0; i--)
    {
        printf("X^%d =",i);
        scanf("%f",&a[i]);
    }
    //...........................................
    while(1)
    {
 
        float fxi=0,fXii=0;
//
       for (int i=n; i>=0; i--)
        {
             fxi=fxi+a[i]*pow(xi,i);
             fXii=fXii+a[i]*pow(Xii,i);
        }
 
        newxi=xi-((fxi*(Xii-xi))/(fXii-fxi));
 
 
//   printf("\n\n\nSTEP no: %d\n",K+1);
        printf("\nXi   =  %.2f",xi);
        printf("\nfxi  =  %.2f",fxi);
//
        printf("\nXii   =  %.2f",Xii);
        printf("\nfXii  =  %.2f",fXii);
//
        printf("\nnew Xi   =  %.2f",newxi);
//
        Ea=((newxi-old)/newxi)*100;
 
        old =newxi;
 
        //cout <<" now =" <<old;
        if(Ea<0)
        {
            Ea=Ea*(-1);
        }
        printf("\nEa= %f\n",Ea);
        if(Ea<Es)
        {
            break;
        }
        Xii=xi;
        xi=newxi;
 
        K++;
    }
    return 0;
}