Numerically integrating a symbolic expression

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

类别

Help CenterFile Exchange 中查找有关 Calculus 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by