Write a c program for estimating adding numbers in a 2d


Assignment- Coding Problems:

1. Matlab. Complete the quadratic equation solver yournameQuadEqn.m. See the comments at the top for specific directions, but the main idea is to avoid loss of significance by re-writing one of roots

r1 = {-b + √(b2 - 4ac)} / 2a, r1 = {-b - √(b2 - 4ac)} / 2a.

• The formula for the root r1 has potential loss of significance when b >0 and b2 >4ac; The second root r2 is best left as is.

• The formula for the root r2 has potential loss of significance when b <0 and b2 >4ac. The first r1 is best left as is.

2. Write a C program for estimating adding numbers in a 2D grid. See the file yournameGridSum.cto get started. This program will exhibit the effect of cumulative rounding error (caused by adding a lot small values.) Consider an N × N grid (we'll use N = 5000) dividing up the unit square into smaller squares. Therefore each subsquare has width w = 1/N. Let (xi,yj) denote the midpoint of the square in column i, row j.

Note that
xi = (i- 0.5) ∗ w

Your job is to compute the double sum

459_Double Sum.jpg

For N large, the value of S should approach 2. You will compute S in two different ways: I. Summing up the numbers 1 by 1 in a nested for loop.

PSEUDOCODE

Initialize: width=1/N; sum1=0;

for loop: row=1 to N for loop: col=1 to N x = (col -0.5)* width y = (row - 0.5)*width sum1 = sum1 + (x*x + y*y)
end of inner loop

end of outer loop finalResult1= 3*width*width*sum1

II. Sum all the number in a row, then add to overall sum.

PSEUDOCODE

Initialize: sum2=0;

for loop: row=1 to N

rowSum=0; y= (row - 0.5)*width for loop: col=1 to N x = (col -0.5)*width rowSum = rowSum + (x*x + y*y)
end of inner loop sum2=sum2+ rowSum
end of outer loop finalResult2= 3*width*width*sum2.

Request for Solution File

Ask an Expert for Answer!!
C/C++ Programming: Write a c program for estimating adding numbers in a 2d
Reference No:- TGS02187394

Expected delivery within 24 Hours