Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

From the following code, define a new structure and use it to define the upper a

ID: 3815554 • Letter: F

Question

From the following code, define a new structure and use it to define the upper and lower limits of the trapezoidal and simpsons functions.

#include<stdio.h>
#include "math.h"
#include <stdlib.h>
double F1(double x)
{
return 1000 * exp(7*x) * cos(0.3*M_PI*x);
}
double F2(double x)
{
return pow(x,3) - (0.23*x) + 30.67;
}
void calculateIntegeralBySimpson(int n) {
FILE *fp = fopen("data_Simpson_method.txt", "w");
  
int i;
/* Calculating for first half of the interval */
double lowerLimit = -5, upperLimit = 0, x[n+1], y[n+1];
double h = (upperLimit - lowerLimit) / n;
for(i=0; i<=n; i++) {
x[i]=lowerLimit + (i*h);
y[i]=F1(x[i]); /* Call first function */
fprintf(fp,"x, y = (%f, %f) ",x[i],y[i]);
}
double sumOfOdds=0;
double sumOfEvens=0;
for(i=1; i<n; i++) {
if(i%2==1) {
sumOfOdds=sumOfOdds+y[i];
}
else {
sumOfEvens=sumOfEvens+y[i];
}
}
double firstIntervalSol = (h/3) * (y[0] + y[n] + 4*sumOfOdds + 2*sumOfEvens);
/*
* Calculating for second half interval
*/
lowerLimit = 0, upperLimit = 5;
h = (upperLimit - lowerLimit) / n;
for(i=0; i<=n; i++) {
x[i]=lowerLimit + (i*h);
y[i]=F2(x[i]); /* Call second function */
fprintf(fp,"x, y = (%f, %f) ",x[i],y[i]);
}
sumOfOdds=0;
sumOfEvens=0;
for(i=1; i<n; i++) {
if(i%2==1) {
sumOfOdds=sumOfOdds+y[i];
}
else {
sumOfEvens=sumOfEvens+y[i];
}
}
double secondIntervalSol = (h/3) * (y[0] + y[n] + 4*sumOfOdds + 2*sumOfEvens);
double solution = firstIntervalSol + secondIntervalSol;
fprintf(fp,"solution to the given integration function is %.10f ",solution);
fclose(fp);
}

void calculateIntegeralByTrapezoidal(int n) {
FILE *fp = fopen("data_Trapezoidal_method.txt", "w");
int i;
/* Calculating for first half of the interval */
double lowerLimit = -5, upperLimit = 0, x[n+1], y[n+1];
double h = (upperLimit - lowerLimit) / n;
double sum = 0;
for(i=0; i<=n; i++) {
x[i]=lowerLimit + (i*h);
y[i]=F1(x[i]); /* Call first function */
fprintf(fp,"x, y = (%f, %f) ",x[i],y[i]);
sum = sum+y[i];
}
double firstIntervalSol = (y[0] + y[n] + 2*sum)*(h/2.0) ;
/*
* Calculating for second half interval
*/
lowerLimit = 0, upperLimit = 5;
h = (upperLimit - lowerLimit) / n;
sum = 0;
for(i=0; i<=n; i++) {
x[i]=lowerLimit + (i*h);
y[i]=F2(x[i]); /* Call second function */
fprintf(fp,"x, y = (%f, %f) ",x[i],y[i]);
sum = sum+y[i];
}
double secondIntervalSol = (y[0] + y[n] + 2*sum)*(h/2.0);
double solution = firstIntervalSol + secondIntervalSol;
fprintf(fp,"solution to the given integration function is %.10f ",solution);
fclose(fp);
}
void main() {
calculateIntegeralBySimpson(40);
calculateIntegeralByTrapezoidal(100);
}

Explanation / Answer

#include <stdio.h>
#include <math.h>
#include <stdlib.h>

typedef struct limit {
double upperLimit;
double lowerLimit;
} limit;

double F1(double x) {
return 1000 * exp(7 * x) * cos(0.3 * M_PI * x);
}
double F2(double x) {
return pow(x, 3) - (0.23 * x) + 30.67;
}

