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

1 次查看(过去 30 天)
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 个评论
Dyuman Joshi
Dyuman Joshi 2023-1-22
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.

请先登录,再进行评论。

回答(1 个)

Sargondjani
Sargondjani 2023-1-22
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

类别

Help CenterFile Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by