Unrecognized function or variable 'TrapComp'
3 views (last 30 days)
Show older comments
Hello, every time i run this code it returns (Unrecognized function or variable 'TrapComp'.),
please help me,
function I = Romberg(f,a,b,n,n_levels)
%
% Romberg uses the Romberg integration scheme to find
% integral estimates at different levels of accuracy.
%
% I = Romberg(f,a,b,n,n_levels) where
%
% f is an inline function representing the integrand,
% a and b are the limits of integration,
% n is the initial number of equal-length
% subintervals in [a,b],
% n_levels is the number of accuracy levels,
%
% I is the matrix of integral estimates.
%
I = zeros(n_levels,n_levels); % Pre-allocate
% Calculate the first-column entries by using the
% composite trapezoidal rule, where the number of
% subintervals is doubled going from one element
% to the next.
for i = 1:n_levels,
n_intervals = 2^(i-1)*n;
I(i,1) = TrapComp(f,a,b,n_intervals);
end
% Starting with the second level, use Romberg scheme to
% generate the remaining entries of the table.
for j = 2:n_levels
for i = 1:n_levels - j+1,
I(i,j) = (4^(j-1)*I(i+1,j-1)-I(i,j-1))/(4^(j-1)-1);
end
end
3 Comments
Star Strider
on 11 Dec 2020
‘You need to go back to wherever you downloaded that file and download all the associated functions with it, and save them to the same directory.’
That will likely solve your problem.
Answers (1)
Uday Pradhan
on 14 Dec 2020
Edited: Uday Pradhan
on 14 Dec 2020
Hi,
As already mentioned in the comments, MATLAB cannot find the function "TrapComp", hence the error. Looking at the code, this function seems to be the composite Trapezoidal rule which itself is pretty simple to implement. You may use this as TrapComp:
function integral = TrapComp(f, a, b, n)
h = (b-a)/n;
result = 0.5*f(a) + 0.5*f(b);
for q = 1:(n-1)
result = result + f(a + q*h);
end
integral = h*result;
end
Results:
>> f = inline('(x^2+3*x)^2');
>> format long
>> I = Romberg(f,0,1,2,3)
I =
5.531250000000000 4.700520833333333 4.700000000000000
4.908203125000000 4.700032552083333 0
4.752075195312500 0 0
Hope this helps!
See Also
Categories
Find more on Downloads in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!