Solve integrals with Matlab

29 次查看(过去 30 天)
Hey guys i am working on a calculus problem and it requires me to use analytical solution, trapezoidal numerical integration, simpson's rule, lobatto quadrature and global adaptive quadrature. I keep getting errors and i have no idea what i am doing incorrect. Could someone help me write the code for this? Thanks.
Problem: f(x)= integral sign(5+1/sqrt(1-x^2)). Upper bound of integral sign is 1/2 and lower bound of integral sign is 0.
% Integrating using different commands
x=0:0.1:1/2;
y=(5+1/sqrt(1-x^2));
format long
% Analytical Solution
A0=(5+1/sqrt(1-x^2))
% Trapezoidal Numerical Integration
A1= trapz(x,y)
% Simpson's Rule
A2= quad('sqrt(1-x^2'x(1),x(end))
% Lobatto Quadrature
A3=quadl('sqrt(1-x^2'x(1),x(end))
% Global Adaptive Quadrature
A4=integral(intfun,x(1),x(end))

采纳的回答

David Wilson
David Wilson 2019-4-22
编辑:David Wilson 2019-4-22
Do you have the symbolic toolbox?
If so, start with the int command. You can do both indefinite and definite integration.
syms x real
f = 5 + 1.0./sqrt(1-x^2) % dot-divide not strictly needed here
Q = int(f,x) % indefinite
Q = int(f,x,0,1/2)
Now that we have an anlytical answer, , we can validate numerical schemes.
First we should make a vectorised anonymous function of the integrand,
f = @(x) 5 + 1.0./sqrt(1-x.^2)
Matlab has pre-canned routines for the final two integration schemes:
A3 =quadl(f,0,0.5)
A4=integral(f,0,0.5) % Global Adaptive Quadrature
For the (composite) trapz and Simpson's you need to decide on a step size (as you did above).
h = 0.1; % step size (guess)
x=0:h:1/2;
A1= trapz(x, f(x))
A quick hack of the Simpson's rule is
n = 10; % must be even
a = 0; b = 0.5; % integration limits
x = linspace(a,b,n+1)';
c = [1,repmat([4 2],1,n/2-1),4,1];
A2 = (b-a)*c*f(x)/n/3; %
It might be prudent to check all numerical values with the analytical one, especially the Simpson's implementation above.

更多回答(2 个)

mohamed adel
mohamed adel 2020-5-26
∫_3^5▒〖1/√(x^2-4) dx〗

Sara
Sara 2024-3-19
P(a,b)=1/√2π ∫_a^b▒〖e^((-x^2)/2) dx〗

类别

Help CenterFile Exchange 中查找有关 Numerical Integration and Differential Equations 的更多信息

产品


版本

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by