Ignore answers with imaginarey components

1 vue (au cours des 30 derniers jours)
Justin Bruh
Justin Bruh le 1 Nov 2016
Modifié(e) : Thorsten le 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?

Réponses (2)

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

Catégories

En savoir plus sur Loops and Conditional Statements 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