Help with coding (integral)

21 views (last 30 days)
leyla ahmed
leyla ahmed on 10 Nov 2020
Answered: Stephan on 10 Nov 2020
How can i solve this integral ((1/5*x)+1)*sqrt(1+exp(-2x)) by using Simpsons method? The upper limit is 1 and the lower limit is 0. I know how to solve it, but i keep getting these errors. It says "Invalid expression. Check for missin multiplication operator...".
  3 Comments
leyla ahmed
leyla ahmed on 10 Nov 2020
clear all
a = 0;
b = 1;
n = 20;
m = n/2;
dx = (b-a)/n;
x = a;
sum_f = ((1/5*a)+1).*sqrt(1+exp(-2*a));
eqn = @(x) ((1/5*x)+1).*sqrt(1+exp(-2*x));
for i = 1:m-1
x = x + dx;
sum_f = sum_f + 4*((1/5*x)+1).*sqrt(1+exp(-2*x));
x = x + dx;
sum_f = sum_ f + 2*((1/5*x)+1).*sqrt(1+exp(-2*x));
end
x = x + dx;
sum_f = sum_f + 4*((1/5*x)+1).*sqrt(1+exp(-2*x));
sum_f = sum_f + b/((1/5*b)+1).*sqrt(1+exp(-2*b));
leyla ahmed
leyla ahmed on 10 Nov 2020
This is what i got now, but i still get the same error.

Sign in to comment.

Accepted Answer

Stephan
Stephan on 10 Nov 2020
Typo in line 18 - use sum_f instead of sum_ f
a = 0;
b = 1;
n = 20;
m = n/2;
dx = (b-a)/n;
x = a;
sum_f = ((1/5*a)+1).*sqrt(1+exp(-2*a));
eqn = @(x) ((1/5*x)+1).*sqrt(1+exp(-2*x));
for i = 1:m-1
x = x + dx;
sum_f = sum_f + 4*((1/5*x)+1).*sqrt(1+exp(-2*x));
x = x + dx;
sum_f = sum_f + 2*((1/5*x)+1).*sqrt(1+exp(-2*x));
end
x = x + dx;
sum_f = sum_f + 4*((1/5*x)+1).*sqrt(1+exp(-2*x));
sum_f = sum_f + b/((1/5*b)+1).*sqrt(1+exp(-2*b));

More Answers (1)

David Hill
David Hill on 10 Nov 2020
a = 0; b = 1; n = 20;
h = (b-a)/n;
x = linspace(a,b,n+1);
f = ((1/5*x)+1).*sqrt(1+exp(-2*x));
F = h/3*(f(1)+2*sum(f(2:2:end-1))+4*sum(f(1:2:end-1))+f(end));

Categories

Find more on Numerical Integration and Differential Equations in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!