|
|
Alle Vektoren im Workspace gleich verändern |
|
Spreequell |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 13.04.2017, 09:43
Titel: Alle Vektoren im Workspace gleich verändern
|
|
Hallo Leute,
ich bin Matlab Neuling und habe folgendes Problem:
Ich lade eine Messung in meinen Workspace und muss (fast) alle Vektoren darin verändern. Die Vektoren tragen alle unterschiedliche Name, was das ganze etwas schwieriger gestaltet.
Ich muss (fast) alle Vektoren in einem bestimmten Bereich auf Null setzen.
Ich wollte eine if-Bedingung einbauen, die die Länge prüft. Die Vektoren, die ich verändern muss haben die Länge [2000 , 1]
In diesen Vektoren muss der Bereich (500:1000) auf Null gesetzt werden, also
Beispielvektor(500:1000)=0;
Ich habe etwas von "Whos" gelesen, um alle Vektoren in einer Liste zu schreiben und dann mit einer Schleife danach zu suchen. Genau weiß ich allerdings nicht, wie ich das umsetzen könnte.
Vielen Dank für eure Hilfe!
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.448
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 13.04.2017, 10:04
Titel:
|
|
Hallo,
das klingt so, als ob du dringend den Workspace besser organisieren solltest. Du kannst dir zwar mit whos eine Liste der Variablen holen, bist aber dann immer auf eval-Befehle angewiesen, die schwierig nachzuvollziehen und zu debuggen sind. Besser wäre es beispielsweise, diese Vektoren alle in einer Struktur zu sammeln.
Grüße,
Harald
|
|
|
Spreequell |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 13.04.2017, 10:37
Titel:
|
|
Leider ist mein Messdaten-File so vorgegeben und ich muss die Vektoren verändern und später wieder in einem neuen File mit den gleichen Namen und dieser Struktur abspeichern.
Wie könnte so ein Beispiel Code mit whos und eval befehlen ausehen?
Das funktioniert leider nicht, aber soewtas in der Richtung habe ich mir vorgestellt.
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.448
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 13.04.2017, 11:08
Titel:
|
|
Hallo,
Zitat: |
Leider ist mein Messdaten-File so vorgegeben |
In welcher Form liegen die Messdaten vor und wie importierst du sie?
Grüße,
Harald
|
|
|
Spreequell |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 13.04.2017, 11:16
Titel:
|
|
Meine Messdaten-File ist eine .mat-Datei und die Vektoren sind in Form "2000 x1 double" steht jedenfalls so im Workspace.
so importiere ich die Daten
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.448
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 13.04.2017, 11:26
Titel:
|
|
Hallo,
dann kannst du die Daten importieren mit
Mit
fieldnames
kannst du überprüfen, welche Vektoren es gibt. Mit
kannst du auf einzelne Vektoren zugreifen.
Bei save gibt es dann die Option -struct, mit der du die Felder der Struktur wieder als einzelne Variablen abspeichern kannst.
Grüße,
Harald
|
|
|
Spreequell |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 13.04.2017, 11:47
Titel:
|
|
Das Problem bei dieser Variante ist jetzt allerdings, dass meine anderen Funktionen nicht mehr funktionieren, da ich ja keine Variablen wie vorher im Workspace habe.
Das hier ist sozusagen ein Spezialfall, den ich abfangen muss. Ich muss schon eine mit einer Funktion erstellen, die direkt die Variablen verändert ohne diese in anderer Form abzuspeichern.
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.448
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 13.04.2017, 13:43
Titel:
|
|
Hallo,
du kannst die modifizierte .mat-Datei ja wie zuvor laden?
Ansonsten musst du dich eben wie gesagt mit eval herumquälen.
Grüße,
Harald
|
|
|
Spreequell |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 13.04.2017, 13:47
Titel:
|
|
aber wie kann ich die als -sruct bearbeiteten variablen wieder zurück in den Workspace speichern bzw. neu reinladen, wenn die ja jetzt in der "Variable" sruct sind.
|
|
|
Spreequell |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 13.04.2017, 13:54
Titel:
|
|
oh du hattest es oben schon geschrieben, das hab ich wohl überlesen.
Jetzt aber noch eine Frage.
Ich kann mit deinem Befehl
auf den vektor zu greifen, wie kann ich direkt dort die Werte verändern, so in dieser Form
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.448
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 13.04.2017, 14:11
Titel:
|
|
Hallo,
hier anhand eines Beispiels:
Grüße,
Harald
|
|
|
|
|
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 - 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.
|
|