Pairs of elements that meet a condition?
조회 수: 2 (최근 30일)
이전 댓글 표시
Suppose all_val is an nx2 matrix of real numbers.
How to get a matrix cond_val with only the rows of all_val for which
fun(j1)*fun(j2) < 0 % for some scalar-input function fun.m
Where j1 is the element from column 1 and j2 is the corrosponding element from column 2 of the rows of all_val.
댓글 수: 0
채택된 답변
추가 답변 (2개)
Massimo Zanetti
2016년 10월 9일
편집: Massimo Zanetti
2016년 10월 9일
A=rand(15,2);
f=@(x) x.^2; %or another function you define
C=cell2mat( arrayfun( @(k) f(A(k,1))*f(A(k,2))<0 , (1:15)' ) );
댓글 수: 0
Star Strider
2016년 10월 9일
I have no idea what ‘fun’ does or what ‘all_vals’ contains, but you can do something like this to create a logical vector output:
all_vals = randi(9, 10, 2); % Create Matrix
fun = @(x) x - 5; % Create Function
Out = (fun(all_vals(:,1)) .* fun(all_vals(:,2))) < 0; % Logical Vector Output
Elements of ‘Out’ equal to 1 are true so the condition was met, 0 are false.
댓글 수: 0
참고 항목
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!