MATLAB: How to extract values of last three columns in a matrix when second column value is 2

certain cell valuesextract

Hi,
Can anybody please help me in extracting values of last three columns from the attached icon.txt file in a matrix? It should store the values when second column value is 2. The output should be like the following:
38 3 2 % first line
3 40 2
10 39 1
66 4 3
36 73 37
3 74 40
75 3 38
------
-------
71 3 133 % last line

Best Answer

data = readmatrix('icon.txt');
req_data = data(data(:, 2)== 2, end-2:end);
If you are using MATLAB older version than R2019a
f = fopen('icon.txt');
data = cell2mat(textscan(f, repmat('%d', 1, 8), 'CollectOutput',true));
fclose(f);
req_data = data(data(:, 2)== 2, end-2:end);