I'm trying to use the midpoint formula to compute the value of the integral, but it keeps showing the error message "Array indices must be positive integrs or logical values." I don't know how to solve it. Thanks!

 Respuesta aceptada

Steven Lord
Steven Lord el 5 de Mayo de 2023

0 votos

The variable func is a vector, the value of the function handle f evaluated at the points in x. On the line where you compute mid_val you're indexing into that vector with values that likely aren't integer values. Were you trying to evalate the function handle f at those points? If so use f instead of func on that line.

Más respuestas (1)

VBBV
VBBV el 5 de Mayo de 2023
Editada: VBBV el 5 de Mayo de 2023
assign the func to f inside the custom function as below , probably you mean this
f = @(x) x.^3.*exp(-x.^3);
a = 0; b = 10; n = 100;
mid_val = integral_mid(f,a,b,n)
mid_val = 0.2977
function mid_val = integral_mid(f,a,b,n)
h = (b-a)/n;
%x = a:h:b;
% assign the func to f
func = f;
xmid = (a+h/2):h:b;
mid_val = h*sum(func(xmid));
end

Categorías

Más información sobre Operators and Elementary Operations en Centro de ayuda y File Exchange.

Productos

Versión

R2023a

Preguntada:

Dan
el 5 de Mayo de 2023

Respondida:

el 5 de Mayo de 2023

Community Treasure Hunt

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

Start Hunting!

Translated by