Getting the error. "index exceeds the number of array elements".
2 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Steven Lord
2022-7-30
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.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Matrix Indexing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!