Easy Noob Indexing Question
1 回表示 (過去 30 日間)
古いコメントを表示
I'm sure this answer is looming in front of me but I am missing it somehow. I have an array
A = [0 0;1 -1; -1 1;1 -1; -1 1];
and
B = [2 -2; -2 2;2 -2; -2 2;2 -2; -2 2;2 -2;0 0];
and I'm concatenating these two in the vertical direction but I only want rows 4:7 of my concatenated output.
I am doing this in two steps.
C = cat(1,A,B); % or some other calculation of vectors A and B
C = C(4:7,:);
How can I reduce this to one command by directly indexing the equation of "cat(1,A,B)" directly into C?
I know that I could do this by C = cat(1,A(end-1:end,:),B(1:2,:)). A and B are of variable length and I only want C to hold the concatenation +/-2 indices vertically. Is there another way in a single line?
2 件のコメント
KALYAN ACHARJYA
2020 年 12 月 19 日
Is there any issue with that, simplest and easiest?
C=[A;B];
C=C(4:7,:)
Image Analyst
2020 年 12 月 19 日
My programs have thousands of lines of code. Why does yours have to be just one line of code instead of 2? Your last way of using end will work for variable sizes arrays.
採用された回答
Rishabh Mishra
2020 年 12 月 23 日
Hi,
Use the code below for resolving your issue:
C=[A;B];
C=C(4:7,:);
This is the simplest way to code the solution for the issue you are facing.
Hope this helps !
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Creating and Concatenating Matrices についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!