Index exceeds matrix dimensions in very simple equation

1 Ansicht (letzte 30 Tage)
shahin hashemi
shahin hashemi am 21 Dez. 2017
Beantwortet: Birdman am 21 Dez. 2017
x = sym('x', [1 3*N], 'real');
N=4;
L=1;
for i=2:N+1
pl(:,:,i)=L*[(cos(x(3*i-2))*(1-cos(x(3*i-1))))/x(3*i-1) (sin(x(3*i-2))*(1-cos(x(3*i-1))))/x(3*i-1) sin(x(3*i-1))/x(3*i-1)]';
end
dear all i dont understand why i get Index exceeds matrix dimensions error in this code
i really appreciated if you could help me

Akzeptierte Antwort

Birdman
Birdman am 21 Dez. 2017
When i=4, x(3*i-1) means you try to reach 13th element of x, but you defined its size as [1 12].
When i=5, x(3*i-1) and x(3*i-2) both try to reach 14th and 13th element of x, yet which is invalid.
Either change size of x, or change the value N accordingly.

Weitere Antworten (0)

Kategorien

Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by