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

1 回表示 (過去 30 日間)
Vecihi He
Vecihi He 2023 年 1 月 22 日
回答済み: Sargondjani 2023 年 1 月 22 日
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 Center および File ExchangeCreating and Concatenating Matrices についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by