Array indices must be positive integers or logical values.

4 views (last 30 days)
z=0;
z1=0;
aa=zeros(3,3);
for i=1:k
z=z+t(i);
z1=z1+t(i-1);
aa(1,1)= aa(1,1) + (Qbar(1,1)*((-(T*0.5)+z)-(-(T*0.5)+z1)));
end

Answers (2)

Karim
Karim on 10 Jul 2022
The following part of you code can produce an error: i starts at 1, hence you are trying to acces t(0) which is not possible. In matlab the indexing starts at 1, hence the first element in the array t will be t(1)
for i = 1:k
...
z1 = z1+t(i-1);
...
end

Dhritishman
Dhritishman on 10 Jul 2022
z1=z1+t(i-1);
In your code, the value of i starts at 1, so t(i-1) will be trying to access t(0) which MATLAB doesn't allow as indexing should start from 1. Hence, it throws an error. The first element in the array t will be t(1), not t(0).

Community Treasure Hunt

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

Start Hunting!

Translated by