|
|
Aus Vektor eine Matrix machen |
|
CineXclusive |

Forum-Anfänger
|
 |
Beiträge: 14
|
 |
|
 |
Anmeldedatum: 07.01.08
|
 |
|
 |
Wohnort: Erlangen
|
 |
|
 |
Version: 2007a
|
 |
|
|
 |
|
Verfasst am: 18.11.2010, 13:20
Titel: Aus Vektor eine Matrix machen
|
 |
Hallo zusammen,
ich habe ein kleines Problem. Ich habe einen langen Vektor den ich aufteilen und spaltenweise in eine Matrix eintragen will.
Als ergebnis bekomme ich dann
n_=
(1 0 ....
2 0 ....
3 0 ....
0 4 ....
0 5 ....
0 6 ....)
gewünscht ist allerdings:
n_=
(1 4 ...
2 5 ...
3 6 ...)
Wäre über Eure Hilfe sehr dankbar!
_________________
Viele Grüße,
CineXclusive
|
|
|
|
|
Andreas Goser |

Forum-Meister
|
 |
Beiträge: 3.654
|
 |
|
 |
Anmeldedatum: 04.12.08
|
 |
|
 |
Wohnort: Ismaning
|
 |
|
 |
Version: 1.0
|
 |
|
|
 |
|
Verfasst am: 18.11.2010, 13:49
Titel:
|
 |
Besser RESHAPE nehmen:
Andreas
|
|
|
CineXclusive |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 14
|
 |
|
 |
Anmeldedatum: 07.01.08
|
 |
|
 |
Wohnort: Erlangen
|
 |
|
 |
Version: 2007a
|
 |
|
|
 |
|
Verfasst am: 18.11.2010, 14:15
Titel:
|
 |
Hi Andreas,
danke für die Hilfe. Das Problem ist nur, dass meine "Teilstücke" aus dem Vektor unterschiedlich lang sind und ich Sie eben vorher mit den Schleifen an bestimmten Stellen trenne. Also kann ich glaub ich das Reshape nicht benutzen, oder liege ich da falsch?
_________________
Viele Grüße,
CineXclusive
|
|
|
Sco |

Forum-Meister
|
 |
Beiträge: 699
|
 |
|
 |
Anmeldedatum: 15.08.10
|
 |
|
 |
Wohnort: Dundee
|
 |
|
 |
Version: 2008a, 2010a
|
 |
|
|
 |
|
Verfasst am: 18.11.2010, 14:54
Titel:
|
 |
Hallo,
ohne die genauen Werte, bzw. Aufbau deines Vektors zu kennen, kann man nur raten. Fuer genau dein Beispiel ginge es so:
MFG
Sco
|
|
|
denny |

Supporter
|
 |
Beiträge: 3.853
|
 |
|
 |
Anmeldedatum: 14.02.08
|
 |
|
 |
Wohnort: Ulm
|
 |
|
 |
Version: R2012b
|
 |
|
|
 |
|
Verfasst am: 18.11.2010, 16:11
Titel:
|
 |
Hallo
Man kann RESHAPE verwenden hängt aber, was du hier mit bestimmten Stellen meinst. Soll denn immer 3 Zeilen Matrix rauskommen?
Kannst du dein Codestück vollständig posten? Was ist Z? Wie sieht es aus? was ist n? usw.
|
|
|
CineXclusive |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 14
|
 |
|
 |
Anmeldedatum: 07.01.08
|
 |
|
 |
Wohnort: Erlangen
|
 |
|
 |
Version: 2007a
|
 |
|
|
 |
|
Verfasst am: 18.11.2010, 18:20
Titel:
|
 |
