How to apply numerical integration on a symbolic matrix?
2 views (last 30 days)
Show older comments
Shican Liu
on 26 Sep 2016
Commented: Hadi alimohammadi
on 4 Nov 2021
Can I use integral2 to calculate the matrix below on the domain[0,1]*[0,1];

My matrix is much more complicated than this one, and I do not want to calculate the symbolic expression one by one~
0 Comments
Accepted Answer
Andrei Bobrov
on 26 Sep 2016
Edited: Andrei Bobrov
on 26 Sep 2016
Please try this is code:
fun = {@(x,y)x+y,@(x,y)x.^2+y.^2;@(x,y)x-y,@(x,y)x.^2-y.^2}
q = cellfun(@(z)integral2(z,0,1,0,1),fun);
or let fs - a your symbolic matrix, then
fun = zeros(size(fs));
for jj = 1:numel(fs)
fun = matlab2Function(fs(jj));
out(jj) = integral2(fun, 0, 1, 0, 1);
end
2 Comments
Ali SeyedKavoosi
on 24 Jun 2018
my Matlab does not recognize matlab2Function. Is it in any update or app?
Hadi alimohammadi
on 4 Nov 2021
i have same problem!!!
Matlab2Function is not known function for matlab.
More Answers (1)
KSSV
on 26 Sep 2016
syms x y
A = [x+y x^2+y^2 ; x-y x^2-y^2] ;
X = int(A,x,0,1); % integrate w.r.t x between limits 0 and 1
Y = int(A,y,0,1) ; % integrate w.r.t y between limits 0 and 1
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!