|
|
Werte in struct NaN setzen |
|
Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 25.01.2016, 11:03
Titel: Werte in struct NaN setzen
|
 |
Hallo zusammen,
ich habe eine kurze Frage. ich würde gerne bestimmte Wert in einem Feld meines structs NaN setzen. Ich hab schon mehrere Fragen gefunden, wie ich Werte einer Matrix NaN setze aber irgendwie nicht wirklich was zum Thema struct.
Angenommen ich möchte in der Test Datei alle Werte in Feld B die kleiner als -30 sind NaN setzen.
Ich dachte das mir eventuell folgendes weiterhilft, allerdings passiert da rein gar nichts.
Ich hoffe ich blamiere mich mit dieser Frage nicht allzu sehr, leider beschäftige ich mich noch nicht zu lange mit Matlab.
Freue mich auf Tips und Anregungen.
Beschreibung: |
|
 Download |
Dateiname: |
Test.mat |
Dateigröße: |
9.95 KB |
Heruntergeladen: |
353 mal |
|
|
|
|
|
Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 25.01.2016, 11:47
Titel:
|
 |
Ich hab es doch noch rausgefunden.
Jetzt würde ich gerne noch etwas machen und zwar, wenn ich mittels meines Codes zum Beispiel den Wert in B(1,1) gleich NaN gesetzt habe, das der Wert in A(1,1) auch NaN gesetzt wird, das gleich dann auch für alle anderen Werte die in B NaN sind. Ich habe folgende Frage gefunden, allerdings wird da die ganze Zeile gelöscht und nicht nur ein einzelner Wert, könnte man das irgendwie abwandeln?
http://www.gomatlab.de/viewtopic,p,157866.html#157866
|
|
|
Friidayy |

Forum-Century
|
 |
Beiträge: 225
|
 |
|
 |
Anmeldedatum: 17.12.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2012b
|
 |
|
|
 |
|
Verfasst am: 25.01.2016, 11:48
Titel:
|
 |
ähm, ok, trotzdem hier meine Lösung zur 1.Frage
Gruß
Edit: 2. Frage würde dann so aussehen
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 25.01.2016, 12:00
Titel: Re: Werte in struct NaN setzen
|
 |
Hallo,
Der gezeigte Code setzt das Feld B auf den Wert NaN, wenn irgendein Element von B <= 25 ist. Falls B aber eine Matrix ist, wird "any(B <= -25)" ein Vektor. Und dann wird für die IF-Bedingung implizit ein
all()
eingefügt.
Das kannst du mit dem Debugger untersuchen. Setze in den IF-Zeile einen Breakpoint, starte den Code, teste, ob die Zeile überhaupt angesprungen wird. Und wenn Matlab dort stoppt, gib im Commandwindow ein:
Gruß, Jan
|
|
|
Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 25.01.2016, 12:28
Titel:
|
 |
Hallo zusammen,
erstmal Danke für die Anregungen.
Friidayy dein Code klappt soweit eigentlich super, allerdings wollte ich fragen, ob man auch irgendwie die vielen Schleifen verhindern kann. Die Testdatei ist ja relativ klein, sobald ich mehr Felder hab müsste ich ja jedesmal eine neue Schleife dazupacken und das dauert ja dann immer länger.
|
|
|
Friidayy |

Forum-Century
|
 |
Beiträge: 225
|
 |
|
 |
Anmeldedatum: 17.12.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2012b
|
 |
|
|
 |
|
Verfasst am: 25.01.2016, 13:03
Titel:
|
 |
Schau mal wie die Performance bei deinen großen Matrizen ist, Gruß
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 25.01.2016, 14:06
Titel:
|
 |
Hallo,
Und noch ein Tick schneller ohne FIND:
Gruß, Jan
|
|
|
Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 25.01.2016, 15:24
Titel:
|
 |
Vielen Dank ihr beiden, ihr habt mir wirklich weiter geholfen.
|
|
|
|
|
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.
|
|