Integration with both limits variable
23 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Ameer Hamza
2020-9-19
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))
更多回答(1 个)
Bjorn Gustavsson
2020-9-19
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
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Number Theory 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!