----- Forwarded Message ----
From: Jefferson Mendoza <[EMAIL PROTECTED]>
To: C++ <[email protected]>
Sent: Sunday, August 10, 2008 12:33:11 PM
Subject: What's wrong with my code? please help me


this code is used to write a finite differential equation....
example:

y ’’(x)+ y(x) = 0
y(0)=1 ; y'(0)=0

delta x = 0.01 ; x0= 0


At X0 = 0

y ’’(x) = - y(x) 
y ’’(0) = - y(0) 
         = -1


f ’( x + ∆x) =  f ’’(x)  ∆x + f ’(x)

f ’( 0 + 0.01) =  f ’’(0) * 0.01+ f ’(0)
f ’(0.01) =  - 0.01+ 0 
            =  - 0.01

f( x + ∆x) =  f ’(x)  ∆x + f(x)
f( 0+ 0.01) =  f ’(0) * 0.01+ f(0)
f (0.01) =   0  +  1 
            = 1


At X0 = 0.01
y ’’(0.01) = - y(0.01) 
y ’’(0.01) = - 1 

f ’( x + ∆x) =  f ’’(x)  ∆x + f ’(x)
f ’( 0.01 + 0.01) =  f ’’(0.01) * 0.01+ f ’(0.01)
f ’(0.02) =  - 0.01- 0.01 
            =- 0.02

f( x + ∆x) =  f ’(x)  ∆x + f(x)

f( 0.01 + 0.01) =  f ’(0.01) * 0.01+ f(0.01)
f (0.02) =   - 0.01 * 0.01  +  1 
           =    0.9999

and so on....


At X0 = 0.04
y ’’(0.04) = - y(0.04) 
y ’’(0.04) = - 0.9994001 


f ’( x + ∆x) =  f ’’(x)  ∆x + f ’(x)
f ’( 0.04 + 0.01) =  f ’’(0.04) * 0.01+ f ’(0.04)
f ’(0.05) =  (-0.9994001)* 0.01– 0.039996 
            = - 0.04995401


f( x + ∆x) =  f ’(x)  ∆x + f(x)

f( 0.04 + 0.01) =  f ’(0.04) * 0.01+ f(0.04)
f (0.05) =   - 0.039996 * 0.01 + 0.9994001 
           =    0.999


using finite DE
y (0..05) = 0.999
using analytical method
 
y (x) = cos x y(0.05) = cos (0.05) 
Y(0.05) = 0.99875

correct!!

when i make my source code, there are many errors.. please tell me what went 
wrong please.... this is my source code... 

#include<stdio.h>
    #include<conio.h>
    #include<stdlib.h>
    #include<string.h>

   #define xd 0.01



   int main()
   {
   int x2;
   int y0=1;
   int y1=0;




    float f1(float y1, float y0);
    float prog(void);
   char buff[BUFSIZ];

    printf("enter value of x:");
   x2 = atof(gets(buff));


    /* This is the main formula */

    float f1(float y1, float y0)
   { float ans1, ans2, ans3;

       ans1 = -y0;

      ans2 = (ans1 * xd) +  y1;

      ans3 = (y1 * xd) + y0;

   return ans3;
   }



    float prog()
        {

    float x1 = xd + x2;

        do    {
            z = f1(y1,y0);

        } while ( z >= x1 );

    return x1;
    }


      

[Non-text portions of this message have been removed]

Reply via email to