Line, Column and Magnitude in a matrix.
3 views (last 30 days)
Show older comments
Hello good day.
I want to find a code that indicates the Line, Column and Magnitude of an element of an array. For which I have prepared the following code:
% ____________________________________________
clc; clear; close all; short format
N = 3;
vctrs = [1 12 14
12 51 14
17 81 91
19 10 12
15 2 33
16 17 18
13 21 13
15 31 3];
[val, pos] = min (vctrs);
for b = 1: 1: N
Value (b) = val (1, b)
[line (b), column (b)] = find (vctrs == Value (b))
end
% ____________________________________________________
This code gives me the result:
Value =
1 2 3
line =
1 5 8
column =
1 2 3
Which I am looking for, but if I repeat any of those minimum values in any line or column it marks the following error:
_________________________________________________
In an assignment A (I) = B, the number of elements in B and I must be the same.
Error in practice2 (line 16)
[line (b), column (b)] = find (vctrs == Value (b))
___________________________________________________
The magnitudes that form the matrix are constantly changing and sometimes it does not show me this error, but this is not sure.
I would like the code to indicate the minimum magnitude per column as well as its position and if in a single column there are two or three repeated minimums that only mark the position and magnitude of the first minimum value of that column.
I hope you help me.
Regards.
3 Comments
darova
on 28 Oct 2019
Function min already returns number of line/row in pos variable, val - magnitude
[val, pos] = min(vctrs);
Answers (0)
See Also
Categories
Find more on Logical 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!