void calculateIntegeralBySimpson(int n) {
FILE * fp = fopen("data_Simpson_method.txt", "w");

int i;
/* Calculating for first half of the interval */
limit l;
l.lowerLimit = -5;
l.upperLimit = 0;
  
double x[n + 1], y[n + 1];
double h = (l.upperLimit - l.lowerLimit) / n;
for (i = 0; i <= n; i++) {
x[i] = l.lowerLimit + (i * h);
y[i] = F1(x[i]); /* Call first function */
fprintf(fp, "x, y = (%f, %f) ", x[i], y[i]);
}
double sumOfOdds = 0;
double sumOfEvens = 0;
for (i = 1; i < n; i++) {
if (i % 2 == 1) {
sumOfOdds = sumOfOdds + y[i];
} else {
sumOfEvens = sumOfEvens + y[i];
}
}
double firstIntervalSol = (h / 3) * (y[0] + y[n] + 4 * sumOfOdds + 2 * sumOfEvens);
/*
* Calculating for second half interval
*/
l.lowerLimit = 0;
l.upperLimit = 5;
h = (l.upperLimit - l.lowerLimit) / n;
for (i = 0; i <= n; i++) {
x[i] = l.lowerLimit + (i * h);
y[i] = F2(x[i]); /* Call second function */
fprintf(fp, "x, y = (%f, %f) ", x[i], y[i]);
}
sumOfOdds = 0;
sumOfEvens = 0;
for (i = 1; i < n; i++) {
if (i % 2 == 1) {
sumOfOdds = sumOfOdds + y[i];
} else {
sumOfEvens = sumOfEvens + y[i];
}
}
double secondIntervalSol = (h / 3) * (y[0] + y[n] + 4 * sumOfOdds + 2 * sumOfEvens);
double solution = firstIntervalSol + secondIntervalSol;
fprintf(fp, "solution to the given integration function is %.10f ", solution);
fclose(fp);
}

void calculateIntegeralByTrapezoidal(int n) {
FILE * fp = fopen("data_Trapezoidal_method.txt", "w");
int i;
/* Calculating for first half of the interval */
limit l;
l.lowerLimit = -5;
l.upperLimit = 0;
  
double x[n + 1], y[n + 1];
double h = (l.upperLimit - l.lowerLimit) / n;
double sum = 0;
for (i = 0; i <= n; i++) {
x[i] = l.lowerLimit + (i * h);
y[i] = F1(x[i]); /* Call first function */
fprintf(fp, "x, y = (%f, %f) ", x[i], y[i]);
sum = sum + y[i];
}
double firstIntervalSol = (y[0] + y[n] + 2 * sum) * (h / 2.0);
/*
* Calculating for second half interval
*/
l.lowerLimit = 0;
l.upperLimit = 5;
h = (l.upperLimit - l.lowerLimit) / n;
sum = 0;
for (i = 0; i <= n; i++) {
x[i] = l.lowerLimit + (i * h);
y[i] = F2(x[i]); /* Call second function */
fprintf(fp, "x, y = (%f, %f) ", x[i], y[i]);
sum = sum + y[i];
}
double secondIntervalSol = (y[0] + y[n] + 2 * sum) * (h / 2.0);
double solution = firstIntervalSol + secondIntervalSol;
fprintf(fp, "solution to the given integration function is %.10f ", solution);
fclose(fp);
}

void main() {
calculateIntegeralBySimpson(40);
calculateIntegeralByTrapezoidal(100);
}



Output:
data_Simpson_method.txt:

