www.vorhilfe.de
Vorhilfe

Kostenlose Kommunikationsplattform für gegenseitige Hilfestellungen.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Mathe-Software" - Vektor in Matrix umwandeln
Vektor in Matrix umwandeln < Mathe-Software < Mathe < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Mathe-Software"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Vektor in Matrix umwandeln: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 10:22 Fr 01.07.2011
Autor: danm357

Liebe Forengemeinde,

ich habe ein kleines Problem bei dem Ihr mir hoffentlich weiterhelfen könnt.

Ich habe einen Vektor v1 mit 4194304 (= 2048 x 2048) Einträgen. Diesen Vektor müsste ich nun in eine Matrix der Grösse 2048 x 2048 umwandeln. Die ersten 2048 Einträge des Vektors sollen also die erste Spalte in der Matrix sein, die nächsten 2048 Einträge des Vektors sollen dann die zweite Spalte in der Matrix sein etc.
Nun habe ich herausgefunden, dass man in Mathematica mit  
ersteSpalte=v1[mm][[1;;2048;;1]] [/mm]
zweiteSpalte=v1[mm][[2049;;4096;;1]] [/mm] etc.
die passenden Zeilen des Vektors extrahieren kann.
Aber leider scheitere ich nun an meinen bescheidenen Programmierkünsten. Wie schaffe ich es nun (in Mathematica), dass ich die passenden Zeilen des Vektors automatisch extrahiere und in eine Matrix fülle?

Ich würde mich über jede kleine Hilfestellung freuen!

        
Bezug
Vektor in Matrix umwandeln: Antwort
Status: (Antwort) fertig Status 
Datum: 10:31 Fr 01.07.2011
Autor: reverend

Hallo danm357,

ich weiß nicht, welche Software du verwendest, aber es geht Dir wohl nur um den Weg, wenn ich es recht sehe.

Es gibt also ein eindimensionales Array V(n), den Vektor. Und den willst Du transformieren in ein zweidimensionales Array M(m,n), die Matrix.

In Pseudocode ginge das z.B. so. Ich gehe davon aus, dass V(n) und M(m,n) bereits definiert sind und die Daten im Vektor vorliegen.

for i=1 to 2048
   for j=1 to 2048
      M(i,j):=V(2048*(i-1)+j)
   end loop (j)
end loop (i)

So schreibst Du einfach jede einzelne Zahl aus dem Vektor an die entsprechende Stelle der Matrix, hier allerdings zeilenweise. Wenn Du spaltenweise schreiben willst, gehört in die mittlere Zeile M(j,i), und der ganze Rest bleibt so.

Hilft Dir das weiter?

Grüße
reverend




Bezug
                
Bezug
Vektor in Matrix umwandeln: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 10:41 Fr 01.07.2011
Autor: danm357

Hallo,

vielen lieben Dank für diesen Lösungsansatz.
Vom Pseudocode her ist es mir klar, wie es gehen sollte.
Jetzt muss ich es nur noch schaffen, das ganze in Mathematica-Code (sorry, habe ich in der ursprünglichen Version des Artikels vergessen zu erwähnen) umzuwandeln.
Mal schauen, ob ich das schaffe...

Bezug
                        
Bezug
Vektor in Matrix umwandeln: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 11:02 Fr 01.07.2011
Autor: reverend

Hallo nochmal,

> vielen lieben Dank für diesen Lösungsansatz.
>  Vom Pseudocode her ist es mir klar, wie es gehen sollte.
>  Jetzt muss ich es nur noch schaffen, das ganze in
> Mathematica-Code (sorry, habe ich in der ursprünglichen
> Version des Artikels vergessen zu erwähnen) umzuwandeln.
>  Mal schauen, ob ich das schaffe...  

Wenns nicht klappt, melde dich nochmal (am besten aber mit einem Frageartikel, der bleibt länger angezeigt ;-)).
Ich habe selbst gar keine Ahnung von Mathematica, aber wir haben hier ein paar Spezialisten, die selbst viel mit dem Programm arbeiten.
Wenn das nicht so teuer wäre, würde ich das wohl auch gern...

Viel Erfolg!
reverend


Bezug
                        
Bezug
Vektor in Matrix umwandeln: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 11:07 Fr 01.07.2011
Autor: danm357

So geschafft, ist gar nicht so schwer mit Mathematica.
Wenn die Matrix und der Vektor schon vorliegen, schaut Deine Lösung in Mathematica folgendermassen aus:
[mm] For[i=1,i<2049,i++,For[j=1,j<2049,j++,Matrix[[i,j]]=v1[[2048*(i-1)+j]]]] [/mm]

Vielen Dank noch mal für die schnelle und nützliche Hilfe!

Bezug
                                
Bezug
Vektor in Matrix umwandeln: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 11:48 Fr 01.07.2011
Autor: reverend

Hallo,

> So geschafft, ist gar nicht so schwer mit Mathematica.
>  Wenn die Matrix und der Vektor schon vorliegen, schaut
> Deine Lösung in Mathematica folgendermassen aus:
> [mm]For[i=1,i<2049,i++,For[j=1,j<2049,j++,Matrix[[i,j]]=v1[[2048*(i-1)+j]]]][/mm]

Interessante Syntax.

> Vielen Dank noch mal für die schnelle und nützliche
> Hilfe!

Gern geschehen.

lg
rev


Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Mathe-Software"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.mathebank.de
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]