Effacer les filtres
Effacer les filtres

Finding equal values, between values, greater than and lesser than values of a matrix based on some values

1 vue (au cours des 30 derniers jours)
Hi. Suppose I have matrix A of size (m*n) e.g.
A = [12 44
93 43
128 44
145 41
180 41
220 40
280 40];
and the a,b,c and d values e.g.
a = 10
b = 95
c = 145
d = 290
As you know
a < A(1,1)
A(2,1) < b < A(3,1)
c = A(4,1)
d > A(7,1)
I want Matlab to do above process and search the a,b,c and d values in the A(:,1) and tell me that the a,b,c and d values are lesser than or greater than or equal or lying between what members of A(:,1).
Thanks for your help.
  4 commentaires
James Tursa
James Tursa le 7 Nov 2017
You did not answer my request. Please provide the exact variable outputs you would like based on your example. I.e., at the end of your code, what variables would you like as output and what specific values would they contain for your example above?
mr mo
mr mo le 7 Nov 2017
Modifié(e) : mr mo le 7 Nov 2017
for this example I want to reach these outputs if we consider that the a,b,c,d values are given to the code respectively, so I want these out puts respectively:
0 12
93 128
145
280 1000
which means a is lesser than 12 and b is between 93 and 128 and c is equal to 145 and d is between 280 and 1000.

Connectez-vous pour commenter.

Réponse acceptée

Andrei Bobrov
Andrei Bobrov le 7 Nov 2017
A = [12 44
93 43
128 44
145 41
180 41
220 40
280 40];
a = 10;
b = 95;
c = 145;
d = 290;
ii_interval_of_1st_column_of_A = discretize([a,b,c,d],[-inf;A(:,1);inf]);
  12 commentaires
mr mo
mr mo le 8 Nov 2017
Thank you very much. This code works very well now.
mr mo
mr mo le 18 Déc 2017
Modifié(e) : mr mo le 18 Déc 2017
@Andrei Bobrov: Hi. Thanks again for your help.
I run your above code in my matlab m-file and I must run this code in for loops, but this code is taking to much running time.
For example I run the for loops 5 times and its running time is given by Run and Time tool in Matlab in the below image.
The red digits are showing the running time of that line in second.
I must run your code 1000 times and the running time will be more than 10 hours.
Is there any possibilities to change this code to decreasing the running time?
Thanks you very much.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by