|
Sophie_21 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 30.01.2012, 12:48
Titel: Vektoren erweitern
|
 |
Hallo,
habe folgendes Problem: Gegeben zwei Vektoren (derzeit Spaltenvektoren) gleicher Größe in folgender Form:
V1 = [1;2;3;4;5;6;7;8]
V2 = [0;0;0;2;0;4;0;1]
Die Summe der Elemente von V2 ist 7.
Aus diesen beiden Vektoren soll ein dritter Vektor (V3) erzeugt werden, welcher genau 7 Elemente mehr enthalten soll, wie Vektor V1. Solange V2(i)=0, ist V3(i)=V1(i). Wenn V2(i) ungleich 0 ist (z.B. 2), soll V3 für die nächsten 2 Elemente den Wert von V1(i-1) annehmen. Im Prinzip stellt V3 eine Erweiterung von V1 dar. V3 sollte nach diesem Vorgehen wie folgt aussehen:
V3 = [1;2;3;3;3;4;5;5;5;5;5;6;7;7;8]
Wie könnte man dies programmieren?
Gruß
Sophie
|
|
|
|
|
denny |

Supporter
|
 |
Beiträge: 3.853
|
 |
|
 |
Anmeldedatum: 14.02.08
|
 |
|
 |
Wohnort: Ulm
|
 |
|
 |
Version: R2012b
|
 |
|
|
 |
|
Verfasst am: 30.01.2012, 14:28
Titel:
|
 |
|
|
Winkow |

Moderator
|
 |
Beiträge: 3.842
|
 |
|
 |
Anmeldedatum: 04.11.11
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2014a 2015a
|
 |
|
|
 |
|
Verfasst am: 30.01.2012, 14:36
Titel:
|
 |
habs mal mit ner verschachtelten forschleife gelöst.
|
|
|
Sophie_21 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 30.01.2012, 14:44
Titel:
|
 |
Vielen Dank Euch beiden, genau das hatte ich gesucht!!!!
|
|
|
denny |

Supporter
|
 |
Beiträge: 3.853
|
 |
|
 |
Anmeldedatum: 14.02.08
|
 |
|
 |
Wohnort: Ulm
|
 |
|
 |
Version: R2012b
|
 |
|
|
 |
|
Verfasst am: 30.01.2012, 18:53
Titel:
|
 |
|
|
Sophie_21 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 01.02.2012, 20:25
Titel:
|
 |
Wie müsste der Code verändert werden, wenn gegeben:
V1 = [0;0;0;2;0;4;0;1]
V1 soll nun zusätzlich so umgewandelt werden, dass wenn V1(i)=0 auch V2(i)=0. Wenn V1(i) ungleich 0 (z.B. 2) sollen V2(i)=1 und V2(i+1)=1, usw. V2 sollte dann so aussehen:
V2= [0;0;0;1;1;0;1;1;1;1;0;1]
Vielen Dank im Voraus!
Sophie
|
|
|
Sophie_21 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 02.02.2012, 10:12
Titel:
|
 |
Hat keiner einen Vorschlag?
|
|
|
Sophie_21 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 02.02.2012, 10:39
Titel:
|
 |
Danke, hat sich erledigt. Bin durch eine Weile Probieren selbst darauf gekommen.
Sophie
|
|
|
Sophie_21 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 02.02.2012, 11:07
Titel:
|
 |
Gibt es eine Möglichkeit diesen Code zu optimieren? Er funktioniert zwar, aber bei sehr großen Vektoren beschert er einem recht lange Wartezeiten.
Vielen Dank im Voraus!
Sophie
|
|
|
Winkow |

Moderator
|
 |
Beiträge: 3.842
|
 |
|
 |
Anmeldedatum: 04.11.11
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2014a 2015a
|
 |
|
|
 |
|
Verfasst am: 02.02.2012, 11:21
Titel:
|
 |
hast du v3 vorher schon angelgt in der größe wie er sein wird? wenn nicht frisst das sehr viel zeit. guck dir dazu mal das beispiel von denny an.
|
|
|
Sophie_21 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 02.02.2012, 11:34
Titel:
|
 |
Ja, habe V3 zuvor schon mit
angelegt. Leider bringt dies auch nichts.
|
|
|
Winkow |

Moderator
|
 |
Beiträge: 3.842
|
 |
|
 |
Anmeldedatum: 04.11.11
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2014a 2015a
|
 |
|
|
 |
|
Verfasst am: 02.02.2012, 11:41
Titel:
|
 |
nein mit der schleife die du benutzt bringt das nix ^^ da du an v3 hinten was ranhängst. du hast meinen vorschlag von oben genommen. der ist leicht zu druchblichen. hat aber den nachteil das er langsam ist. du solltest versuchen den vorschlag von denny zu benutzen. dort wird der vektor vorher in seiner vollen größe angelegt und dann werden die elemente aufgefüllt.
|
|
|
Sophie_21 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 02.02.2012, 13:08
Titel:
|
 |
Komme leider überhaupt nicht mit den Code von denny klar und wiese absolut nicht wo ich da ansetzen kann.
|
|
|
denny |

Supporter
|
 |
Beiträge: 3.853
|
 |
|
 |
Anmeldedatum: 14.02.08
|
 |
|
 |
Wohnort: Ulm
|
 |
|
 |
Version: R2012b
|
 |
|
|
 |
|
Verfasst am: 03.02.2012, 15:27
Titel:
|
 |
Hallo Sophie,
verstehe nicht ganz, was für Unterschied zwischen dem oberen Beispiel und dem unteren Beispiel
Meinst du so was?
|
|
|
Sophie_21 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 12.03.2012, 15:05
Titel:
|
 |
Hallo zusammen,
könnte mir jemand bitte den Code von denny kommentieren. Komme nicht so recht klar damit.
Gruß
Sophie
|
|
|
|
|
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.
|
|