Reformat a matrix based on common column

Below is my 140*142 matrix. All odd columns (1,3,5...) are fixed code numbers for different systems. All even columns (2,4,6..) are time (durations) for each system. So for every value of an odd column (for example 1) there are 70 values. I want to remove all odd columns and just keep one column for fixed codes. and 70 columns for durations. My new matrix should be 140*72 shape. Any easy way to handle this problem in MATLAB?
New matrix
Fixed codes | dur 1 | dur 2|.... |dur 71
-15536 a b .. c
.
.
.
1001 x y .. z
Capture.PNG

 采纳的回答

Jon
Jon 2019-6-27
编辑:Jon 2019-6-27
Hi Devansh,
You can use basic MATLAB indexing to solve your problem, say your original matrix is given by A, then use
% generate column indices, to select first column and the columns 2,4,6..142
idx = [1 2:2:142]
% assign new matrix that has all of the rows in A ":", and just the columns "idx" that you want
B = A(:,idx)

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Resizing and Reshaping Matrices 的更多信息

产品

版本

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by