Normalize columns of matrix with complex data?

I have an array with complex values and I want to normalise the columns. I tried normc(array). But the error is: Data is complex. Is there a way to get around this?

6 commentaires

Adam
Adam le 20 Jan 2017
What do you mean by normalise in this context?
belle
belle le 20 Jan 2017
sum of the squares of the elements in each column = 1 ( :
Stephen23
Stephen23 le 20 Jan 2017
@Bonnie: when you tell us what is means to normalize complex numbers, then we can show you how to do it in MATLAB.
Adam
Adam le 20 Jan 2017
The sum of the square of a complex number will still be complex so it can't be 1.
belle
belle le 20 Jan 2017
Take each element and multiply by its complex conjugate, so the elements would become real. Square each element and add together. To normalise, divide by sqrt of the sum of the squares.
belle
belle le 20 Jan 2017
worked out how to do it in MATLAB! :)

Connectez-vous pour commenter.

 Réponse acceptée

Adam
Adam le 20 Jan 2017
array = array ./ ( sum( ( array .* conj(array) ).^2 ) ).^0.25

1 commentaire

@adam Hi, is that the frobenius norm that you're dividing the matrix with?
Thanks

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by