You are now following this question
- You will see updates in your followed content feed.
- You may receive emails, depending on your communication preferences.
how to do definite integration when the integrand has a constant term
1 view (last 30 days)
Show older comments
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/692589/image.png)
How to find the value of this integral in matlab ? q should remain as it is in the final answer as I is a function of q
sigma= 1/(1.5e-12)
L=6.4747e3
k=2*pi*1.8331/(390e-12)
D=2.3167e-4
omega sholud me from 379.62 to 389.62
11 Comments
Akriti Raj
on 22 Jul 2021
Yes, can you please write the matlab code. I am new to matlab and I have been struggling with this problem since long.
Walter Roberson
on 22 Jul 2021
I think I need a higher resolution image of the equation.
Also please confirm that I is a function of the derivative of q as it appears to say I(q') =
Walter Roberson
on 22 Jul 2021
Edited: Walter Roberson
on 22 Jul 2021
format long g
Q = @(v) sym(v); %convert to rational
Pi = Q(pi);
sigma = 1/(Q(1.5)*10^-12)
sigma =
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/692714/image.png)
L = Q(64747)/10
L =
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/692719/image.png)
k = 2 * Pi* Q(18331)/10^4/(Q(390)*10^-12)
k =
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/692724/image.png)
D = Q(23167)*10^-8
D =
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/692729/image.png)
omega_min = Q(37962)/100
omega_min =
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/692734/image.png)
omega_max = Q(38962)/100
omega_max =
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/692739/image.png)
syms q
syms omega
inner = exp((omega/sigma)^2/2) * sinc(L*q^2/k + D*omega*L/2).^2
inner =
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/692744/image.png)
I = 1/(sigma * sqrt(2*Pi)) * int(inner, omega, omega_min, omega_max)
I =
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/692749/image.png)
simplify(I)
ans =
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/692754/image.png)
inner_approx = taylor(inner, omega, (omega_min+omega_max)/2, 'order', 4)
inner_approx =
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/692759/image.png)
I_approx = 1/(sigma * sqrt(2*Pi)) * int(inner_approx, omega, omega_min, omega_max)
I_approx =
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/692764/image.png)
simplify(I_approx)
ans =
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/692769/image.png)
fplot(I, [-5 5]); title('exact')
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/692774/image.png)
double(subs(I,q,[-5 -1 0 1 5]))
ans = 1×5
3.49318454188821e-18 3.49318582811878e-18 3.4931858817153e-18 3.49318582811878e-18 3.49318454188821e-18
vpa(subs(I,q,[-5 -1 0 1 5]*10^9))
ans =
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/692814/image.png)
fplot(I_approx, [-5 5]); title('approximated')
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/692779/image.png)
double(subs(I_approx,q,[-5 -1 0 1 5]))
ans = 1×5
-3.2139136293569e-16 -3.21388912778066e-16 -3.21388810680452e-16 -3.21388912778066e-16 -3.2139136293569e-16
vpa(subs(I_approx,q,[-5 -1 0 1 5]*10^9))
ans = ![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/692819/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/692819/image.png)
Walter Roberson
on 22 Jul 2021
Notice that up in the 10^9 area, that the integral could not be calculated with the default integration options.
Note that the taylor approximation is probably pretty wrong by the time of 10^9
What is the expected range of q ?
David Goodmanson
on 22 Jul 2021
Hi Akriti,
since you refer to this as a definite integral, what are the limits of integration?
Answers (0)
See Also
Categories
Find more on Calculus in Help Center and File Exchange
Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!An Error Occurred
Unable to complete the action because of changes made to the page. Reload the page to see its updated state.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
Asia Pacific
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)