For Loop operating with last and first entry of array
1 回表示 (過去 30 日間)
古いコメントを表示
If i have an array like this:
A=[1;5;6;8];
and i apply a simple for loop like this:
for k=1:4
B(k)=A(k)+A(k+1);
end
How can i write the code, so the last entry of my array A makes the operation with the first entry aswell, namely 8+1=9?
0 件のコメント
回答 (1 件)
David Fletcher
2018 年 4 月 4 日
編集済み: David Fletcher
2018 年 4 月 4 日
Like this?
A=[1;5;6;8];
B=A(1:length(A))+[A(2:length(A));A(1)]
B =
6
11
14
9
2 件のコメント
David Fletcher
2018 年 4 月 4 日
So you want it to operate as in the previous example but summing successive rows of a 2D matrix (and the last and first row) rather than the columns of the 1D matrix that you presented as your example?
Like this:
A=[1 1 1 1;2 2 2 2;3 3 3 3;4 4 4 4]
B=A(1:size(A),:)+[A(2:size(A),:);A(1,:)]
A =
1 1 1 1
2 2 2 2
3 3 3 3
4 4 4 4
B =
3 3 3 3
5 5 5 5
7 7 7 7
5 5 5 5
参考
カテゴリ
Help Center および File Exchange で Loops and Conditional Statements についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!