MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

# Solution 161639

Submitted on 13 Nov 2012 by Robert Canfield

Correct

46Size
`This solution is locked. To view this solution, you need to provide a solution of the same size or smaller.`

### Test Suite

Test
Code Input and Output
1
Pass

```%% Simple Trapezoidal Rule
p=[2 0 -4 0 -1 1];
a=-2;
b=4;
f = @(x) polyval(p,x);
assert(isequal(trapezoidal_rule(f,a,b,1),5280))
```

2
Pass

```%% Composite Trapezoidal Rule for 2 intervals
p=[2 0 -4 0 -1 1];
a=-2;
b=4;
f = @(x) polyval(p,x);
assert(isequal(trapezoidal_rule(f,a,b,2),2634))
```

3
Pass

```%% Composite Trapezoidal Rule for 4 intervals
p=[2 0 -4 0 -1 1];
a=-2;
b=4;
f = @(x) polyval(p,x);
assert(isequal(trapezoidal_rule(f,a,b,4),1516.875))
```

4
Pass

```%% Exact analytical comparison
p=[2 0 -4 0 -1 1];
a=-2;
b=4;
f = @(x) polyval(p,x);
P=polyint(p);
I_correct=polyval(P,b)-polyval(P,a);
I=trapezoidal_rule(f,a,b);
assert(abs(I-I_correct)<1)
```

5
Pass

```%% Exact analytical comparison--higher tolerance
p=[2 0 -4 0 -1 1];
a=-2;
b=4;
f = @(x) polyval(p,x);
I = trapezoidal_rule(f,a,b,1000);
P=polyint(p);
I_correct=polyval(P,b)-polyval(P,a);
assert(abs(trapezoidal_rule(f,a,b,1000)-I_correct)<1e-1)
```