How can I calculate the integral2 using sum of prod?

syms m r theta
xm = 1:29;
ym = 1:29;
fun = @(r,theta) (...
symprod((1 - exp(((1 - sqrt((r.*cos(theta)-(xm(m))).^2 + (r.*sin(theta)-(ym(m))).^2))))),m, 1, 29 )...
);
solve = integral2(fun,0,30,0,2 * pi);
How can I solve this problem?

 Réponse acceptée

Vladimir Sovkov
Vladimir Sovkov le 5 Jan 2020
Modifié(e) : Vladimir Sovkov le 5 Jan 2020
symprod does not support the element-wise multiplication, which is needed for integral2.
You sholuld probably define your fun via a little longer code with the element-wise operations, e.g.
xm = 1:29;
ym = 1:29;
fun = @(r,theta)(1-exp(((1-sqrt((r.*cos(theta)-(xm(1))).^2+(r.*sin(theta)-(ym(1))).^2)))));
for k=2:numel(xm)
fun = @(r,theta) fun(r,theta) .* (1-exp(((1-sqrt((r.*cos(theta)-(xm(k))).^2+(r.*sin(theta)-(ym(k))).^2)))));
end
solve = integral2(fun,0,30,0,2 * pi)

Plus de réponses (0)

Catégories

En savoir plus sur Numerical Integration and Differential Equations dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by