q-basic numerical analysis programs

54
Kurdistan Region-Iraq Sulaimani University College of Science Physics Department Numerical Analysis Programs Using Q-basic (2009) Prepared by Dr. Omed Gh. Abdullah

Upload: omed-ghareb

Post on 10-Apr-2015

1.137 views

Category:

Documents


22 download

DESCRIPTION

The Q-Basic programs for some Numerical Method in: Solution of Non-Linear Equation, Interpolation, Line and Curve Fitting, Numerical Integration, Numerical Differentiation, and Solution of Differential Equations.

TRANSCRIPT

Page 1: Q-basic Numerical Analysis Programs

Kurdistan Region-Iraq Sulaimani University College of Science Physics Department

Numerical Analysis Programs Using Q-basic

(2009)

Prepared by Dr. Omed Gh. Abdullah

Page 2: Q-basic Numerical Analysis Programs

Problem: Write a program in Q-basic to solve the equation below, by using bi-section method:

1.09.0)( 2 −+= xxxf , ]1,0[ , 0001.0=e :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: CLS DEF fnf (x) = x * x + .9 * x - .1 READ a, b, e DATA 0,1,0.0001 5 c = (a + b) / 2 PRINT c f1 = fnf(a): f2 = fnf(b): f3 = fnf(c) IF f1 * f3 = 0 THEN 25 IF f2 * f3 = 0 THEN 25 IF f1 * f3 < 0 THEN 10 a = c GOTO 15 10 b = c 15 IF ABS(a - b) < e THEN 25 GOTO 5 25 PRINT "The root is:", c END

Page 3: Q-basic Numerical Analysis Programs

Problem: Write the program in Q-basic to find the root of the function below by using false position method:

1)log()( −= xxxf , ]2,1[ , 0001.0=e ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: CLS DEF fnf (x) = x * LOG(x) - 1 READ a, b, e DATA 1,2,0.0001 c0 = b f1 = fnf(a): f2 = fnf(b) 5 c = (a * f2 - b * f1) / (f2 - f1) PRINT c f3 = fnf(c) IF f1 * f3 = 0 THEN 25 IF f2 * f3 = 0 THEN 25 IF f1 * f3 < 0 THEN 15 a = c: f1 = f3 GOTO 20 15 b = c: f2 = f3 20 IF ABS(c - c0) < e THEN 25 c0 = c GOTO 5 25 PRINT "The root is:", c END

Page 4: Q-basic Numerical Analysis Programs

Problem: Write a program in Q-basic by using secand method to find the root of:

23)( 3 +−= xxxf , ]6.2,4.2[ −− , 005.0=e ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: CLS DEF fnf (x) = x ^ 3 - 3 * x + 2 READ a, b, e DATA -2.4,-2.6,0.005 f1 = fnf(a) 10 f2 = fnf(b) c = (a * f2 - b * f1) / (f2 - f1) PRINT c f3 = fnf(c) IF ABS(a - b) < e THEN 25 a = b: b = c: f1 = f2 GOTO 10 25 PRINT "The root is:", c END

Page 5: Q-basic Numerical Analysis Programs

Problem: Write a program in Q-basic to find the root of the function below, by using Newton-Raphson method:

)sin(4)( 2 xxxf −= , 3=οx , 005.0=e :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: CLS READ x0, e DATA 1,0.0001 DEF fnf (x) = x ^ 2 - 4 * SIN(x) DEF fng (x) = 2 * x - 4 * COS(x) 5 x1 = x0 - (fnf(x0) / fng(x0)) PRINT x1 IF ABS(x1 - x0) < e THEN 25 x0 = x1: GOTO 5 25 PRINT "The root is:", c END

Page 6: Q-basic Numerical Analysis Programs

Problem: Write a program in Q-basic to find the root of the function below, by using iteration method:

32)( 2 −−= xxxf , 4=οx , 001.0=e ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: CLS READ x0, e DATA 4,.001 DEF fnf (x) = SQR(2 * x + 3) 5 x1 = fnf(x0) PRINT x1 IF ABS(x1 - x0) < e THEN 25 x0 = x1: GOTO 5 25 PRINT "The root is:", x1 END

Page 7: Q-basic Numerical Analysis Programs

Problem: Write a program in Q-basic to find the root of the following system, by using iterative method:

7)( 2 −−= xyxxf , ( ) ( )4,3, =οο yx , 001.0=e xyxxf −+= 2)( 2

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: CLS READ x0, y0, e DATA 3,4,.001 DEF fnf (x, y) = SQR(x * y + 7) DEF fng (x, y) = SQR(2 * y + x) 10 x1 = fnf(x0, y0) 20 y1 = fng(x0, y0) PRINT x1, y1 IF ABS(x1 - x0) < e AND ABS(y1 - y0) < e THEN 25 x0 = x1 y0 = y1: GOTO 10 25 PRINT "x1="; x1 PRINT "y1="; y1 END

Page 8: Q-basic Numerical Analysis Programs

Problem: Write a program in Q-basic to find the root of the function below, by using itiken method:

2)( 2 −−= xxxf , 3=οx , 001.0=e :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: CLS READ x0, e DATA 3,.001 DEF fnf (x) = 1 + 2 / x 10 x1 = fnf(x0) x2 = fnf(x1) x3 = fnf(x2) PRINT x0, x1, x2 xx = x2 - ((x2 - x1) ^ 2 / (x2 - 2 * x1 + x0)) PRINT xx IF ABS(xx - x0) < e THEN 25 x0 = xx: GOTO 10 25 PRINT "The root is:"; xx END

Page 9: Q-basic Numerical Analysis Programs

Problem: Write a program in Q-basic to solve the system, by using Gauss elimination:

5294 321 =+− xxx 3642 321 =+− xxx

43 321 =+− xxx ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: CLS n = 3: m = n + 1 DIM a(n, m), x(n) FOR i = 1 TO n FOR j = 1 TO m READ a(i, j) DATA 4,-9,2,5,2,-4,6,3,1,-1,3,4 NEXT j NEXT i FOR k = 1 TO n - 1 FOR i = k + 1 TO n b = a(i, k) / a(k, k) FOR j = 1 TO m a(i, j) = a(i, j) - a(k, j) * b NEXT j NEXT i NEXT k x(n) = a(n, m) / a(n, n) FOR i = n - 1 TO 1 STEP -1 s = 0 FOR j = n TO i + 1 STEP -1 s = s + a(i, j) * x(j) NEXT j x(j) = (a(i, m) - s) / a(i, i) NEXT i FOR i = 1 TO n PRINT x(i) NEXT i END

Page 10: Q-basic Numerical Analysis Programs

Problem: Write a program in Q-basic to solve the system, by using Gauss Jorden method:

131 =+ xx 121 =+ xx 132 =+ xx

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: CLS n = 3: m = n + 1 DIM a(n, m), x(n) FOR i = 1 TO n FOR j = 1 TO m READ a(i, j) DATA 1,0,1,1,1,1,0,1,0,1,1,1 NEXT j NEXT i FOR k = 1 TO n - 1 FOR i = k + 1 TO n b = a(i, k) / a(k, k) FOR j = 1 TO m a(i, j) = a(i, j) - a(k, j) * b NEXT j NEXT i NEXT k FOR k = n TO n - 1 STEP -1 FOR i = k - 1 TO 1 STEP -1 b = a(i, k) / a(k, k) FOR j = m TO 1 STEP -1 a(i, j) = a(i, j) - a(k, j) * b NEXT j NEXT i NEXT k FOR i = 1 TO n x(i) = a(i, m) / a(i, i) PRINT x(i) NEXT i

Page 11: Q-basic Numerical Analysis Programs

Problem: Write a program in Q-basic to solve the system, by using Jaccobi method:

1210 321 =++ xxx 1210 321 =++ xxx 1210 321 =++ xxx

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: CLS READ n, e DATA 3,0.00001 DIM a(n, n), b(n), x(n), y(n) FOR i = 1 TO n FOR j = 1 TO n READ a(i, j) DATA 10,1,1,1,10,1,1,1,10 NEXT j NEXT i FOR i = 1 TO n READ b(i) DATA 12,12,12 NEXT i FOR i = 1 TO n y(i) = 0 NEXT i 5 FOR i = 1 TO n s = 0: d = 0 FOR j = 1 TO n IF i = j THEN 7 s = s + a(i, j) * y(j) 7 NEXT j x(i) = (b(i) - s) / a(i, i) PRINT x(i) d = d + ABS(x(i) - y(i)) NEXT i IF d < e THEN 2 FOR i = 1 TO n y(i) = x(i) NEXT i GOTO 5 2 PRINT FOR i = 1 TO n PRINT x(i) NEXT i END

Page 12: Q-basic Numerical Analysis Programs

Problem: Write a program in Q-basic to solve the system, by using Gauss Seidel method:

1210 321 =++ xxx 1210 321 =++ xxx 1210 321 =++ xxx

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: CLS READ n, e DATA 3,0.00001 DIM a(n, n), b(n), x(n), y(n) FOR i = 1 TO n FOR j = 1 TO n READ a(i, j) DATA 10,1,1,1,10,1,1,1,10 NEXT j NEXT i FOR i = 1 TO n READ b(i) DATA 12,12,12 NEXT i FOR i = 1 TO n y(i) = 0 NEXT i 5 FOR i = 1 TO n s1 = 0: s2 = 0 FOR j = 1 TO n IF i = j THEN 2 IF i < j THEN s1 = s1 + a(i, j) * y(j) IF i > j THEN s2 = s2 + a(i, j) * x(j) 2 NEXT j s = s1 + s2 x(i) = (b(i) - s) / a(i, i) NEXT i d = 0 FOR i = 1 TO n d = d + ABS(x(i) - y(i)) NEXT i IF d < e THEN 3 FOR i = 1 TO n y(i) = x(i) NEXT i

Page 13: Q-basic Numerical Analysis Programs

GOTO 5 3 PRINT FOR i = 1 TO n PRINT x(i) NEXT i END

Page 14: Q-basic Numerical Analysis Programs

Problem: Write a program to find the interpolated value for 3=x , using Lagrangian Polynomial, from the following data.

X 3.2 2.7 1 4.8 F(x) 22 17.8 14.2 38.3

REM "Lagrange Interpolation" CLS DIM x(100), y(100) INPUT "No. of pairs"; n INPUT "x="; x FOR k = 0 TO n - 1 READ x(k), y(k) NEXT k DATA 3.2,22,2.7,17.8,1,14.2,4.8,38.3 sum = 0 FOR i = 0 TO n - 1 prod = 1 FOR k = 0 TO n - 1 IF i = k THEN 5 prod = prod * (x - x(k)) / (x(i) - x(k)) 5 NEXT k sum = sum + prod * y(i) NEXT i PRINT "x="; x; "y="; sum END ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ No. of Pairs? 4 X=? 3 X=3 y=20.21196

Page 15: Q-basic Numerical Analysis Programs

Problem: Write a program to find the Lagrangian Polynomial. REM "Lagrange Polynomial" CLS DIM x(10), y(10) INPUT "No. of pairs"; n FOR k = 1 TO n READ x(k), y(k) NEXT k DATA 3,9,5,35,8,119,10,205 DIM a(10), b(10), c(10), xx(10, 10), s(10) FOR i = 1 TO n prod = 1 FOR k = 1 TO n IF i = k THEN 5 prod = prod * 1 / (x(i) - x(k)) 5 NEXT k s(i) = prod * y(i) PRINT "------------------" PRINT s(i) NEXT i FOR k = 1 TO n FOR m = 1 TO n IF k = m THEN 4 xx(k, m) = x(m) GOTO 2 4 xx(k, m) = 0 2 NEXT m NEXT k FOR i = 1 TO n a = 0 FOR j = 1 TO n a = a + xx(i, j) 6 NEXT j a(i) = -1 * a NEXT i FOR i = 1 TO n b = 0 FOR j = 1 TO n - 1 FOR k = j + 1 TO n b = b + xx(i, j) * xx(i, k) NEXT k NEXT j b(i) = b

Page 16: Q-basic Numerical Analysis Programs

NEXT i FOR i = 1 TO n c = 0 FOR j = 1 TO n FOR k = j + 1 TO n FOR l = k + 1 TO n c = c + xx(i, j) * xx(i, k) * xx(i, l) NEXT l NEXT k NEXT j c(i) = -1 * c NEXT i PRINT "------------------" FOR i = 1 TO n PRINT a(i), b(i), c(i) NEXT i a1 = 0: a2 = 0: a3 = 0: a4 = 0 FOR i = 1 TO n a1 = a1 + s(i) a2 = a2 + s(i) * a(i) a3 = a3 + s(i) * b(i) a4 = a4 + s(i) * c(i) NEXT i PRINT : PRINT PRINT "Lagrange Polynomial is:" PRINT "--------------------------------": PRINT IF n = 2 THEN PRINT "P(x)=("; a1; "x)+("; a2; ")" IF n = 3 THEN PRINT "P(x)=("; a1; "x^2)+("; a2; "x)+("; a3; ")" IF n = 4 THEN PRINT "P(x)=("; a1; "x^3)+("; a2; "x^2)+("; a3; "x)+("; a4; ")" PRINT END 20 FOR i = 1 TO n INPUT "x="; t p = a1 * t ^ 3 + a2 * t ^ 2 + a3 * t + a4 PRINT "p(x)="; p NEXT i END ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Page 17: Q-basic Numerical Analysis Programs

Problem: Write a program to compute the divided difference table, from the tabulated data.

X 1 2 3 4 5 F(x) 0 1 4 6 10

REM "divided differences" DIM x(10), y(10) CLS INPUT "No. of data=", n FOR i = 1 TO n READ x(i), y(i) NEXT i DATA 1,0,2,1,3,4,4,6,5,10 PRINT "x:" FOR i = 1 TO n PRINT x(i), NEXT i PRINT PRINT "y:" FOR j = 1 TO n PRINT y(j), NEXT j PRINT FOR i = 1 TO n - 1 PRINT SPC(5 * i); FOR j = 1 TO n - i y(j) = (y(j + 1) - y(j)) / (x(j + i) - x(j)) PRINT y(j); SPC(10); NEXT j PRINT NEXT i END ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Page 18: Q-basic Numerical Analysis Programs

Problem: Write a program to find the interpolated value for 5.1=x , using divided difference form, for these tabulated data.

X 1 2 3 4 5 F(x) 0 1 4 6 10

REM "Newton Interpolation Divided Differences" DIM x(10), y(10), d(10, 10) CLS INPUT "No. of data=", n INPUT "x="; x FOR i = 1 TO n READ x(i), y(i) NEXT i DATA 1,0,2,1,3,4,4,6,5,10 PRINT "x:" FOR i = 1 TO n PRINT x(i), NEXT i PRINT PRINT "y:" FOR j = 1 TO n PRINT y(j), NEXT j s = y(1) FOR i = 1 TO n - 1 PRINT SPC(5 * i); FOR j = 1 TO n - i y(j) = (y(j + 1) - y(j)) / (x(j + i) - x(j)) d(i, j) = y(j) PRINT y(j); SPC(10); NEXT j PRINT NEXT i FOR i = 1 TO n p = 1 FOR j = 1 TO i p = p * (x - x(j)) NEXT j PRINT p, d(i, 1) s = s + d(i, 1) * p NEXT i

Page 19: Q-basic Numerical Analysis Programs

PRINT "x="; x, "y="; s END ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Y=-.171875

Page 20: Q-basic Numerical Analysis Programs

Problem: Write a program to find the interpolated value for 4.3=x , using Newton forward method, for these tabulated data.

X 1 2 3 4 5 F(x) 13 15 12 9 13

REM "Newton Forward Interpolation" DIM x(10), y(10), d(10, 10) CLS INPUT "No. of data=", n INPUT "x="; x FOR i = 1 TO n READ x(i), y(i) NEXT i DATA 1,13,2,15,3,12,4,9,5,13 PRINT "x:" FOR i = 1 TO n PRINT x(i), NEXT i PRINT PRINT "y:" FOR j = 1 TO n PRINT y(j), NEXT j s = y(1) FOR i = 1 TO n - 1 PRINT SPC(6 * i); FOR j = 1 TO n - i y(j) = (y(j + 1) - y(j)) d(i, j) = y(j) PRINT y(j); SPC(10); NEXT j PRINT NEXT i k = (x - x(1)) / (x(2) - x(1)) FOR i = 1 TO n - 1 p = 1 FOR j = 0 TO i - 1 p = p * (k - j) NEXT j f = 1 FOR j = 1 TO i: f = f * j: NEXT j

Page 21: Q-basic Numerical Analysis Programs

s = s + d(i, 1) * p / f NEXT i PRINT : PRINT "x="; x, "y="; s END ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Y= 10.4528

Page 22: Q-basic Numerical Analysis Programs

Problem: Write a program to find the interpolated value for 6.3=x , using Newton backward method, for these tabulated data.

X 1 2 3 4 5 F(x) 10 -9 -36 -41 30

REM "Newton Backward Interpolation" DIM x(10), y(10), d(10, 10) CLS INPUT "No. of data=", n INPUT "x="; x FOR i = 1 TO n READ x(i), y(i) NEXT i DATA 1,10,2,-9,3,-36,4,-41,5,30 PRINT "x:" FOR i = 1 TO n PRINT x(i), NEXT i PRINT PRINT "y:" FOR j = 1 TO n PRINT y(j), NEXT j s = y(n) FOR i = 1 TO n - 1 PRINT SPC(6 * i); FOR j = 1 TO n - i y(j) = (y(j + 1) - y(j)) d(i, j) = y(j) PRINT y(j); SPC(10); NEXT j PRINT NEXT i k = (x - x(n)) / (x(2) - x(1)) FOR i = 1 TO n - 1 p = 1 FOR j = 0 TO i - 1 p = p * (k + j) NEXT j f = 1 FOR j = 1 TO i: f = f * j: NEXT j

Page 23: Q-basic Numerical Analysis Programs

s = s + d(i, n - i) * p / f PRINT p, d(i, n - i) NEXT i PRINT : PRINT "x="; x, "y="; s END ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Y=-44.5584

Page 24: Q-basic Numerical Analysis Programs

Problem: Write a program to determine the parameters 1a & 2a so that

xaaxf 21)( += , fits the following data in least squares sense.

X 0 0.3 0.6 0.9 1.2 1.5 1.8 2.1 y 1 2.7 4.3 6 7.5 9 10.6 12

REM "List Square Fitting" CLS DIM x(15), y(15) INPUT "No. of Data=", n FOR j = 1 TO n READ x(j), y(j) NEXT j DATA 0,1,.3,2.7,.6,4.3,.9,6,1.2,7.5,1.5,9,1.8,10.6,2.1,12 PRINT "x:" FOR i = 1 TO n PRINT x(i), NEXT i PRINT PRINT "y:" FOR j = 1 TO n PRINT y(j), NEXT j sx = 0: sxx = 0: sy = 0: sxy = 0 FOR i = 1 TO n sx = sx + x(i) sy = sy + y(i) sxx = sxx + x(i) ^ 2 sxy = sxy + x(i) * y(i) NEXT i PRINT PRINT "sx="; sx PRINT "sxx"; sxx PRINT "sy="; sy PRINT "sxy="; sxy d = n * sxx - sx ^ 2 a1 = (sxx * sy - sx * sxy) / d a2 = (n * sxy - sx * sy) / d PRINT "a1="; a1 PRINT "a2="; a2 s = 0 FOR i = 1 TO n

Page 25: Q-basic Numerical Analysis Programs

f(i) = a1 + a2 * x(i) s = s + (y(i) - f(i)) ^ 2 NEXT i PRINT "Standard Deviation=", s END ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ sx=8.4 sxx=12.6 sy=53.1 sxy=75.57 a1=1.133333 a2=5.242064 Standard deviation = 6.726178 E -02

Page 26: Q-basic Numerical Analysis Programs

Problem: Write a program to determine the parameters A & B so that

BxAxf += )ln()( , fits the following data in least squares sense.

X 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 y 0.27 0.72 1.48 2.66 4.48 7.26 11.43 17.64 26.78

REM "List Square Fitting" CLS DIM x(15), y(15) INPUT "No. of Data=", n FOR j = 1 TO n READ x(j), y(j) NEXT j DATA .1,.27,.2,.72,.3,1.48,.4,2.66,.5,4.48,.6,7.26,.7,11.43,.8,17.64,.9,26.78 PRINT "x:" FOR i = 1 TO n PRINT x(i), NEXT i PRINT PRINT "y:" FOR j = 1 TO n PRINT y(j), NEXT j sx = 0: sxx = 0: sy = 0: sxy = 0 FOR i = 1 TO n sx = sx + LOG(x(i)) sy = sy + y(i) sxx = sxx + LOG(x(i)) ^ 2 sxy = sxy + LOG(x(i)) * y(i) NEXT i PRINT PRINT "sx="; sx PRINT "sxx"; sxx PRINT "sy="; sy PRINT "sxy="; sxy d = n * sxx - sx ^ 2 a1 = (sxx * sy - sx * sxy) / d a2 = (n * sxy - sx * sy) / d a = a2 b = a1 PRINT "A="; a

Page 27: Q-basic Numerical Analysis Programs

PRINT "B="; b s = 0 FOR i = 1 TO n f(i) = a * LOG(x(i)) + b s = s + (y(i) - f(i)) ^ 2 NEXT i PRINT "Standard Deviation=", s END ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ A=9.74113 B=16.66255 S=260.5141

Page 28: Q-basic Numerical Analysis Programs

Problem: Write a program to determine the parameters A & C so that

xAeCxf =)( , fits the following data in least squares sense.

X 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 y 0.27 0.72 1.48 2.66 4.48 7.26 11.43 17.64 26.78

REM "List Square Fitting" CLS DIM x(15), y(15) INPUT "No. of Data=", n FOR j = 1 TO n READ x(j), y(j) NEXT j DATA .1,.27,.2,.72,.3,1.48,.4,2.66,.5,4.48,.6,7.26,.7,11.43,.8,17.64,.9,26.78 PRINT "x:" FOR i = 1 TO n PRINT x(i), NEXT i PRINT PRINT "y:" FOR j = 1 TO n PRINT y(j), NEXT j sx = 0: sxx = 0: sy = 0: sxy = 0 FOR i = 1 TO n sx = sx + x(i) sy = sy + LOG(y(i)) sxx = sxx + x(i) ^ 2 sxy = sxy + x(i) * LOG(y(i)) NEXT i PRINT PRINT "sx="; sx PRINT "sxx"; sxx PRINT "sy="; sy PRINT "sxy="; sxy d = n * sxx - sx ^ 2 a1 = (sxx * sy - sx * sxy) / d a2 = (n * sxy - sx * sy) / d a = a2 c = EXP(a1) PRINT "A="; a

Page 29: Q-basic Numerical Analysis Programs

PRINT "C="; c s = 0 FOR i = 1 TO n f(i) = c * EXP(a * x(i)) s = s + (y(i) - f(i)) ^ 2 NEXT i PRINT "Standard Deviation=", s END ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ A= 5.512738 C= .2359106 S=52.53117

Page 30: Q-basic Numerical Analysis Programs

Problem: Write a program to determine the parameters A & C so that

AxCxf =)( , fits the following data in least squares sense. X 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 y 0.27 0.72 1.48 2.66 4.48 7.26 11.43 17.64 26.78 REM "List Square Fitting" CLS DIM x(15), y(15) INPUT "No. of Data=", n FOR j = 1 TO n READ x(j), y(j) NEXT j DATA .1,.27,.2,.72,.3,1.48,.4,2.66,.5,4.48,.6,7.26,.7,11.43,.8,17.64,.9,26.78 PRINT "x:" FOR i = 1 TO n PRINT x(i), NEXT i PRINT PRINT "y:" FOR j = 1 TO n PRINT y(j), NEXT j sx = 0: sxx = 0: sy = 0: sxy = 0 FOR i = 1 TO n sx = sx + LOG(x(i)) sy = sy + LOG(y(i)) sxx = sxx + LOG(x(i)) ^ 2 sxy = sxy + LOG(x(i)) * LOG(y(i)) NEXT i PRINT PRINT "sx="; sx PRINT "sxx"; sxx PRINT "sy="; sy PRINT "sxy="; sxy d = n * sxx - sx ^ 2 a1 = (sxx * sy - sx * sxy) / d a2 = (n * sxy - sx * sy) / d a = a2 c = EXP(a1) PRINT "A="; a

Page 31: Q-basic Numerical Analysis Programs

PRINT "C="; c s = 0 FOR i = 1 TO n f(i) = c * x(i) ^ a s = s + (y(i) - f(i)) ^ 2 NEXT i PRINT "Standard Deviation=", s END ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ A= 2.092605 C= 23.42711 S= 75.07242

Page 32: Q-basic Numerical Analysis Programs

Problem: Write a program to determine the parameters C & D so that

xDexCxf =)( , fits the following data in least squares sense.

X 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 y 0.27 0.72 1.48 2.66 4.48 7.26 11.4

317.6

426.7

8 REM "List Square Fitting" CLS DIM x(15), y(15) INPUT "No. of Data=", n FOR j = 1 TO n READ x(j), y(j) NEXT j DATA .1,.27,.2,.72,.3,1.48,.4,2.66,.5,4.48,.6,7.26,.7,11.43,.8,17.64,.9,26.78 PRINT "x:" FOR i = 1 TO n PRINT x(i), NEXT i PRINT PRINT "y:" FOR j = 1 TO n PRINT y(j), NEXT j sx = 0: sxx = 0: sy = 0: sxy = 0 FOR i = 1 TO n sx = sx + x(i) sy = sy + LOG(y(i) / x(i)) sxx = sxx + x(i) ^ 2 sxy = sxy + x(i) * LOG(y(i) / x(i)) NEXT i PRINT PRINT "sx="; sx PRINT "sxx"; sxx PRINT "sy="; sy PRINT "sxy="; sxy d = n * sxx - sx ^ 2 a1 = (sxx * sy - sx * sxy) / d a2 = (n * sxy - sx * sy) / d d = a2 c = EXP(a1) PRINT "C="; c

Page 33: Q-basic Numerical Analysis Programs

PRINT "D="; d s = 0 FOR i = 1 TO n f(i) = c * x(i) * EXP(d * x(i)) s = s + (y(i) - f(i)) ^ 2 NEXT i PRINT "Standard Deviation=", s END ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ C= 1.993407 D= 3.004763 S= 1.117279 E-03

Page 34: Q-basic Numerical Analysis Programs

Problem: Write a program to determine the parameters A & B so that

BxAxf +=)( , fits the following data in least squares sense.

X 0.5 2 3.5 4.1 5 6.2 7.5 9.2 y 3.3 2 1.4 1.2 1 0.8 0.64 0.5

REM "List Square Fitting" CLS DIM x(15), y(15) INPUT "No. of Data=", n FOR j = 1 TO n READ x(j), y(j) NEXT j DATA .5,3.3,2,2,3.5,1.4,4.1,1.2,5,1,6.2,.8,7.5,.64,9.2,.5 PRINT "x:" FOR i = 1 TO n PRINT x(i), NEXT i PRINT PRINT "y:" FOR j = 1 TO n PRINT y(j), NEXT j sx = 0: sxx = 0: sy = 0: sxy = 0 FOR i = 1 TO n sx = sx + 1 / x(i) sy = sy + y(i) sxx = sxx + (1 / x(i)) ^ 2 sxy = sxy + (1 / x(i)) * y(i) NEXT i PRINT PRINT "sx="; sx PRINT "sxx"; sxx PRINT "sy="; sy PRINT "sxy="; sxy d = n * sxx - sx ^ 2 a1 = (sxx * sy - sx * sxy) / d a2 = (n * sxy - sx * sy) / d a = a2 b = a1

Page 35: Q-basic Numerical Analysis Programs

PRINT "A="; a PRINT "B="; b s = 0 FOR i = 1 TO n f(i) = (a / x(i)) + b s = s + (y(i) - f(i)) ^ 2 NEXT i PRINT "Standard Deviation=", s END ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ A= 1.353131 B= .7405201 S=.7070401

Page 36: Q-basic Numerical Analysis Programs

Problem: Write a program to determine the parameters D & C so that

CxDxf+

=)( , fits the following data in least squares sense.

X 0.5 2 3.5 4.1 5 6.2 7.5 9.2 y 3.3 2 1.4 1.2 1 0.8 0.64 0.5

REM "List Square Fitting" CLS DIM x(15), y(15) INPUT "No. of Data=", n FOR j = 1 TO n READ x(j), y(j) NEXT j DATA .5,3.3,2,2,3.5,1.4,4.1,1.2,5,1,6.2,.8,7.5,.64,9.2,.5 PRINT "x:" FOR i = 1 TO n PRINT x(i), NEXT i PRINT PRINT "y:" FOR j = 1 TO n PRINT y(j), NEXT j sx = 0: sxx = 0: sy = 0: sxy = 0 FOR i = 1 TO n sx = sx + x(i) * y(i) sy = sy + y(i) sxx = sxx + (x(i) * y(i)) ^ 2 sxy = sxy + (x(i) * y(i)) * y(i) NEXT i PRINT PRINT "sx="; sx PRINT "sxx"; sxx PRINT "sy="; sy PRINT "sxy="; sxy d = n * sxx - sx ^ 2 a1 = (sxx * sy - sx * sxy) / d a2 = (n * sxy - sx * sy) / d c = -1 / a2 d = a1 * c PRINT "C="; c

Page 37: Q-basic Numerical Analysis Programs

PRINT "D="; d s = 0 FOR i = 1 TO n f(i) = d / (x(i) + c) s = s + (y(i) - f(i)) ^ 2 NEXT i PRINT "Standard Deviation=", s END ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ C= 1.369226 D= 6.209051 S=5.723841 E-02

Page 38: Q-basic Numerical Analysis Programs

Problem: Write a program to determine the parameters A & B so that

BxAxf

+=

1)( , fits the following data in least squares sense.

X 0.5 2 3.5 4.1 5 6.2 7.5 9.2 y 3.3 2 1.4 1.2 1 0.8 0.64 0.5

REM "List Square Fitting" CLS DIM x(15), y(15) INPUT "No. of Data=", n FOR j = 1 TO n READ x(j), y(j) NEXT j DATA .5,3.3,2,2,3.5,1.4,4.1,1.2,5,1,6.2,.8,7.5,.64,9.2,.5 PRINT "x:" FOR i = 1 TO n PRINT x(i), NEXT i PRINT PRINT "y:" FOR j = 1 TO n PRINT y(j), NEXT j sx = 0: sxx = 0: sy = 0: sxy = 0 FOR i = 1 TO n sx = sx + x(i) sy = sy + 1 / y(i) sxx = sxx + x(i) ^ 2 sxy = sxy + x(i) * 1 / y(i) NEXT i PRINT PRINT "sx="; sx PRINT "sxx"; sxx PRINT "sy="; sy PRINT "sxy="; sxy d = n * sxx - sx ^ 2 a1 = (sxx * sy - sx * sxy) / d a2 = (n * sxy - sx * sy) / d a = a2 b = a1 PRINT "A="; a

Page 39: Q-basic Numerical Analysis Programs

PRINT "B="; b s = 0 FOR i = 1 TO n f(i) = 1 / (a * x(i) + b) s = s + (y(i) - f(i)) ^ 2 NEXT i PRINT "Standard Deviation=", s END ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ A= .1953442 B= 9.250808 E-02 S= 3.864387

Page 40: Q-basic Numerical Analysis Programs

Problem: Write a program to determine the parameters A & B so that

BxAxxf+

=)( , fits the following data in least squares sense.

X 0.5 2 3.5 4.1 5 6.2 7.5 9.2 y 3.3 2 1.4 1.2 1 0.8 0.64 0.5

REM "List Square Fitting" CLS DIM x(15), y(15) INPUT "No. of Data=", n FOR j = 1 TO n READ x(j), y(j) NEXT j DATA .5,3.3,2,2,3.5,1.4,4.1,1.2,5,1,6.2,.8,7.5,.64,9.2,.5 PRINT "x:" FOR i = 1 TO n PRINT x(i), NEXT i PRINT PRINT "y:" FOR j = 1 TO n PRINT y(j), NEXT j sx = 0: sxx = 0: sy = 0: sxy = 0 FOR i = 1 TO n sx = sx + 1 / x(i) sy = sy + 1 / y(i) sxx = sxx + (1 / x(i)) ^ 2 sxy = sxy + 1 / (x(i) * y(i)) NEXT i PRINT PRINT "sx="; sx PRINT "sxx"; sxx PRINT "sy="; sy PRINT "sxy="; sxy d = n * sxx - sx ^ 2 a1 = (sxx * sy - sx * sxy) / d a2 = (n * sxy - sx * sy) / d a = a1 b = a2

Page 41: Q-basic Numerical Analysis Programs

PRINT "A="; a PRINT "B="; b s = 0 FOR i = 1 TO n f(i) = x(i) / (a * x(i) + b) s = s + (y(i) - f(i)) ^ 2 NEXT i PRINT "Standard Deviation=", s END ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ A= 1.279117 B= -.5697291 S= 16.41069

Page 42: Q-basic Numerical Analysis Programs

Problem: Write a program to determine the parameters A & B so that

( )21)(

BxAxf

+= , fits the following data in least squares sense.

X 0.5 2 3.5 4.1 5 6.2 7.5 9.2 y 3.3 2 1.4 1.2 1 0.8 0.64 0.5

REM "List Square Fitting" CLS DIM x(15), y(15) INPUT "No. of Data=", n FOR j = 1 TO n READ x(j), y(j) NEXT j DATA .5,3.3,2,2,3.5,1.4,4.1,1.2,5,1,6.2,.8,7.5,.64,9.2,.5 PRINT "x:" FOR i = 1 TO n PRINT x(i), NEXT i PRINT PRINT "y:" FOR j = 1 TO n PRINT y(j), NEXT j sx = 0: sxx = 0: sy = 0: sxy = 0 FOR i = 1 TO n sx = sx + x(i) sy = sy + (y(i)) ^ (-.5) sxx = sxx + x(i) ^ 2 sxy = sxy + x(i) * (y(i)) ^ (-.5) NEXT i PRINT PRINT "sx="; sx PRINT "sxx"; sxx PRINT "sy="; sy PRINT "sxy="; sxy d = n * sxx - sx ^ 2 a1 = (sxx * sy - sx * sxy) / d a2 = (n * sxy - sx * sy) / d a = a2 b = a1 PRINT "A="; a

Page 43: Q-basic Numerical Analysis Programs

PRINT "B="; b s = 0 FOR i = 1 TO n f(i) = 1 / (a * x(i) + b) ^ 2 s = s + (y(i) - f(i)) ^ 2 NEXT i PRINT "Standard Deviation=", s END ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ A= 9.919496 E-02 B= .5035566 S= 2.27583 E-03

Page 44: Q-basic Numerical Analysis Programs

Problem: Write a quick-basic program to find first, second, third, and fourth derivation of the function )ln()( 3xxf = at 1=x and 01.0=h REM "Derivation using Different Formula" CLS DEF fnf (x) = LOG(x ^ 3) INPUT "x=", x INPUT "h=", h PRINT "---------------------------------------" REM "df: Forward, db: Backward, dc: Central" df = (fnf(x + h) - fnf(x)) / h db = (fnf(x) - fnf(x - h)) / h dc = (fnf(x + h) - fnf(x - h)) / (2 * h) PRINT "Forward Derivation is", df PRINT "Backward Derivation is", db PRINT "Central Derivation is", dc PRINT "---------------------------------------" REM "d3p: Three Point, d5p: Five Point" d3p = (fnf(x + h) - fnf(x - h)) / (2 * h) d5p = (-1 * fnf(x + 2 * h) + 8 * fnf(x + h) - 8 * fnf(x - h) + fnf(x - 2 * h)) / (12 * h) PRINT "Three Point Derivation is", d3p PRINT "Five Point Derivation is", d5p PRINT "---------------------------------------" REM "d2: Second derivation, d3: Third Derivation, d4: Fourth Derivation" d2 = (fnf(x + h) - 2 * fnf(x) + fnf(x - h)) / h ^ 2 d3 = (fnf(x + 2 * h) - 2 * fnf(x + h) + 2 * fnf(x - h) - fnf(x - 2 * h)) / (2 * h ^ 3) d4 = (fnf(x + 2 * h) - 4 * fnf(x + h) + 6 * fnf(x) - 4 * fnf(x - h) + fnf(x - 2 * h)) / h ^ 4 PRINT "Second Derivation is", d2 PRINT "Third Derivation is ", d3 PRINT "Fourth Derivation is ", d4 END ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Page 45: Q-basic Numerical Analysis Programs

x=1 h=.01 ------------------------------------------------------------------- Forward Derivation is 2.985096 Backward Derivation is 3.015098 Central Derivation is 3.000097 ------------------------------------------------------------------- Three Point Derivation is 3.000097 Five Point Derivation is 2.999997 ------------------------------------------------------------------- Second Derivation is -3.000144 Third Derivation is 6.003306 Fourth Derivation is -17.8814

Page 46: Q-basic Numerical Analysis Programs

Problem: Write a quick-basic program to find first derivation from the following data at 1.0=x using derivation of Lagrange polynomial.

x 0.1 0.2 0.3 0.4 y 0.01 0.04 0.09 0.16

REM "Derivation using Lagrange Formula" CLS INPUT "No. of Data"; n INPUT "x="; x DIM x(n), y(n) FOR i = 1 TO n READ x(i), y(i) NEXT i DATA .1,.01,.2,.04,.3,.09,.4,.16 sum = 0 FOR i = 1 TO n s = 0 FOR j = 1 TO n IF j = i THEN GOTO 10 p = 1 FOR k = 1 TO n IF k = j OR k = i THEN GOTO 20 p = p * (x - x(k)) / (x(i) - x(k)) 20 NEXT k s = s + p / (x(i) - x(j)) 10 NEXT j sum = sum + s * y(i) NEXT i PRINT "The First Derivation=", sum END The First Derivation= 0.2000000 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Page 47: Q-basic Numerical Analysis Programs

522 23 −+−= xxxy

Problem: Write a quick-basic program to find first derivation from the following data using derivation of Newton Forward polynomial.

x 1 2 3 4 5 6 7 y -4 -1 10 35 80 151 254

REM "Derivative from Newton Forward" DIM x(10), y(10), d(10, 10) CLS INPUT "No. of data=", n FOR i = 1 TO n READ x(i), y(i) NEXT i DATA 1,-4,2,-1,3,10,4,35,5,80,6,151,7,254 PRINT "x:" FOR i = 1 TO n PRINT x(i), NEXT i PRINT PRINT "y:" FOR j = 1 TO n PRINT y(j), NEXT j FOR i = 1 TO n - 1 PRINT SPC(6 * i); FOR j = 1 TO n - i y(j) = (y(j + 1) - y(j)) d(i, j) = y(j) PRINT y(j); SPC(10); NEXT j PRINT NEXT i s = 0 FOR i = 1 TO n - 1 s = s + (1 / i) * d(i, 1) * (-1) ^ (i + 1) NEXT i d = s / (x(2) - x(1)) PRINT "First Derivation="; d END The First Derivation= 1 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Page 48: Q-basic Numerical Analysis Programs

Problem: Write a quick-basic program to find the value of the integral

∫++

1

0 22 )43()1( ttdt

using Trapezoidal rule with 6=n

REM "Trapezoidal rule" CLS DEF fnf (t) = 1 / (SQR((t ^ 2 + 1) * (3 * t ^ 2 + 4))) INPUT "low level of integral"; a INPUT "high level of integral"; b INPUT "No. of sub-integral"; n h = (b - a) / n s = 0 x = a FOR i = 1 TO n - 1 x = x + h s = s + fnf(x) NEXT i t = h * (fnf(a) / 2 + s + fnf(b) / 2) PRINT " Integration by Trapezoidal rule="; t END Integration by Trapezoidal rule = .4016085 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Page 49: Q-basic Numerical Analysis Programs

Problem: Write a quick-basic program to find the value of the integral

∫++

1

0 22 )43()1( ttdt

using Simpson’s 1/3 rule with 6=n

REM "Simpson's 1/3 rule" CLS DEF fnf (t) = 1 / (SQR((t ^ 2 + 1) * (3 * t ^ 2 + 4))) INPUT "low level of integral"; a INPUT "high level of integral"; b INPUT "No. of sub-integral"; n h = (b - a) / n s1 = 0: s2 = 0 x = a FOR i = 2 TO n STEP 2 x = a + h * (i - 1) s1 = s1 + fnf(x) NEXT i FOR i = 3 TO n STEP 2 x = a + h * (i - 1) s2 = s2 + fnf(x) NEXT i PRINT s = (h / 3) * (fnf(a) + 4 * s1 + 2 * s2 + fnf(b)) PRINT " Integration by Simpson's 1/3 rule="; s END Integration by Simpson's 1/3 rule=.4021834 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Page 50: Q-basic Numerical Analysis Programs

Problem: Write a quick-basic program to find the value of the integral

∫++

1

0 22 )43()1( ttdt

using Simpson’s 3/8 rule with 6=n

REM "Simpson's 3/8 rule" CLS DEF fnf (t) = 1 / (SQR((t ^ 2 + 1) * (3 * t ^ 2 + 4))) INPUT "low level of integral"; a INPUT "high level of integral"; b INPUT "No. of sub-integral"; n DIM y(n) h = (b - a) / n s = 0 x = a FOR i = 0 TO n x = a + h * (i) y(i) = fnf(x) NEXT i FOR i = 1 TO (n / 2 - 1) s = s + y(3 * i - 3) + 3 * (y(3 * i - 2) + y(3 * i - 1)) + y(3 * i) NEXT i PRINT sim = (3 * h / 8) * s PRINT "Integration by Simpson's 3/8 rule="; sim END Integration by Simpson’s 3/8 rule= 0.4021832 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Page 51: Q-basic Numerical Analysis Programs

Problem: Write a program in quick-basic to solve the differential equation

yey x 22 −=′ − using Euler method over ]2,0[ , with 1.0)0( =y , let 1.0=h (i.e. 20=n ). REM "Euler's Method" CLS INPUT "initial value"; a INPUT "final value"; b INPUT "No. of steps"; n DIM x(n), y(n) INPUT "y(0)=", y(0) x(0) = a h = (b - a) / n DEF fnf (x, y) = EXP(-2 * x) - 2 * y FOR i = 0 TO n - 1 x(i + 1) = x(i) + h y(i + 1) = y(i) + h * fnf(x(i), y(i)) NEXT i FOR i = 0 TO n PRINT x(i), y(i) NEXT i END

Page 52: Q-basic Numerical Analysis Programs

initial value? 0 final value? 2 No. of steps? 20 y(0)=? 0.1

0 0.1 0.1 0.18 0.2 0.2258731 0.3 0.2477305 0.4 0.2530656 0.5 0.2473853 0.6 0.2346962 0.7 0.2178764 0.8 0.1989608 0.9 0.1793583 1 0.1600165

1.1 0.1415467 1.2 0.1243177 1.3 0.108526 1.4 9.424812E-02 1.5 0.0814795 1.6 0.0701623 1.7 6.020606E-02 1.8 5.150218E-02 1.9 4.393411E-02 2 3.738436E-02

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Exact solution for yey x 22 −=′ − is:

xx exey 22

101 −− −= ⇒ 03846284.0)2( =y

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Page 53: Q-basic Numerical Analysis Programs

Problem: Write a program in quick-basic to solve the differential equation

yey x 22 −=′ − using Runge-Kutta method over ]2,0[ , with 1.0)0( =y , let 1.0=h (i.e. 20=n ).

REM "Runge-Kutta Method" CLS INPUT "initial value"; a INPUT "final value"; b INPUT "No. of steps"; n DIM x(n), y(n) INPUT "y(0)=", y(0) x(0) = a h = (b - a) / n DEF fnf (x, y) = EXP(-2 * x) - 2 * y FOR i = 0 TO n - 1 x(i) = a + h * i k1 = h * fnf(x(i), y(i)) k2 = h * fnf(x(i) + h / 2, y(i) + k1 / 2) k3 = h * fnf(x(i) + h / 2, y(i) + k2 / 2) k4 = h * fnf(x(i) + h, y(i) + k3) y(i + 1) = y(i) + 1 / 6 * (k1 + 2 * k2 + 2 * k3 + k4) NEXT i FOR i = 0 TO n PRINT x(i), y(i) NEXT i END

Page 54: Q-basic Numerical Analysis Programs

initial value? 0 final value? 2 No. of steps? 20 y(0)=? 0.1

0 0.1 0.1 0.163744 0.2 0.2010928 0.3 0.2195209 0.4 0.2246607 0.5 0.2207241 0.6 0.2108327 0.7 0.1972747 0.8 0.1817045 0.9 0.1652969 1 0.1488672

1.1 0.1329626 1.2 0.11797324 1.3 0.1039823 1.4 9.121463E-02 1.5 7.965902E-02 1.6 0.0692956 1.7 6.007185E-02 1.8 5.191512E-02 1.9 4.474165E-02 2 3.846299E-02

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Exact solution for yey x 22 −=′ − is:

xx exey 22

101 −− −= ⇒ 03846284.0)2( =y

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^