Info

此问题已关闭。 请重新打开它进行编辑或回答。

Index exceeds matrix dimensions

2 次查看(过去 30 天)
Maryal
Maryal 2017-12-2
关闭: MATLAB Answer Bot 2021-8-20
I have written this code but keep getting the error "Index exceeds matrix dimensions"
x=5
N = 30
i = 1 : N;
k = 5-i+(N-3);
y = 2 .* k(1:N-2) .* x(i(1:N-2)+1) + 3 .* x(i(1:N-2)-1);

回答(1 个)

Walter Roberson
Walter Roberson 2017-12-2
Your original equation
y=2k*x(i+1)+3*x(i-1)
implies that x is a vector being indexed at i+1 and i-1.
Your current code has
x = 5;
which is a scalar. You cannot index a scalar at anything other than [] or 1 or true or false.
If your original code was intended to represent multiplication rather than indexing then:
y = 2 .* k(1:N-2) .* x .* (i(1:N-2)+1) + 3 .* x .* (i(1:N-2)-1);

此问题已关闭。

标签

Community Treasure Hunt

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

Start Hunting!

Translated by