|
|
Berechnung wieder zurück in den Vektor schreiben |
|
Monchicha |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 25.07.2013, 13:00
Titel: Berechnung wieder zurück in den Vektor schreiben
|
 |
Moini zusammen,
ich habe eine Frage, die ich irgendwie nicht so formulieren kann, dass ich über google etc. was passendes find. Vllt kann mir ja hier geholfen werden?
Folgendermaßen siehts aus:
Ich hab einen Vekter mit 300 Zeilen. Jetzt will ich aus immer 50 Zeilen den Minimumwert rauslesen und von diesem dann entweder den Eigenwert oder den Wert eines anderen Vektors abziehen. Das ganze funktioniert an sich ganz gut, nur will ich das Ergebnis am liebsten wieder zurück in den Ausgangsvektor schreiben. Wie genau definier ich das dann? Also, was muss ich für meine ??? schreiben? Die min-Fkt würde mir ja den Wert und nicht die Position angeben?
hier mal mein Code soweit:
Grüße!
|
|
|
|
|
Winkow |

Moderator
|
 |
Beiträge: 3.842
|
 |
|
 |
Anmeldedatum: 04.11.11
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2014a 2015a
|
 |
|
|
 |
|
Verfasst am: 25.07.2013, 13:18
Titel:
|
 |
ich kann leider aus deinem code nicht nachvollzihene was da gemacht wird da er nicht lauffähig ist und ich auch keine informationen über vstd.anfang und ende hab. kannst du das nochmal genauer erklären? vieleicht kleines beispiel? gegebeneer eingang gewünschter ausgang etc.
min giebt übrigens über den 2. ausgabe parameter auch den index wieder.
_________________
richtig Fragen
|
|
|
Monchicha |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 25.07.2013, 16:36
Titel:
|
 |
Hallo Winkow!
Ich habe das ganze jetzt mal mit künstlichen Daten geschrieben, vielleicht kannst du es dann besser nachvollziehen (Meine Schleife aus dem ersten Post ist auch etwas verwirrend, wenn man die Daten und den Sinn dahinter nicht kennt, aber das tut ja grad nix zur Sache ):
In diesem Code hab ich die Ergebnisse aus der Schleife im neuen Vektor "datare" gespeichert. Ich würde aber die Ergebnisse gerne direkt an die jeweilige Position von Data1 schreiben lassen. Geht das irgendwie?
ich danke!
|
|
|
Winkow |

Moderator
|
 |
Beiträge: 3.842
|
 |
|
 |
Anmeldedatum: 04.11.11
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2014a 2015a
|
 |
|
|
 |
|
Verfasst am: 25.07.2013, 16:56
Titel:
|
 |
das geht schon irgendwie ^^ was meinst du denn mit der "jeweiligen position ind Data1"? die position den min wertes in dem bereich?
kleine anmerkung:
lass das clear all weg. ich könnte dir jetzt erklären warum aber das wird hier in jedem 2. post erklärt in dem forum ^^
_________________
richtig Fragen
|
|
|
Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 25.07.2013, 17:07
Titel:
|
 |
Winkow hat Folgendes geschrieben: |
das geht schon irgendwie ^^ was meinst du denn mit der "jeweiligen position ind Data1"? die position den min wertes in dem bereich? |
Ganz genau! ich möchte quasi den Vektor durch die Berechnung verändern und das Ergebnis nach der Subtraktion an die Position setzen, an der die Subtraktion vorgenommen wurde. Ich vermute ja, das geht irgendwie mit Data1(min(???))=..., aber komme nicht drauf
Zitat: |
kleine anmerkung:
lass das clear all weg. ich könnte dir jetzt erklären warum aber das wird hier in jedem 2. post erklärt in dem forum ^^ |
Oh, danke für die Anmerkung! Das wusste ich noch nicht und werds gleich mal nachrecherchieren hier! Danke!
|
|
|
Winkow |

Moderator
|
 |
Beiträge: 3.842
|
 |
|
 |
Anmeldedatum: 04.11.11
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2014a 2015a
|
 |
|
|
 |
|
Verfasst am: 25.07.2013, 17:12
Titel:
|
 |
ich hab jetzt mal rumgespielt.dein code oben macht an manchen stellen keinen sinn .. denn must du dann noch selber reinbringen.:
endweder verlese ich mich oder das ist immer 0
du lässt den fall =1 raus... ich weis nicht ob das gewollt ist aber dich denke nicht.. darum hab ich das duch else ersetzt.
data1 hat 300 elemente k geht aber nur bis 30. denke du meinst da auch was anderes.
1 * ones ist unnütz
grüße winkow
ps mann kan das ganze bestimmt auch mit logischer indizierung lösen aber is mir grade nicht eingefallen
_________________
richtig Fragen
|
|
|
Monchicha |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 25.07.2013, 17:27
Titel:
|
 |
Zitat: |
dein code oben macht an manchen stellen keinen sinn |
Da hast du absolut Recht, aber der Originalcode ist recht lang und dazu bräuchte ich dann auch andere random-Daten. Im Original funktioniert er und macht Sinn, ich wollte hier nur ein kleines Beispiel darlegen, um herauszufinden, wie ich meine Berechnung zurück in den Vektor führen kann (also, das Ergebnis).
Zitat: |
endweder verlese ich mich oder das ist immer 0 |
Das ist richtig und so gewollt (im Original )!
Danke! Das ist mir gar nicht aufgefallen, werd ich direkt ändern!!
Zitat: |
data1 hat 300 elemente k geht aber nur bis 30. denke du meinst da auch was anderes. |
Jap, nämlich Data2(k)
Recht haste!
So, und jetzt werd ich mal versuchen, deine Code nachzuvollziehen und in meinen Originalcode einzubauen!
Ich danke dir schonmal herzlichst. Dein Code macht zumindest für diese Dummywerte genau das, was ich mir wünsche, ich hoffe, ich bekomme das jetzt auch in der komplexeren Fassung umgesetzt
|
|
|
Monchicha |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 25.07.2013, 17:39
Titel:
|
 |
Ich kann als Gast leider nicht editieren, deswegen jetzt hier ein verpönter Doppelpost...
Leider hab ich den Dummycode zu sehr vereinfacht. Hier ist es ja so, das x.anfang und x.ende einfach alle zehn Werte abfragen, also im Endeffekt alle 300 Werte von Data1. Im Original sind es aber nicht alle Werte, sondern ich frage dann nur bestimmte Intervalle ab (ohne Ordnung, also auch nicht nur jedes zweite Intervall...) Daher kam auch das:
Also die Indizierung über x.anfang und x.ende. Genau diese Intervalle müssen also auch wieder im Data1Vektor indiziert werden, damit in diese Positionen das Ergebnis geschrieben wird :/
|
|
|
Winkow |

Moderator
|
 |
Beiträge: 3.842
|
 |
|
 |
Anmeldedatum: 04.11.11
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2014a 2015a
|
 |
|
|
 |
|
Verfasst am: 25.07.2013, 17:48
Titel:
|
 |
es wurden alle minima aus den 10ner intervallen berechnet du musst ja dann nicht alle benutzen. da musst du dann die schleife umbaun oder so.
wenn du aber meinst das sich manche 10ner intervalle überlappen oder zb von 14 24 gehen dann stimmt das. dann must du das über einen extra vektor lösen. die möglichkeit der indizierung durch den ermittelten index aus min und deinem intervall vektor sollte aber nicht allzu schwer sein.
_________________
richtig Fragen
|
|
|
|
|
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.
|
|