# How can I extract exact values from a single column of a matrix?

10 views (last 30 days)
Sam Hurrell on 5 Jul 2021
Answered: Star Strider on 5 Jul 2021
The matrix in question has x, y, z coordinates in its first 3 columns respectively. I tried using a for-loop to go through the matrix and if it came across a row where x=0.025 then it would copy the entire row to a second matrix in it's 'f' row then f=f+1. The second matrix was premade with zeros and is the correct size, however it keeps resulting in no change to it.

Star Strider on 5 Jul 2021
Try something like this —
M = randi(50, 50, 3)/1000 % Original Matrix
M = 50×3
0.0220 0.0010 0.0070 0.0320 0.0060 0.0030 0.0280 0.0440 0.0110 0.0140 0.0280 0.0050 0.0360 0.0220 0.0170 0.0110 0.0390 0.0350 0.0020 0.0410 0.0480 0.0030 0.0060 0.0260 0.0250 0.0060 0.0320 0.0050 0.0290 0.0380
Lv = M(:,1) == 0.025 % Logical Vector 'Mask'
Lv = 50×1 logical array
0 0 0 0 0 0 0 0 1 0
nrtrue = nnz(Lv) % Number Of Occurrences (Optional)
nrtrue = 3
N = M(Lv,:) % New Matrix
N = 3×3
0.0250 0.0060 0.0320 0.0250 0.0480 0.0420 0.0250 0.0010 0.0100
Make appropriate changes to get the result you want.
.

### Categories

Find more on Resizing and Reshaping Matrices in Help Center and File Exchange

R2021a

### Community Treasure Hunt

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

Start Hunting!

Translated by