Matlab problem. Command find

6 Ansichten (letzte 30 Tage)
Przemek Tomaszewski
Przemek Tomaszewski am 30 Aug. 2018
Bearbeitet: Anusha Sridharan am 2 Jan. 2019
Hey. I have a problem. I have an array with dimensions A = 1 x 10 and an array B = 12015x10. My question is: how to find the values of the B array, which are smaller than the value of the array A. I tried to do it with the find command:
c = find(A<B)
but the following message is displayed: "Matrix dimensions must agree".
PS. Sorry for my language but still learning.
  1 Kommentar
Anusha Sridharan
Anusha Sridharan am 27 Dez. 2018
Bearbeitet: Anusha Sridharan am 2 Jan. 2019
[Answers Dev] Restored edits
Hey. I have a problem. I have an array with dimensions A = 1 x 10 and an array B = 12015x10. My question is: how to find the values of the B array, which are smaller than the value of the array A. I tried to do it with the find command:
c = find(A<B)
but the following message is displayed: "Matrix dimensions must agree".
PS. Sorry for my language but still learning.

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Stephen23
Stephen23 am 30 Aug. 2018
Bearbeitet: Stephen23 am 30 Aug. 2018
You probably need to use bsxfun:
bsxfun(@lt,B,A)
  5 Kommentare
Przemek Tomaszewski
Przemek Tomaszewski am 30 Aug. 2018
Bearbeitet: Przemek Tomaszewski am 30 Aug. 2018
I wrote this badly. Now I would like to have an array of C, I would like to find values that will compensate for this "1".
idx=bsxfun(@gt, B, A);
d=c(idx);
Only the values from column 1 are displayed. How to make it display from all columns (10)?
Stephen23
Stephen23 am 29 Dez. 2018
Bearbeitet: Stephen23 am 29 Dez. 2018
"If I have an array 2x2 A = [2 3; 4 5]. This, if I would look for values greater than 3, would display such a table [0 0 1 1]. And what I mean is that the values are displayed to me [4 5]."
Your example (with a scalar B) is easy to achieve:
>> A = [2,3;4,5];
>> B = 3;
>> C = A(A>B)
C =
4
5
However this only works as long as B is a scalar, whereas in your original question you state that "B = 12015x10". and "A = 1x10". To deal with those non-scalar arrays you would need to answer the questions I asked you in my previous comment.
Consider these arrays:
>> A = [1,3,5]
A =
1 3 5
>> B = [0,2,4;9,7,5;6,6,6;3,2,1]
B =
0 2 4
9 7 5
6 6 6
3 2 1
Please show the expected output.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu MATLAB finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by