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!

 채택된 답변

Steven Lord
Steven Lord 2023년 5월 5일

0 개 추천

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.

추가 답변 (1개)

VBBV
VBBV 2023년 5월 5일
편집: VBBV 2023년 5월 5일
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

카테고리

도움말 센터File Exchange에서 Operators and Elementary Operations에 대해 자세히 알아보기

제품

릴리스

R2023a

질문:

Dan
2023년 5월 5일

답변:

2023년 5월 5일

Community Treasure Hunt

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

Start Hunting!

Translated by