Ignore answers with imaginarey components

1 Ansicht (letzte 30 Tage)
Justin Bruh
Justin Bruh am 1 Nov. 2016
Bearbeitet: Thorsten am 1 Nov. 2016
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?

Antworten (2)

KSSV
KSSV am 1 Nov. 2016
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 am 1 Nov. 2016
Bearbeitet: Thorsten am 1 Nov. 2016
This is basically the implementation of Dr. Siva Srinivas Kolukula's answer:
ind = ~isreal(C);
A(ind) = [];
B(ind) = [];
C(ind) = [];

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by