Springen naar inhoud

Matlab - Matrix omzetten naar 1-en en 0-en


  • Log in om te kunnen reageren

#1

jellumur

    jellumur


  • 0 - 25 berichten
  • 2 berichten
  • Gebruiker

Geplaatst op 27 februari 2013 - 19:58

Ik heb al een tijdje geGoogled, maar kan het nergens vinden. Toch denk ik dat er ongetwijfeld een commando is in Matlab waarmee je het volgende kan doen:

Voor de matrix B:

B = [0 2 0;1 0 4;3 -3 0]

Een matrix C genereren, waarin voor alle positieve waarden in B een 1 wordt ingevuld en voor alle nul-waarden een 0 en (hoewel ik dat in dit geval niet nodig heb) voor alle negatieve waarden een -1.

C = [0 1 0;1 0 1;1 -1 0]

Alvast bedankt!

Ps Delen door zichzelf (B./B) levert NaN op de plekken van de 0-en op. Dat is dus niet de bedoeling.

Dit forum kan gratis blijven vanwege banners als deze. Door te registeren zal de onderstaande banner overigens verdwijnen.

#2

Xenion

    Xenion


  • >1k berichten
  • 2606 berichten
  • Moderator

Geplaatst op 27 februari 2013 - 20:06

Je kan het volgende doen:
C = zeros(size(B));
C(B>0) = 1;
C(B<0) = -1;
(dit heet logical indexing)

C = (B>0) - (B<0)
werkt ook.

#3

jellumur

    jellumur


  • 0 - 25 berichten
  • 2 berichten
  • Gebruiker

Geplaatst op 27 februari 2013 - 20:12

Mijn dank is groot!





0 gebruiker(s) lezen dit onderwerp

0 leden, 0 bezoekers, 0 anonieme gebruikers

Ook adverteren op onze website? Lees hier meer!

Gesponsorde vacatures

Vacatures