Hi
how can i optimize this loop, if i want to include another indexing
mHome is an 15001x28 array
mBall is an 15001x3 array
for i=1:length(mHome)
output1(i,1)=pdist([mHome(i,1:2);mBall(i,1:2)]);
output1(i,2)=pdist([mHome(i,3:4);mBall(i,1:2)]);
output1(i,3)=pdist([mHome(i,5:6);mBall(i,1:2)]);
output1(i,4)=pdist([mHome(i,7:8);mBall(i,1:2)]);
output1(i,5)=pdist([mHome(i,9:10);mBall(i,1:2)]);
output1(i,6)=pdist([mHome(i,11:12);mBall(i,1:2)]);
output1(i,7)=pdist([mHome(i,13:14);mBall(i,1:2)]);
output1(i,8)=pdist([mHome(i,15:16);mBall(i,1:2)]);
output1(i,9)=pdist([mHome(i,17:18);mBall(i,1:2)]);
output1(i,10)=pdist([mHome(i,19:20);mBall(i,1:2)]);
output1(i,11)=pdist([mHome(i,21:22);mBall(i,1:2)]);
output1(i,12)=pdist([mHome(i,23:24);mBall(i,1:2)]);
output1(i,13)=pdist([mHome(i,25:26);mBall(i,1:2)]);
output1(i,14)=pdist([mHome(i,27:28);mBall(i,1:2)]);
end
% I have tried this but it does not work
for i=1:length(mHome)
for k=1:size(mHome,2)
output1(i,k)=pdist([mHome(i,k);mBall(i,1:2)]);
end
end

3 Comments

output1(k,1)=pdist([mHome(k,(k*2)-1:k*2);mBall(k,1:2)]);
% Replaced i with k, assuming you have preallocated before the loop (good practice).
Index in position 2 exceeds array bounds (must not exceed 28).
Error in Velocity (line 76)
output2(k,1)=pdist([mHome(k,(k*2)-1:k*2);mBall(k,1:2)]);
i get this error mHome is a 15001x28 array
Even after the below?
for k=1:size(mHome,2)
output1(k,1)=pdist([mHome(k,(k*2)-1:k*2);mBall(k,1:2)]);
end
What the size of mBall?
mBall is a 15001x3 array.
but im only using the first 2 columms
my output should be a 15001x14 array

Sign in to comment.

 Accepted Answer

for i=1:length(mHome)
for k=1:2:size(mHome,2)-1
output1(i,k)=pdist([mHome(i,k:k+1);mBall(i,1:2)]);
end
end

1 Comment

many thanks.
the only problem is that the output is a 15001x27 array and it should be a 15001x27 array.
right now everyother column is a colum with 0

Sign in to comment.

More Answers (0)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!