|
|
Elemente aus Vektor löschen |
|
Babel42 |

Forum-Fortgeschrittener
|
 |
Beiträge: 51
|
 |
|
 |
Anmeldedatum: 05.10.07
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 22.10.2007, 13:14
Titel: Elemente aus Vektor löschen
|
 |
Hallo @all,
ich will in einem Vektor alle 0'en finden und diese rausschmeißen. Grundsätzlich wäre das kein Problem mit einer Schleife, wenn ich mir vorher mit find() die Indices geholt habe. (Derjenigen Elemente die nicht 0 sind)
Gibt es einen anderen Befehl (vielleicht ählich wie strrep() ), mit dem ich die Schleife umgehen kann?
Grüße Babel42
PS: So hab ich zur Zeit
A=find(Werte);
ZwSp=zeros(length(A),1)
for i=1:length(A)
ZwSp(i)=Werte(A(i));
end
Werte=ZwSp;
|
|
|
|
|
outsider |

Forum-Meister
|
 |
Beiträge: 806
|
 |
|
 |
Anmeldedatum: 03.09.07
|
 |
|
 |
Wohnort: München
|
 |
|
 |
Version: R2012b
|
 |
|
|
 |
|
Verfasst am: 22.10.2007, 23:16
Titel:
|
 |
|
|
jaepen |

Forum-Anfänger
|
 |
Beiträge: 35
|
 |
|
 |
Anmeldedatum: 13.04.09
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 7.5.0.342 (R2007b)
|
 |
|
|
 |
|
Verfasst am: 29.06.2009, 21:17
Titel: ...
|
 |
und wie mach ich das das ich nur ein bestimmtes element eines vektors lösche?
gruß
|
|
|
Jonny |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 29.06.2009, 21:24
Titel:
|
 |
>> a = [1 2 3 0 5 0 3 9 0 0 5 6];
>> a = a(a~="BELIEBIGES ELEMENT")
oder wie meinst du?
|
|
|
josekamara |

Forum-Meister
|
 |
Beiträge: 529
|
 |
|
 |
Anmeldedatum: 26.04.08
|
 |
|
 |
Wohnort: München
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 29.06.2009, 22:26
Titel:
|
 |
Z.B drittes Element löschen:
_________________
Simulation
|
|
|
jaepen |

Forum-Anfänger
|
 |
Beiträge: 35
|
 |
|
 |
Anmeldedatum: 13.04.09
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 7.5.0.342 (R2007b)
|
 |
|
|
 |
|
Verfasst am: 30.06.2009, 10:48
Titel: danke
|
 |
@josekamara
das funktioniert, danke!
@jonny
ich wollte das belibiege Element nicht dem Wert nach, sondern dem Index nach löschen, trotzdem danke für die hilfe.
gibt es auch eine Option mit dem "delete" Befehl?
gruß
|
|
|
Hendrik_1 |

Forum-Anfänger
|
 |
Beiträge: 32
|
 |
|
 |
Anmeldedatum: 18.06.09
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 01.07.2009, 12:28
Titel:
|
 |
lässt sich dieser code auch in simulink einbauen? wenn ich das in einen embedded matlab function setze, kommt die folgende fehlermeldung:
Logical indexing is not yet supported
heißt das, es geht prinzipiell nicht, oder mache ich was falsch?
hier meine funktion:
bin für jeden tipp dankbar
|
|
|
josekamara |

Forum-Meister
|
 |
Beiträge: 529
|
 |
|
 |
Anmeldedatum: 26.04.08
|
 |
|
 |
Wohnort: München
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 02.07.2009, 12:23
Titel:
|
 |
Anscheinend geht es nicht, weil die Embedded function nicht alle Befehle von Matlab unterstützt.
Versuch lieber mit den Simulink Blöcken.
Gruß,
Jose
_________________
Simulation
|
|
|
Hendrik_1 |

Forum-Anfänger
|
 |
Beiträge: 32
|
 |
|
 |
Anmeldedatum: 18.06.09
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 03.07.2009, 15:55
Titel:
|
 |
irgendeine idee, wie das funktionieren könnte?
ich probiere seit 2 tagen rum, komme aber nicht weiter.
würde es funktionieren, die entsprechenden befehle in c zu programmieren und dann als block einzufügen?
mfg
Hendrik
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.499
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 03.07.2009, 16:10
Titel:
|
 |
Hallo Hendrik,
damit das sinnvoll ist, müsste f (zu jedem Zeitschritt!) ein Vektor sein. y wäre dann ein Vektor, dessen Länge zumindest theoretisch in den einzelnen Zeitschritten unterschiedlich ist.
Ich kann mir nicht vorstellen, dass das erwünscht ist. Vielleicht liegt das aber auch nur an meiner begrenzten Phantasie
Grüße,
Harald
|
|
|
jaepen |

Forum-Anfänger
|
 |
Beiträge: 35
|
 |
|
 |
Anmeldedatum: 13.04.09
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 7.5.0.342 (R2007b)
|
 |
|
|
 |
|
Verfasst am: 13.07.2009, 08:54
Titel: ...
|
 |
Hallo
Ich hätte nochmal eine kleine Frage zu folgendem code:
Angenommen ich habe x Variablen im Workspace. Nun möchte ich aus allen Variablen ein "BELIBIGES ELEMENT" entfernen, ohne alle variablen auflisten zu müssen.
Also im Prinzip so:
geht das?
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.499
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 13.07.2009, 14:42
Titel:
|
 |
Mit
kannst du dir eine Liste der Variablen im Workspace ausgeben lassen. Dann eine for-Schleife über alle Elemente (Feld: name), und es sollte funktionieren.
Vorsicht: ich würde wenigstens noch überprüfen, ob die Variablen numerisch sind (über das Feld class).
Viele Grüße,
Harald
|
|
|
Nora |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 20.03.2010, 17:06
Titel: Element eines Vektors löschen
|
 |
jaepen hat Folgendes geschrieben: |
@josekamara
das funktioniert, danke!
@jonny
ich wollte das belibiege Element nicht dem Wert nach, sondern dem Index nach löschen, trotzdem danke für die hilfe.
gibt es auch eine Option mit dem "delete" Befehl?
gruß |
a = [9,8,7,6,5,4,3,2,1];
5. Element löschen:
b = [a(1:4),a(6:length(a))]
b =
9. 8. 7. 6. 4. 3. 2. 1.
|
|
|
cordoba |

Forum-Fortgeschrittener
|
 |
Beiträge: 79
|
 |
|
 |
Anmeldedatum: 13.08.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 26.08.2010, 17:04
Titel:
|
 |
Hallo,
bin bei der Forensuche über diese Frage gestolpert. Mein Problem: Ich muß aus einem Vektor mit komplexen Einträgen alle Werte entfernen, die innerhalb des Einheitskreis liegen. D.h: abs(z)<1 --> löschen
z.B.
soll der erste Eintrag
gelöscht werden, da
Bevor ich jetzt "zufuß" anfange mit Schleife und if Abfrage etc. mir ins Bein zu schießen, meine Frage: Gibt es eine interne Funktion dafür?
Danke für eure Hilfe!
mfg
|
|
|
LittleX |

Forum-Guru
|
 |
Beiträge: 494
|
 |
|
 |
Anmeldedatum: 14.05.09
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 26.08.2010, 17:15
Titel:
|
 |
Hallo,
das funktioniert nach dem gleichen Prinzip (also logische Indizierung):
Viele Grüße,
LittleX
|
|
|
|
Gehe zu Seite 1, 2 Weiter
|
Einstellungen und Berechtigungen
|
|
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
| 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.
|
|