Numerically integrating a symbolic expression

I am trying to integrate a matrix of symbolic entries in which all entries are function of x and y. This matrix is result of previous calculations and cannot be integrated symbolically. I want to numerically integrate it over a rectangluar region between points (-1,-1) , (1,-1), (1,1) and (-1,1). When I use integral2 function, the MATLAB gives following error message:
Error using integral2Calc>integral2t/tensor (line231) ...
A minimum working example is given below:
clear
close
clc
syms x y
f = sin(x) - cos(y)
%This will not work.
fun = @(x, y) f
q = integral(fun, -1, 1, -1, 1)
%This will work.
fun1 = @(x, y) sin(x) - cos(y)
q = integral(fun1, -1, 1, -1, 1)
Since the size of matrix is large (12 x 12) and it is inside a for loop, I cannot manually copy paste and run it.
Regards,
Ali Baig

 채택된 답변

madhan ravi
madhan ravi 2019년 2월 13일

2 개 추천

syms x y
f = matlabFunction(sin(x) - cos(y)); % read about matlabFunction()
q = integral2(f, -1, 1, -1, 1)
which integral2 -all %what shows up?

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Symbolic Math Toolbox에 대해 자세히 알아보기

질문:

2019년 2월 13일

댓글:

2019년 2월 13일

Community Treasure Hunt

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

Start Hunting!

Translated by