Index exceeds the number of array elements. Index must not exceed 0. Help with debugging.

I just can't figure out what's wrong with the loop that this error occurs:
Index exceeds the number of array elements. Index must not exceed 0.
n_even=2:2:10;
x=1:10;
for j=1:length(n_even)
for k=1:length(x)
y(k)=8+4.*cos(x(k));
[h_simp(j,k),I1_simp(j,k)]=simpson13(@(x) 8+4.*cos(x(k)),0,y(k),n_even(j));
end
end

5 comentarios

I suspect the error is inside simpson13
@(x) 8+4.*cos(x(k))
I doubt that "simpson13" calls the function with a vector of changing length for x.
But simpson13 might, for example, be written in terms of global variables... that are not initialized.
You can see from this experiment that the overall framework does not give the indexing error, so the problem must be in simpson13
simpson13 = @(f, p, q, r) deal(randi(9), randi(9));
n_even=2:2:10;
x=1:10;
for j=1:length(n_even)
for k=1:length(x)
y(k)=8+4.*cos(x(k));
[h_simp(j,k),I1_simp(j,k)]=simpson13(@(x) 8+4.*cos(x(k)),0,y(k),n_even(j));
end
end
h_simp
h_simp = 5×10
5 1 1 4 5 8 2 2 4 6 8 3 9 8 2 6 6 9 2 5 3 7 9 9 3 6 7 3 9 7 5 7 9 8 1 8 2 7 3 9 6 6 5 7 4 6 7 9 5 1
Ok that’s interesting… I guess you get the same dimensions matrice when you print the I1_simp.

Iniciar sesión para comentar.

Respuestas (0)

Categorías

Preguntada:

el 19 de Dic. de 2022

Comentada:

el 19 de Dic. de 2022

Community Treasure Hunt

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

Start Hunting!

Translated by