Automatically identify two numbers within an matrix
2 views (last 30 days)
Show older comments
Alberto Acri on 16 Feb 2023
Edited: Antonios Dougalis on 16 Feb 2023
Is there any way to automatically locate two numbers within a matrix?
- for the file "matrix_1.txt" I am interested in identifying the following numbers 194 (min) and 201 (max)
- for the file "matrix.txt" I am interested in identifying the following numbers 175 (min) and 199 (max)
So I am interested in a code that can identify these numbers without me knowing them. Like the max/min command that identifies the max/min within a matrix for example.
John D'Errico on 16 Feb 2023
You are not telling us enough information. You want to find a number, like the max and min, But they may not be the smallest or largest numbers in the matrix. In fact, they are not even close to that.
So apparently you know what you want, but cannot describe it. And the matrices you show are not at all clear in how you would decide on those specific values.
Voss on 16 Feb 2023
Edited: Voss on 16 Feb 2023
matrix = readmatrix('matrix.txt');
matrix_1 = readmatrix('matrix_1.txt');
min_matrix = min(matrix(matrix >= 70))
max_matrix = max(matrix(matrix >= 70))
min_matrix_1 = min(matrix_1(matrix_1 >= 70))
max_matrix_1 = max(matrix_1(matrix_1 >= 70))
More Answers (1)
Mathieu NOE on 16 Feb 2023
Edited: Mathieu NOE on 16 Feb 2023
welcome back !
here a demo for the 'matrix.txt' case
the other one is basically the same , simply change the min / max values
M = readmatrix('matrix.txt');
value_min = 175;
value_max = 199;
ind = find(M>=value_min & M<=value_max); % linear index
M(ind) % show the M values (to double check)
[r,c] = ind2sub(size(M),ind) % show corresponding row / col indexes
Find more on Resizing and Reshaping Matrices in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!