write the next column of one array to the previous column of another array

1 view (last 30 days)
if (k~=i)>0)
for l=1:L1
I(:,k,b) = aa(k,:,l,b)' ;
end
end
Here, for the case where k=i, 0 is entered in the kth column of the I matrix, but I don't want 0 to be entered and I want the next k+1 value of the aa matrix to be written in the kth column of the I matrix. So K=10 but I want to remove the case where k=i and make the size of the I matrix 9. How can I do this?
  1 Comment
Dyuman Joshi
Dyuman Joshi on 22 Jan 2023
It is quite unclear what exactly you want to do.
"So K=10 but I want to remove the case where k=i and make the size of the I matrix 9."
For which matrix do you want to make the size 9? Which dimension of size? We don't know the size of arrays I and aa.
It will be better if you give a proper example with data of what you want to do.

Sign in to comment.

Answers (1)

Sargondjani
Sargondjani on 22 Jan 2023
One problem in your current code is that you are overwriting I(:,k,b) for every l. so you might as well use:
for l=L1
(instead of for l=1:L1 )
Anyway, i think you want something like
i2 = 0
for i=1:k
if (k~=i)
i2=i2+1
I(:,i2,b) = aa(i,:,l,b)' ;
end
end

Categories

Find more on Creating and Concatenating Matrices in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!