Integral of user-defined function
Show older comments
I have the following MATLAB code, and would like to evaluate the integral of compcdf_mgc function with respect to variable y. However, I'm getting the following error: "Unable to perform assignment because the left and right sides have a different number of elements."
rate = 1;
num_steps = 2;
num_proc = num_steps;
f = @(y) compcdf_mgc(num_steps, rate, num_proc, y);
integral_value = integral(f, 0, Inf);
function final = compcdf_mgc(num_steps, rate, c, y)
n = num_steps;
scale = 1/rate; % this is b = 1/lambda
compcdfvec = zeros(n, 1);
for i = 1:n
compcdfvec(i) = 1 - gamcdf(y, n+i, scale);
end
final = ((1/n)*sum(compcdfvec))^c;
end
Accepted Answer
More Answers (1)
John D'Errico
on 4 Jun 2023
0 votes
Is your code vectorized? That is, what happens when a VECTOR of elements for y is passed in? (It does not appear to be.)
integral assumes a vectorized function.
Categories
Find more on Programming 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!