x, y = (-5.000000, -0.000000)
x, y = (-4.875000, -0.000000)
x, y = (-4.750000, -0.000000)
x, y = (-4.625000, -0.000000)
x, y = (-4.500000, -0.000000)
x, y = (-4.375000, -0.000000)
x, y = (-4.250000, -0.000000)
x, y = (-4.125000, -0.000000)
x, y = (-4.000000, -0.000000)
x, y = (-3.875000, -0.000000)
x, y = (-3.750000, -0.000000)
x, y = (-3.625000, -0.000000)
x, y = (-3.500000, -0.000000)
x, y = (-3.375000, -0.000000)
x, y = (-3.250000, -0.000000)
x, y = (-3.125000, -0.000000)
x, y = (-3.000000, -0.000001)
x, y = (-2.875000, -0.000002)
x, y = (-2.750000, -0.000004)
x, y = (-2.625000, -0.000008)
x, y = (-2.500000, -0.000018)
x, y = (-2.375000, -0.000037)
x, y = (-2.250000, -0.000076)
x, y = (-2.125000, -0.000145)
x, y = (-2.000000, -0.000257)
x, y = (-1.875000, -0.000389)
x, y = (-1.750000, -0.000375)
x, y = (-1.625000, 0.000451)
x, y = (-1.500000, 0.004308)
x, y = (-1.375000, 0.017930)
x, y = (-1.250000, 0.060641)
x, y = (-1.125000, 0.185739)
x, y = (-1.000000, 0.535991)
x, y = (-0.875000, 1.484871)
x, y = (-0.750000, 3.990244)
x, y = (-0.625000, 10.466658)
x, y = (-0.500000, 26.906066)
x, y = (-0.375000, 67.962352)
x, y = (-0.250000, 168.972556)
x, y = (-0.125000, 413.972523)
x, y = (0.000000, 1000.000000)
x, y = (0.000000, 30.670000)
x, y = (0.125000, 30.643203)
x, y = (0.250000, 30.628125)
x, y = (0.375000, 30.636484)
x, y = (0.500000, 30.680000)
x, y = (0.625000, 30.770391)
x, y = (0.750000, 30.919375)
x, y = (0.875000, 31.138672)
x, y = (1.000000, 31.440000)
x, y = (1.125000, 31.835078)
x, y = (1.250000, 32.335625)
x, y = (1.375000, 32.953359)
x, y = (1.500000, 33.700000)
x, y = (1.625000, 34.587266)
x, y = (1.750000, 35.626875)
x, y = (1.875000, 36.830547)
x, y = (2.000000, 38.210000)
x, y = (2.125000, 39.776953)
x, y = (2.250000, 41.543125)
x, y = (2.375000, 43.520234)
x, y = (2.500000, 45.720000)
x, y = (2.625000, 48.154141)
x, y = (2.750000, 50.834375)
x, y = (2.875000, 53.772422)
x, y = (3.000000, 56.980000)
x, y = (3.125000, 60.468828)
x, y = (3.250000, 64.250625)
x, y = (3.375000, 68.337109)
x, y = (3.500000, 72.740000)
x, y = (3.625000, 77.471016)
x, y = (3.750000, 82.541875)
x, y = (3.875000, 87.964297)
x, y = (4.000000, 93.750000)
x, y = (4.125000, 99.910703)
x, y = (4.250000, 106.458125)
x, y = (4.375000, 113.403984)
x, y = (4.500000, 120.760000)
x, y = (4.625000, 128.537891)
x, y = (4.750000, 136.749375)
x, y = (4.875000, 145.406172)
x, y = (5.000000, 154.520000)
solution to the given integration function is 447.4457464763