So, ich versuche mittlerweile mein Problem etwas anders zu lösen. Die Sollwerte S spiegeln sich in der ersten Spalte von n wieder. Ich möchte nun gerne die Anzahl der Elemente wissen, bis ein Istwert zu S(2) auftaucht.
Nur so kann ich dann zugehörige Werte aus einem zweiten und dritten Array zuordnen. Mein Ziel ist eigentlich drei Arrays zu bekommen n(S1), n(S2) und n(S3) zu bekommen.
Man ist das schon schwierig sein Problem zu schildern
Danke nochma für eure Hilfe. Sitz hier schon den ganzen Tag dran und bekanntlich kommt nach diesem Problem das nächste ;-(
_________________
Viele Grüße,
CineXclusive
|
|
|
Sco |

Forum-Meister
|
 |
Beiträge: 699
|
 |
|
 |
Anmeldedatum: 15.08.10
|
 |
|
 |
Wohnort: Dundee
|
 |
|
 |
Version: 2008a, 2010a
|
 |
|
|
 |
|
Verfasst am: 18.11.2010, 19:09
Titel:
|
 |
Hallo,
mhhh du willst also wissen an welcher Stelle S(2) in n auftritt? Dies ist in deinem Beispiel nicht der Fall, da es in "n" keine Zahl "5" gibt. Ansonsten wurde dies z.B. so gehen:
Vielleicht hilft die ja auch der Befehl "ismember" weiter:
MFG
Sco
|
|
|
CineXclusive |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 14
|
 |
|
 |
Anmeldedatum: 07.01.08
|
 |
|
 |
Wohnort: Erlangen
|
 |
|
 |
Version: 2007a
|
 |
|
|
 |
|
Verfasst am: 19.11.2010, 09:42
Titel:
|
 |
Hi Sco,
ja genau das ist mein Problem. Die Werte sind zwar als Soll definiert, aber eben selten exakt der Wert....
Ich habe mir das so gedacht wie im ersten Posting:
Die Werte kann ich dann quasi korrekt auslesen. Vielleicht kann ich dann die entsandenen Arrays wieder zählen lassen...
Aber das ist nicht so elegant...
_________________
Viele Grüße,
CineXclusive
|
|
|
Sco |

Forum-Meister
|
 |
Beiträge: 699
|
 |
|
 |
Anmeldedatum: 15.08.10
|
 |
|
 |
Wohnort: Dundee
|
 |
|
 |
Version: 2008a, 2010a
|
 |
|
|
 |
|
Verfasst am: 19.11.2010, 12:45
Titel:
|
 |
Hallo,
geht bestimmt noch eleganter, aber um den Index des Elementes bzw. der Elemente in "n" zu finden die am nahsten an S(2) sind, koennte man z.B. dies anwenden:
MFG
Sco
|
|
|
CineXclusive |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 14
|
 |
|
 |
Anmeldedatum: 07.01.08
|
 |
|
 |
Wohnort: Erlangen
|
 |
|
 |
Version: 2007a
|
 |
|
|
 |
|
Verfasst am: 19.11.2010, 15:09
Titel:
|
 |
Hi Sco,
hab den Code mal getestet, aber schon bei S(3) bekomme ich für num "9" statt "7".
Bin nun mittlerweile auf Funktionen ausgewichen um das Programm übersichtlicher zu gestalten.
Mit dynamischen Variablen (eval) kann ich dann mit meinem 1. Programmteil bisher alles richtig auslesen.
Nun habe ich aber (wie sollte es anders sein) Probleme der Variablenübergabe der Funktion (Mein Programm ist mittlerweile etwas größer geworden als das Beispiel)... Das werde ich aber in einem anderen Thema posten, weil es hier direkt nicht hingehört.
Hier noch für alle die ein ähnliches Problem haben meine Lösung:
Main.m
durchlauf.m
Als Ergebnis bekomme ich dann
n1 =
1.0000
1.1000
0.9000
n2 =
5.0000
5.0500
4.9500
n3 =
10.0200
9.9600
10.0000
Danke nochmal für die Hilfe!
_________________
Viele Grüße,
CineXclusive
|
|
|
Sco |

Forum-Meister
|
 |
Beiträge: 699
|
 |
|
 |
Anmeldedatum: 15.08.10
|
 |
|
 |
Wohnort: Dundee
|
 |
|
 |
Version: 2008a, 2010a
|
 |
|
|
 |
|
Verfasst am: 19.11.2010, 15:32
Titel:
|
 |
Hallo,
Zitat: |
hab den Code mal getestet, aber schon bei S(3) bekomme ich für num "9" statt "7".
|
Das ist doch auch richtig, oder nicht? Wie suchen in dem Vektor "n" den Wert der am naechsten zu 10 ist (S(3)). Im Vektor "n" ist das 9. Element der Wert 10, also genau was wir erwarten, da es genau der selbe Wert ist. Das 7. Element ist 10.02 und somit "weiter entfernt" von 10 (S(3)).
Oder was habe ich falsch verstanden.
Ps.: Du solltest auf den Gebrauch von
nach Moeglichkeit (und die gibt es eigentlich immer) verzichten, da es zu schwer auffindbaren Fehlern fuehren kann. Siehe hierzu auch in der Forumsuche nach Posts von Jan S diesbezueglich!!!
MFG
Sco
|
|
|
CineXclusive |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 14
|
 |
|
 |
Anmeldedatum: 07.01.08
|
 |
|
 |
Wohnort: Erlangen
|
 |
|
 |
Version: 2007a
|
 |
|
|
 |
|
Verfasst am: 19.11.2010, 15:55
Titel:
|
 |
Hi Sco,
ne da hast Du mich leider etwas missverstanden. Mein vorgegebener Sollwert ist 5, meine Messungen sind aber nie genau 5 wie in dem Beispiel. Beim Auslesen der Werte brauche ich aber natürlich alle Messdaten die eigentlich 5 sein sollten. Demanch auch wenn mal 4,95 auftaucht....
Zu "Eval":
Jetzt mach mir mal keine Angst Sitze seit gestern vor diesem blöden Problem und bin endlich einen Schritt weiter... Jetzt kommen ja die nächsten Probleme...
Wie mache ich das an meinem Beispiel wenn ich zwei Vektoren zurück geben will, also n1 z1, n2 z2, etc., die auch zueinandergehörige Wertepaare sind.
Bin gerade noch am Suchen im Forum bevor ich ein neues Thema aufmache,
aber wenn hier doch noch jemand schnell eine Idee hat
_________________
Viele Grüße,
CineXclusive
|
|
|
Sco |

Forum-Meister
|
 |
Beiträge: 699
|
 |
|
 |
Anmeldedatum: 15.08.10
|
 |
|
 |
Wohnort: Dundee
|
 |
|
 |
Version: 2008a, 2010a
|
 |
|
|
 |
|
Verfasst am: 19.11.2010, 16:11
Titel:
|
 |
Hallo,
na das konte ich nicht deinem Post entnehmen, sorry.
Aber dann muesstest du auch sagen, bis zu welchen Wert in "n" dem Wert S noch zugeordnet werden soll. Also soll z.B. fuer die 5 (S(2)) auch noch 4 oder erst ab 4.5 oder erst ab 4.95 der Wert mit dazugezaehlt werden? Das muesste man schon wissen. Also qusai das Intervall: 5+-0.05 z.B.
Nehmen wir ein Intervall von 0.05 an, dann ginge das so:
Und das ist was auch du raus hasst , nur ein wenig kuerzer....
MFG
Sco
|
|
|
|
|
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.
|
|