|
|
Elemente in einem Vektor ersetzten |
|
oehri |

Forum-Newbie
|
 |
Beiträge: 9
|
 |
|
 |
Anmeldedatum: 12.04.15
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 22.04.2015, 22:59
Titel: Elemente in einem Vektor ersetzten
|
 |
Hallo zusammen
Ich sehe vor folgenden Problem:
A = [4, 2, 3, 1]
Ich möchte nun im Vektor A die Zahl durch 1.5 ersetzen, Zahlen 2 -3 durch 1 und 4 durch 0.5 ersetzen.
Nach der Ersetzung soll der neue Vektor wie folgt aussehen:
A_w = [0.5, 1, 1, 1.5]
Ist dies mit einem einfachen Code zu erreichen? Ich habe bereits mit find(...) gearbeitet und bin nicht zum gewünschten Ziel gekommen.
Danke und Gruss
|
|
|
|
|
Winkow |

Moderator
|
 |
Beiträge: 3.842
|
 |
|
 |
Anmeldedatum: 04.11.11
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2014a 2015a
|
 |
|
|
 |
|
Verfasst am: 22.04.2015, 23:03
Titel:
|
 |
Zitat: |
? Ich habe bereits mit find(...) gearbeitet und bin nicht zum gewünschten Ziel gekommen. |
ohne code beispiel ist nur schwer zu sagen was schief gelaufen ist. außerdem ist dein minimalbeispiel sehr minimal sind bereiche gegeben die ersetzt werden sollen oder entsprichte jede zahl einer anderen zahl oder wie soll die umwandlung erfolgen?
am besten du postest mal den code den du versucht hast und schilderst wie das ergebniss vom gewünschtem abweicht.
grüße
p.s. bitte den thread aus meiner signatur lesen falls das noch nicht gemacht wurde:)
_________________
richtig Fragen
Zuletzt bearbeitet von Winkow am 22.04.2015, 23:04, insgesamt einmal bearbeitet
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.499
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 22.04.2015, 23:03
Titel:
|
 |
Hallo,
wenn A ganzzahlig und aufeinanderfolgend ist:
Grüße,
Harald
|
|
|
oehri |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 9
|
 |
|
 |
Anmeldedatum: 12.04.15
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 24.04.2015, 00:08
Titel:
|
 |
|
 |
|
Hallo
Danke für die Antwort.
Matrix A ist variable kreiiert. D.h. die Länge des Vektors kann variieren zwischen 1 bis 500. Dabei wird die Grenze die ersetzt wird auch Variable gegeben.
Mit Size() lese ich die Länge des Vektors aus und bestimmte z.B. dass alle Werte bis zur Grenze des 1. Quartil mit 1.5 ersetzt werden soll bzw. werte ab dem 4. Quartil durch 0.5.
Beispiel:
A = [5, 3, 6, 9, 8, 17, 18, 20, 1, 2, 4, 7, 10, 12, 15, 11, 14, 13, 19, 16]
Das erste Quartil beginnt also bei 1 bis 0.25*size(A,2) = 0.25*20=5 --> 1 bis 5
Das vierte Quartil beginnt bei 0.75*size(A,2)=0.75*20 =15 bis 20 --> 15 bis 20
Im nächsten Schritt sollen nun alle Werte 1 bis 5 durch 1.5, Werte 6 bis 14 durch 1 und Werte 15 bis 20 mit 0.5 ersetzt werden.
Ziel Matrix schaut dann so aus:
B = [1.5, 1.5, 1, 1, 1, 0.5, 0.5, 0.5, 1.5, 1.5, 1.5, 1, 1, 1, 0.5, 1, 1, 1, 0.5, 0.5]
Wichtig ist hier, dass sich der Ort der Elemente des Vektors nicht ändern. Der Vektor B wird nämlich zur Gewichtung eines anderen Vektor benötigt.
Danke für Eure Hilfe.
|
|
|
Winkow |

Moderator
|
 |
Beiträge: 3.842
|
 |
|
 |
Anmeldedatum: 04.11.11
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2014a 2015a
|
 |
|
|
 |
|
Verfasst am: 24.04.2015, 09:12
Titel:
|
 |
du vermischt hier irgendwie index mit inhalt der variablen. das ist mir noch nicht ganz klar.
du teilst deine klassifizierung nach dem index der variablen ein aber dann ordnest du sie nach dem inhalt zu.
_________________
richtig Fragen
|
|
|
oehri |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 9
|
 |
|
 |
Anmeldedatum: 12.04.15
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 24.04.2015, 21:51
Titel:
|
 |
Gibt es aber keine Möglichkeit diese Werte zu ersetzen? in Excel wäre das ja überhaupt kein Problem mit einer "wenn" formel.
=wenn(A2<=5;1.5;wenn(und(A2>5;A2<15);1;0.5))
Dann einfach auf alle Zellen ziehen und fertig.
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.499
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 24.04.2015, 22:39
Titel:
|
 |
Hallo,
das Hauptproblem ist in dem ganzen Wust zu verstehen, was du willst. Auf meinen Vorschlag bist du z.B. nicht direkt eingegangen. Neuer Versuch:
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 - 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.
|
|