Integration with both limits variable
17 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Sophie Malcolm
el 19 de Sept. de 2020
Comentada: Bjorn Gustavsson
el 20 de Sept. de 2020
Hi, I am trying to solve an integration where both limits are variable. The function itself being integrated is simple, it is just exp(-W^2). I can solve the inegration fine using this method without limits - the limits are the issue here. I think it could be because of the use of the symbolic functions to integrate? But I have tried other methods, and I cannot get it to work with these limits. I get the error:
error in sym/subsref (line 898)
R_tilde = builtin('subsref',L_tilde,Idx);
The upper limit is -phi, and the lower limit is beta-phi.
Another issue could be because the upper limit is the same as the variable being integrated. However I don't know how to get around that issue either?
I have just shown some of my code, hopefully this is enough to make sense of what I am trying to do. Any help would be greatly appreciated!
t=linspace(0,1000);
r=linspace(0,100);
D=2;
beta=r./sqrt(4*D.*t);
phi=U.*sqrt(t./D);
W=beta-phi;
% Performing integration
syms W
f=exp(-(W.^2));
a=-phi;
b=beta-phi;
int(f,W,a,b)
3 comentarios
Bjorn Gustavsson
el 20 de Sept. de 2020
Your solution is simply:
(pi^(1/2)*(erf(b) - erf(a)))/2.
Respuesta aceptada
Ameer Hamza
el 19 de Sept. de 2020
You are getting an error because you are passing arrays (a and b) to int() as its limit. The limits must be scalar. For example, try this
t=linspace(0,1000);
r=linspace(0,100);
D=2;
U = 3;
beta=r./sqrt(4*D.*t);
phi=U.*sqrt(t./D);
W=beta-phi;
% Performing integration
syms W
f=exp(-(W.^2));
a=-phi;
b=beta-phi;
int(f,W,a(2),b(2))
2 comentarios
Más respuestas (1)
Bjorn Gustavsson
el 19 de Sept. de 2020
Matlab has both a numerical and a symbolic version of the error-function. That will be the answer to your problem. The numeric version is vectorized, so it can handle your inputs without problems.
HTH
Ver también
Categorías
Más información sobre Number Theory en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!