"Kobye " <email@example.com> wrote in message news:firstname.lastname@example.org... > Steve, I'm quite unsure about how one would proceed with this. First of > all, I guess I would have to use integral2 since I'm performing a surface > integral. Second of all, it doesn't seem like MATLAB likes numerically > integrating a matrix per entry. I was trying the below example as a > demonstrator. > > a=[x^2,y^3;x*y,2*y*x^2] > > b=matlabFunction(a) > > q = integral2(b,0,1,0,1) > > I get a bunch of errors. I have no doubt that I can extract each entry > from the matrix individually, define it as a function, and then integrate > it numerically. However, there are so many operations here that it seems > at first glance it wouldn't be efficient.
I wouldn't be so sure. The cost of N matrix entry extractions plus N numeric integrations may still be less than the cost of N symbolic integrations, particularly if your functions are complicated. For this simple example the symbolic approach wins; for a more complicated function I expect it may be different.
syms x y a=[x^2,y^3;x*y,2*y*x^2]; tic q = zeros(size(a)); for k = 1:numel(a) b = matlabFunction(a(k), 'vars', [x y]); q(k) = integral2(b, 0, 1, 0, 1); end toc