필터 지우기
필터 지우기

Ignore answers with imaginarey components

조회 수: 1 (최근 30일)
Justin Bruh
Justin Bruh 2016년 11월 1일
편집: Thorsten 2016년 11월 1일
I have a for loop nested inside of another for loop. I am using each for loop to vary a specific number (i.e A and B) to get every possible of combination of them and a corresponding result (C). I end up with a matrix of 3 columns and thousands of rows. I need to find the highest value of C. However all values of C with imaginary components are invalid. Can MATLAB eliminate all the values of C with imaginary components and their corresponding values of A and B to give me a new, and much smaller, matrix?

답변 (2개)

KSSV
KSSV 2016년 11월 1일
doc isreal
On using isreal output is a logical 1 if number is real and logical 0 if number is complex. Call isreal on the array which gives 1 and 0 from there eliminate all 0 s which gives you only real.

Thorsten
Thorsten 2016년 11월 1일
편집: Thorsten 2016년 11월 1일
This is basically the implementation of Dr. Siva Srinivas Kolukula's answer:
ind = ~isreal(C);
A(ind) = [];
B(ind) = [];
C(ind) = [];

카테고리

Help CenterFile Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by