|
|
|
Spaltenvektor durchlaufen und Wert +/- 1 add/sub |
|
| Tino97 |

Forum-Anfänger
|
 |
Beiträge: 23
|
 |
|
 |
Anmeldedatum: 21.06.17
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 12.07.2017, 16:42
Titel: Spaltenvektor durchlaufen und Wert +/- 1 add/sub
|
 |
Hallo,
ich möchte in einem Spaltenvektor immer "1" abziehen, wenn es eine positive Zahl ist und "1" hinzufügen, wenn es eine negative Zahl wird. D.h. aus -5 soll -4 und 5 soll 4 werden usw.
Dies hat leider noch nicht so ganz geklappt und ich bin nicht sicher was genau falsch läuft.
Kann mir jemand vielleicht einen Rat geben?
MfG
Tino
|
|
|
|
|
|
| denny |

Supporter
|
 |
Beiträge: 3.853
|
 |
|
 |
Anmeldedatum: 14.02.08
|
 |
|
 |
Wohnort: Ulm
|
 |
|
 |
Version: R2012b
|
 |
|
|
 |
|
Verfasst am: 12.07.2017, 17:19
Titel:
|
 |
Hallo nutze doch SIGN-Funktion, dafür
Zuletzt bearbeitet von denny am 13.07.2017, 05:11, insgesamt einmal bearbeitet
|
|
|
|
| Tino97 |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 23
|
 |
|
 |
Anmeldedatum: 21.06.17
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 12.07.2017, 18:05
Titel: Danke
|
 |
Hallo denny,
danke für die Rückmeldung. Den Befehl kannte ich noch nicht (und ich bin echt geschockt wie wenig code man braucht ).
Aber kann ich meine "umständlichere" Variante auch irgendwie zum Laufen bringen? Ich würde gerne mehr dazulernen, weil ich bisher nur sehr wenig mit Matlab bzw. Programmieren zu tu hatte.
Gruß
Tino
|
|
|
|
| Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 12.07.2017, 18:06
Titel: Re: Spaltenvektor durchlaufen und Wert +/- 1 add/sub
|
 |
Hallo Tino97,
Der Code hat nur einen kleinen Bug:
Du brauchst überall a(k) statt a(n), ansonsten wird nur der letzte Wert bearbeitet.
Alternativ ohne Schleife:
Ich habe übrigens in "[-5:5].'" die eckigen in runde Klammern geändert, denn "[]" ist in Matlab der "concatenation"-Operator. Es werden also einzelne Arrays horizontal oder vertical verbunden. "-5:5" ist aber bereits ein Vektor und er ist das einzige Array. Das ist zwar kein Fehler, aber die Benutzung unnötiger eckiger Klammern raubt Zeit und ist irreführend.
Während in diesem Fall der Zeitverlust gerade so eben messbar ist, ist das in
for
Schleifen oder bei Indices schon deutlich:
Elapsed time is 0.087256 seconds.
Elapsed time is 0.374184 seconds. Faktor 4!
Gruß, Jan
|
|
|
|
| Tino97 |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 23
|
 |
|
 |
Anmeldedatum: 21.06.17
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 12.07.2017, 18:53
Titel:
|
 |
Hallo Jan,
das mit dem n habe ich mindestens 20x übersehen, danke Dir.
Die Sache mit den Klammern nehme ich auch gerne mit. Wieder etwas gelernt.
MfG
Tino
|
|
|
|
| Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 12.07.2017, 19:23
Titel:
|
 |
Hallo Tino97,
| Zitat: |
| das mit dem n habe ich mindestens 20x übersehen, danke Dir. |
Gerne. Das ist unter Programmierern ein bekanntes Phänomen: Weil man weiß, was man beabsichtig hat, erkennt man einen Bug nicht mehr auf dem Bildschirm. Je banaler der Fehler, desto unsichtbarer ist er. Es gibt dafür 2 Lösungen:
1. Jemand anderen fragen (Forum, Kollege, Katze)
2. Aufstehen, Kaffee trinken, Kuchen essen, im besten Fall schlafen gehen. Dann später wieder auf den Code schauen.
Gruß, Jan
|
|
|
|
|
|
|
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.
|
|