|
|
Matrixelemente ersetzen unter einer bestimmten Bedingung |
|
smaica |

Forum-Century
|
 |
Beiträge: 105
|
 |
|
 |
Anmeldedatum: 02.10.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 09.10.2012, 10:30
Titel: Matrixelemente ersetzen unter einer bestimmten Bedingung
|
 |
Hallo,
ich habe eine eigentlich ganz einfache Fragestellung die ich nicht hinbekomme.
Ich möchte in einer Matrix in der 4ten Spalte, wenn die Einträge da ==24 sind, die 24 durch eine 0 ersetzen.
Ich habe das mit einer if-Bedingung probiert, aber bekomme es nicht hin:
Vielen Danke schonmal!
|
|
|
|
|
DSP |

Forum-Meister
|
 |
Beiträge: 2.117
|
 |
|
 |
Anmeldedatum: 28.02.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2014b
|
 |
|
|
 |
|
Verfasst am: 09.10.2012, 12:06
Titel:
|
 |
|
|
smaica |
Themenstarter

Forum-Century
|
 |
Beiträge: 105
|
 |
|
 |
Anmeldedatum: 02.10.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 09.10.2012, 12:22
Titel:
|
 |
super, das hat geklappt, vielen Dank!
Ich habe jetzt noch Schwierigkeiten damit eine Zeile in einer Matrix zu ersetzen, ich versuche:
als Fehler kommt "Conversion to cell from double is not possible."
Zeit ist ein Zeitvector:
Hier vllt noch einen Lösungsvorschlag?
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 10.10.2012, 00:25
Titel:
|
 |
Hallo smaica,
Um die Frage zu verstehen, müssten wir noch wissen, welchen Typ "Zeit" und "raw" haben. Mit etwas Raten:
Nun stehen links und rechts vom "=" Cells.
Gruß, Jan
|
|
|
smaica |
Themenstarter

Forum-Century
|
 |
Beiträge: 105
|
 |
|
 |
Anmeldedatum: 02.10.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 11.10.2012, 11:12
Titel:
|
 |
Hallo Jan,
wenn ich das mit dem Code eingebe, dann steht in raw in jedem Feld der zweiten Spalte ein Vektor, der die Einträge von "Zeit" enthält und nicht in der Zweiten Spalte einfach anstatt der Einträge da die Einträge von Zeit.
Wenn ich raw öffne, steht da in jedem Feld <743x1 double> und wenn ich darauf klicke, dann sind das die Einträge des Vektors von "Zeit".
Ich weiß leider nicht welchen Typ "Zeit" und "raw" haben.
Raw ist eine Matrix, die ich erhalten habe mit:
und Zeit ist im Prinzip:
Also im Prinzip die Einträge die in der zweiten Spalte von raw zu beginn standen, ich habe sie aber im Laufe meines Skriptes bearbeitet (Werte addiert und Subtrahiert) und will die bearbeiteten Werte einfach wieder einsetzen.
LG
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 11.10.2012, 16:28
Titel:
|
 |
Hallo smaica,
Den Typ einer Variablen erhält man entweder per "whos" Befehl oder mit
Gruß, Jan
|
|
|
smaica |
Themenstarter

Forum-Century
|
 |
Beiträge: 105
|
 |
|
 |
Anmeldedatum: 02.10.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 12.10.2012, 09:23
Titel:
|
 |
Hallo Jan,
vielen Dank. "Zeit" ist vom Typ double und "raw" ist cell.
LG
|
|
|
smaica |
Themenstarter

Forum-Century
|
 |
Beiträge: 105
|
 |
|
 |
Anmeldedatum: 02.10.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 12.10.2012, 11:36
Titel:
|
 |
p.s. ich wollte "Zeit", da das momentan als serielle Zeitnummer angegeben wird, also irgendwas mit 0.834 usw z.B., als datestr. umwandeln, aber
gibt mir keinen einfachen Spaltenvektor mit 744 Einträgen zurück, sondern eine <744x5> große Matrix vom Typ char
wenn ich versuche den Zeitvektor gleich in einen Datestring umzuwandeln mit:
bekomme ich sogar eine <4464x5> große Matrix vom Typ char?!
Was läuft da schief?
zeitangabe ist eine <744x6> große Matrix vom Typ double mit den Zeiten als Vektoren enthalten (Spalte 1-3 = 0 bei mir, da Datum nicht angegeben, Spalte 4 enthält die Stundenangabe, Spalte 5-6 = 0, da Minute und Sekunde =0)
(Die Matrix, die ich in meinen Forenposts zuvor "Zeit" genannt habe)
|
|
|
Sirius3 |

Forum-Guru
|
 |
Beiträge: 441
|
 |
|
 |
Anmeldedatum: 12.11.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 12.10.2012, 16:34
Titel:
|
 |
Hallo smaica,
datestr wandelt jede Zeitangabe in einen string mit 5 Zeichen um,
daher die <744x5> große Matrix.
Falls Du statt dessen eine Cell mit 744 Strings haben willst:
Grüße
Sirius
|
|
|
smaica |
Themenstarter

Forum-Century
|
 |
Beiträge: 105
|
 |
|
 |
Anmeldedatum: 02.10.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 17.10.2012, 11:16
Titel:
|
 |
Super, das hat geklappt. Ich konnte sie jetzt auch in meine Ausgangsmatrix "raw" schreiben, vielen Dank!
|
|
|
|
|
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.
|
|