data_Trapezoidal_method.txt:
x, y = (-5.000000, -0.000000)
x, y = (-4.950000, -0.000000)
x, y = (-4.900000, -0.000000)
x, y = (-4.850000, -0.000000)
x, y = (-4.800000, -0.000000)
x, y = (-4.750000, -0.000000)
x, y = (-4.700000, -0.000000)
x, y = (-4.650000, -0.000000)
x, y = (-4.600000, -0.000000)
x, y = (-4.550000, -0.000000)
x, y = (-4.500000, -0.000000)
x, y = (-4.450000, -0.000000)
x, y = (-4.400000, -0.000000)
x, y = (-4.350000, -0.000000)
x, y = (-4.300000, -0.000000)
x, y = (-4.250000, -0.000000)
x, y = (-4.200000, -0.000000)
x, y = (-4.150000, -0.000000)
x, y = (-4.100000, -0.000000)
x, y = (-4.050000, -0.000000)
x, y = (-4.000000, -0.000000)
x, y = (-3.950000, -0.000000)
x, y = (-3.900000, -0.000000)
x, y = (-3.850000, -0.000000)
x, y = (-3.800000, -0.000000)
x, y = (-3.750000, -0.000000)
x, y = (-3.700000, -0.000000)
x, y = (-3.650000, -0.000000)
x, y = (-3.600000, -0.000000)
x, y = (-3.550000, -0.000000)
x, y = (-3.500000, -0.000000)
x, y = (-3.450000, -0.000000)
x, y = (-3.400000, -0.000000)
x, y = (-3.350000, -0.000000)
x, y = (-3.300000, -0.000000)
x, y = (-3.250000, -0.000000)
x, y = (-3.200000, -0.000000)
x, y = (-3.150000, -0.000000)
x, y = (-3.100000, -0.000000)
x, y = (-3.050000, -0.000001)
x, y = (-3.000000, -0.000001)
x, y = (-2.950000, -0.000001)
x, y = (-2.900000, -0.000001)
x, y = (-2.850000, -0.000002)
x, y = (-2.800000, -0.000003)
x, y = (-2.750000, -0.000004)
x, y = (-2.700000, -0.000005)
x, y = (-2.650000, -0.000007)
x, y = (-2.600000, -0.000010)
x, y = (-2.550000, -0.000013)
x, y = (-2.500000, -0.000018)
x, y = (-2.450000, -0.000024)
x, y = (-2.400000, -0.000032)
x, y = (-2.350000, -0.000043)
x, y = (-2.300000, -0.000057)
x, y = (-2.250000, -0.000076)
x, y = (-2.200000, -0.000099)
x, y = (-2.150000, -0.000128)
x, y = (-2.100000, -0.000164)
x, y = (-2.050000, -0.000207)
x, y = (-2.000000, -0.000257)
x, y = (-1.950000, -0.000311)
x, y = (-1.900000, -0.000365)
x, y = (-1.850000, -0.000409)
x, y = (-1.800000, -0.000423)
x, y = (-1.750000, -0.000375)
x, y = (-1.700000, -0.000213)
x, y = (-1.650000, 0.000151)
x, y = (-1.600000, 0.000859)
x, y = (-1.550000, 0.002129)
x, y = (-1.500000, 0.004308)
x, y = (-1.450000, 0.007924)
x, y = (-1.400000, 0.013790)
x, y = (-1.350000, 0.023138)
x, y = (-1.300000, 0.037825)
x, y = (-1.250000, 0.060641)
x, y = (-1.200000, 0.095744)
x, y = (-1.150000, 0.149317)
x, y = (-1.100000, 0.230508)
x, y = (-1.050000, 0.352798)
x, y = (-1.000000, 0.535991)
x, y = (-0.950000, 0.809078)
x, y = (-0.900000, 1.214370)
x, y = (-0.850000, 1.813438)
x, y = (-0.800000, 2.695627)
x, y = (-0.750000, 3.990244)
x, y = (-0.700000, 5.883955)
x, y = (-0.650000, 8.645555)
x, y = (-0.600000, 12.661184)
x, y = (-0.550000, 18.484250)
x, y = (-0.500000, 26.906066)
x, y = (-0.450000, 39.055569)
x, y = (-0.400000, 56.539766)
x, y = (-0.350000, 81.641099)
x, y = (-0.300000, 117.594135)
x, y = (-0.250000, 168.972556)
x, y = (-0.200000, 242.229054)
x, y = (-0.150000, 346.446650)
x, y = (-0.100000, 494.381441)
x, y = (-0.050000, 703.905798)
x, y = (0.000000, 1000.000000)
x, y = (0.000000, 30.670000)
x, y = (0.050000, 30.658625)
x, y = (0.100000, 30.648000)
x, y = (0.150000, 30.638875)
x, y = (0.200000, 30.632000)
x, y = (0.250000, 30.628125)
x, y = (0.300000, 30.628000)
x, y = (0.350000, 30.632375)
x, y = (0.400000, 30.642000)
x, y = (0.450000, 30.657625)
x, y = (0.500000, 30.680000)
x, y = (0.550000, 30.709875)
x, y = (0.600000, 30.748000)
x, y = (0.650000, 30.795125)
x, y = (0.700000, 30.852000)
x, y = (0.750000, 30.919375)
x, y = (0.800000, 30.998000)
x, y = (0.850000, 31.088625)
x, y = (0.900000, 31.192000)
x, y = (0.950000, 31.308875)
x, y = (1.000000, 31.440000)
x, y = (1.050000, 31.586125)
x, y = (1.100000, 31.748000)
x, y = (1.150000, 31.926375)
x, y = (1.200000, 32.122000)
x, y = (1.250000, 32.335625)
x, y = (1.300000, 32.568000)
x, y = (1.350000, 32.819875)
x, y = (1.400000, 33.092000)
x, y = (1.450000, 33.385125)
x, y = (1.500000, 33.700000)
x, y = (1.550000, 34.037375)
x, y = (1.600000, 34.398000)
x, y = (1.650000, 34.782625)
x, y = (1.700000, 35.192000)
x, y = (1.750000, 35.626875)
x, y = (1.800000, 36.088000)
x, y = (1.850000, 36.576125)
x, y = (1.900000, 37.092000)
x, y = (1.950000, 37.636375)
x, y = (2.000000, 38.210000)
x, y = (2.050000, 38.813625)
x, y = (2.100000, 39.448000)
x, y = (2.150000, 40.113875)
x, y = (2.200000, 40.812000)
x, y = (2.250000, 41.543125)
x, y = (2.300000, 42.308000)
x, y = (2.350000, 43.107375)
x, y = (2.400000, 43.942000)
x, y = (2.450000, 44.812625)
x, y = (2.500000, 45.720000)
x, y = (2.550000, 46.664875)
x, y = (2.600000, 47.648000)
x, y = (2.650000, 48.670125)
x, y = (2.700000, 49.732000)
x, y = (2.750000, 50.834375)
x, y = (2.800000, 51.978000)
x, y = (2.850000, 53.163625)
x, y = (2.900000, 54.392000)
x, y = (2.950000, 55.663875)
x, y = (3.000000, 56.980000)
x, y = (3.050000, 58.341125)
x, y = (3.100000, 59.748000)
x, y = (3.150000, 61.201375)
x, y = (3.200000, 62.702000)
x, y = (3.250000, 64.250625)
x, y = (3.300000, 65.848000)
x, y = (3.350000, 67.494875)
x, y = (3.400000, 69.192000)
x, y = (3.450000, 70.940125)
x, y = (3.500000, 72.740000)
x, y = (3.550000, 74.592375)
x, y = (3.600000, 76.498000)
x, y = (3.650000, 78.457625)
x, y = (3.700000, 80.472000)
x, y = (3.750000, 82.541875)
x, y = (3.800000, 84.668000)
x, y = (3.850000, 86.851125)
x, y = (3.900000, 89.092000)
x, y = (3.950000, 91.391375)
x, y = (4.000000, 93.750000)
x, y = (4.050000, 96.168625)
x, y = (4.100000, 98.648000)
x, y = (4.150000, 101.188875)
x, y = (4.200000, 103.792000)
x, y = (4.250000, 106.458125)
x, y = (4.300000, 109.188000)
x, y = (4.350000, 111.982375)
x, y = (4.400000, 114.842000)
x, y = (4.450000, 117.767625)
x, y = (4.500000, 120.760000)
x, y = (4.550000, 123.819875)
x, y = (4.600000, 126.948000)
x, y = (4.650000, 130.145125)
x, y = (4.700000, 133.412000)
x, y = (4.750000, 136.749375)
x, y = (4.800000, 140.158000)
x, y = (4.850000, 143.638625)
x, y = (4.900000, 147.192000)
x, y = (4.950000, 150.818875)
x, y = (5.000000, 154.520000)
solution to the given integration function is 507.7692103416

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote