How to integrate for each row of parameters in a matrix, rather than using a loop
3 views (last 30 days)
Show older comments
Hello,
I have been the following code to calculate an integral:
Price = @(z, pg0, pf0, epsilon) ...
(pg0.^(1-z) + pf0 .^(1-z)).^(1./(1-z)).^(1-epsilon); %
AvgPrice = integral(@(z) Price(z, pg0, pf0, epsilon), 0 ,20) ;
where pg0, pf0, epsilon are scalars. Is there a way to do this when the inputs are in a matrix, for instance when each input is a 5 by 1 matrix, to calculate the integral by using inputs from each row? So the output (AvgPrice) will also be a colum vector (5 by 1) with each element being the value of the integral? I can use a loop and run it five times but I wonder if there's a more efficient way to do it.
Thanks very much for your time!
0 Comments
Accepted Answer
Paul
on 12 Jan 2022
integral() can integrate a vector function of a scalar. It sounds like this is what you're looking for.
Whether or not it's more efficient is an interesting question.
0 Comments
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!