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

Vektor mit mehreren Werten vergleichen

 

H_Ps

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.09.2015, 16:51     Titel: Vektor mit mehreren Werten vergleichen
  Antworten mit Zitat      
Hallo,

ich habe einen Zahlenbereich von z.B 10-20 und einen sehr langen Vektor y. Nun will ich einen neuen mit der Zeilenanzahl des Vektors y erstellen, hier soll in jeder Zeile der Wert null stehen. Lediglich in den Zeilen 10-20 soll eine 1 stehen.
Der Bereich ist immer unterschiedlich und es können auch mehrere Bereche auftreten.

So könnte das Beispielsweise aussehen:
Code:
%
x = [0:1:40];
y = [12, 13, 14, 15, 16, 23, 24, 25, 26];

if x(i)==y;
        z(i) = 1;
   else
     z(i)=0;
   end  
end
 

Leider funktioniert das nicht so wie ich es umgesetzt habe. Hat jemand eine Idee? bin matlab Neuling und habe schon alles möglich ohne Ergebniss ausprobiert.
Danke


Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 14.09.2015, 17:51     Titel:
  Antworten mit Zitat      
Zitat:
ich habe einen Zahlenbereich von z.B 10-20 und einen sehr langen Vektor y.
in deinem beispiel taucht weder 10-20 auf noch ein sehr langer vektor y. x ist bei dir viel länger.
Zitat:
Nun will ich einen neuen mit der Zeilenanzahl des Vektors y erstellen,

und wie viel spalten?
Zitat:
Lediglich in den Zeilen 10-20 soll eine 1 stehen.
vorhin hattest du einen zahlenbereich von 10-20, was unendlich viele zahlen sein können. das passt aber nicht zur indizierung von zeilen nummern.
ich verstehe leider nicht genau was da rauskommen soll.
auf bereiche von vektoren kann man so zugreifen
Code:
x=zeros(40,10)
x(10:20,:)=1;

logiches indizierne könnte auch hilfreich sein. je nachdem was du machen willst.
_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
H_Ps

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.09.2015, 10:44     Titel:
  Antworten mit Zitat      
Danke für deine Antwort. Habe x und y verwechselt. Der Vektor z soll die gleiche Spaltenanzahl wie x haben. bedeutet das Ganze sollte dann so aussehen:
Code:
%
z(1:11)=0;
z(12:16)=1;
z(17:22)=0;
z(23:26)=1;
z(27:40)=0;
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 15.09.2015, 10:57     Titel:
  Antworten mit Zitat      
Code:
x=0:40;
y = [12, 13, 14, 15, 16, 23, 24, 25, 26];
z=zeros(size(x))
z(y)=1;

_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
H_Ps

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.09.2015, 12:56     Titel:
  Antworten mit Zitat      
Funktioniert, Danke!
 
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 - 2025 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.