Getting the error. "index exceeds the number of array elements".
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
AVINASH SAHU
le 30 Juil 2022
Commenté : AVINASH SAHU
le 30 Juil 2022
a =2;
ndiv = 100;
x = linspace(0,1,ndiv);
dx = x(2)-x(1);
for i = 2: (ndiv-1)
h(i) = a - (a-1)*x(i);
dh = (h(i+1)-h(i-1))/(2*dx);
end
0 commentaires
Réponse acceptée
Steven Lord
le 30 Juil 2022
When i is 2, you assign to h(2) but then on the next line you attempt to access h(3). That element doesn't exist yet.
I suggest moving the second line of your loop to after the loop and removing its dependence on the loop variable.
x = (1:10).^2
y = x(2:end)+x(1:end-1)
Note that y has one fewer element than x does, so you'll need to handle the edges.
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Matrix Indexing dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!