Comparison of entries of one data set (just one column) with multiple columns of second data set
Info
This question is closed. Reopen it to edit or answer.
Show older comments
Hi everyone,
May someone help me here...
The picture below represent what I want to get. I think this needs 2 to 3 for loops and one if comand only ...
[Let me explain for more clerity:
May someone help me to perform the same calculation for all columns of first data set with the values of seocnd data se. 'a' reprsent the data set consists of 28 columns with diffrent data points; 'b' repsrent the data set of 76 enteries;
Initially, we pick first entry of 'b' suppose called as 'c' then we search in the first columns of 'a' with a condition that column consists of data points values greater than and less then the first vale of 'b'. If this condition not meet, then we look into the second column of 'a', third column and sop one...
When the condition meet... then we split the column into two parts: (1) consits of values greater than the first value of 'b' say 'e'; (2) consists of values less than the first value of b say 'f'. After that, we pick minimum value of 'e' say 'g' and maxium value of 'f' say 'h'. At the last step, I calcualte i=g-c and j=c-h,
later, I get my answer by this relation = i/(i+j)]

Answers (1)
KSSV
on 12 Sep 2020
To check whether all the values are less than or greather than a certain value/array. You can get the logical indices and use nnz. If nnz is equal to the length then the condition is met.
% Let a be any array and val be the value to check
a = rand(10,1) ;
val = 1 ;
n = length(a) ;
idx = a < val ;
if nnz(idx) == n
fprintf("all the elements in a are less than val\n")
end
11 Comments
aa
on 12 Sep 2020
KSSV
on 12 Sep 2020
If the matrices are of same size.....you can striaght away comapre them.
A = rand(5) ; B = rand(5) ;
idx1 = A>B
idx2 = A<B
aa
on 12 Sep 2020
KSSV
on 12 Sep 2020
If you have a single value to comapre with matrix.
A = rand(5) ;
val = rand ;
idx - A<val ;
If you have different arrays, you can use:
A = rand(5,1) ; B = rand(3,1) ;
idx = A.'>B
aa
on 12 Sep 2020
KSSV
on 12 Sep 2020
What are diemnsions of a and b?
aa
on 12 Sep 2020
KSSV
on 12 Sep 2020
What I mean by dimension is what is
size(a)
size(b)
The number of rows and columns present in the array.
aa
on 12 Sep 2020
KSSV
on 12 Sep 2020
for i = 1:64478
u = vpslit(b,a(:,i)) ;
end
aa
on 12 Sep 2020
This question is closed.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
