WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

vektoren umschreiben in Boolean aber mit fortlaufenden zahle

 

Ristrafil
Forum-Anfänger

Forum-Anfänger


Beiträge: 32
Anmeldedatum: 03.12.20
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.12.2020, 12:03     Titel: vektoren umschreiben in Boolean aber mit fortlaufenden zahle
  Antworten mit Zitat      
Hallo zusammen ich habe folgende frage.

a = [ 1 2 3 4 5] --> x = [ 1 1 1 1 1]
b = [ 1 3 6 7 9] --> y = [1 0 1 0 0 1 1 0 1]

ich habe zwei vekotren a und b und möchte diese gerne in neue vektoren x und y umwandeln, wobei jede ziffer aus a und b in eine 1 in x und y umgewandelt werden soll. zudem sollen die ziffern aus a und b welche nicht erscheinen mit einer 0 angezeigt werden. z.B. bei vektor b kommt die 2 und 5 nicht vor, deshalb soll bei y an der 2ten und 5ten stelle eine 0 erscheinen.

bei kleinen ziffern/zahlen lässt sich das händisch ja gut machen, aber bei größeren zahlen wird das sehr mühselig.

vielen dank für eure hilfe
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 03.12.2020, 12:11     Titel:
  Antworten mit Zitat      
Hallo,

Code:
y = zeros(1, max(b));
y(b) = 1;


Wenn du logicals haben willst, kannst du false statt zeros verwenden.

Wenn du das öfter brauchst, kannst du eine kleine Funktion daraus machen.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Ristrafil
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 32
Anmeldedatum: 03.12.20
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.12.2020, 12:20     Titel:
  Antworten mit Zitat      
Hallo Harald

vielen dank, hat super geklappt
schönen tag noch

gruß

artur
Private Nachricht senden Benutzer-Profile anzeigen
 
Ristrafil
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 32
Anmeldedatum: 03.12.20
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.12.2020, 13:44     Titel:
  Antworten mit Zitat      
Hallo nochmal ne kleine frage Wink

die Umformung hat gut geklappt dank Harald´s Hilfe.

wie schaffe ich es, dass dann die beiden Vekotren x und y die selbe Länge haben, damit ich später mit ihnen rechnen kann.

Sprich aus dem hier:
a = [ 1 2 3 4 5] --> x = [ 1 1 1 1 1]
b = [ 1 3 6 7 9] --> y = [1 0 1 0 0 1 1 0 1]

soll am ende das stehen:

x = [1 1 1 1 1 0 0 0 0]
y = [ 1 0 1 0 0 1 1 0 1]

sprich beim vekotr x soll nach der 5 stelle mit 0er aufgefüllt werden, damit er die selbe länge hat wie y

vielen dank für eure hilfe
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 03.12.2020, 14:30     Titel:
  Antworten mit Zitat      
Hallo,

statt max(b) kannst du in den Befehlen auch max(max(a), max(b)) verwenden.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.