# MATLAB Help

1. Sep 17, 2004

### NINHARDCOREFAN

Approximate the integral on f(x)=exp(-x) on the interval x=[1,5]. Choose N=10, 100, 1000.

Okay here is what I did:
% a,b limits of integration

% x variable of integration

% f integrand

% N is the number of sub-intervals

% h width of each sub-interval

% TL, TR contribution from left and right endpoints

%TI contribution from the intermediate points

a= 1;

b= 5;

N = 10;

h=(b-a)/N;

x=[a:h:b];

TL=exp(-a);

TR=exp(-b);

TI=0;

for n=2:N

f = exp(-n) * x;

TI=TI+f;

end
I=(TL+2*TI+TR)*h*.5

I =

Columns 1 through 5

0.1606 0.1948 0.2291 0.2633 0.2976

Columns 6 through 10

0.3318 0.3661 0.4003 0.4346 0.4688

Column 11

0.5031

Aren't I suppose to get only one answer? Why am I getting all this?

2. Sep 21, 2004

### Owen

My experience with MATLAB is very limited but by the looks of it you have defined x as a row matrix, meaning that f will also be a row matrix and so will TI since your answer is a function of TI yo uare bound to end up with a row matrix. I haven't really looked at the maths involved, what method for integrating did you use ?

3. Sep 21, 2004

### enigma

Staff Emeritus
The problem arises here:
f = exp(-n) * x;

You're multiplying exp(-n) which is a scalar times x which is a vector.

To fix this you want to access the individual cell of the x vector.

Try replacing f = exp(-n) * x; with f = exp(-n) * x(n);