How to apply numerical integration on a symbolic matrix?

2 次查看(过去 30 天)
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~

采纳的回答

Andrei Bobrov
Andrei Bobrov 2016-9-26
编辑:Andrei Bobrov 2016-9-26
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

更多回答(1 个)

KSSV
KSSV 2016-9-26
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

类别

Help CenterFile Exchange 中查找有关 Numerical Integration and Differentiation 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by