Effacer les filtres
Effacer les filtres

Info

Cette question est clôturée. Rouvrir pour modifier ou répondre.

Index exceeds matrix dimensions

2 vues (au cours des 30 derniers jours)
Maryal
Maryal le 2 Déc 2017
Clôturé : MATLAB Answer Bot le 20 Août 2021
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);

Réponses (1)

Walter Roberson
Walter Roberson le 2 Déc 2017
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);

Cette question est clôturée.

Community Treasure Hunt

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

Start Hunting!

Translated by