matheraum.de
Raum für Mathematik
Offene Informations- und Nachhilfegemeinschaft

Für Schüler, Studenten, Lehrer, Mathematik-Interessierte.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Schulmathe
  Status Primarstufe
  Status Mathe Klassen 5-7
  Status Mathe Klassen 8-10
  Status Oberstufenmathe
    Status Schul-Analysis
    Status Lin. Algebra/Vektor
    Status Stochastik
    Status Abivorbereitung
  Status Mathe-Wettbewerbe
    Status Bundeswettb. Mathe
    Status Deutsche MO
    Status Internationale MO
    Status MO andere Länder
    Status Känguru
  Status Sonstiges

Gezeigt werden alle Foren bis zur Tiefe 2

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
StartseiteMatheForenMatlabVektor zu Matrix
Foren für weitere Schulfächer findest Du auf www.vorhilfe.de z.B. Philosophie • Religion • Kunst • Musik • Sport • Pädagogik
Forum "Matlab" - Vektor zu Matrix
Vektor zu Matrix < Matlab < Mathe-Software < Mathe < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Matlab"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Vektor zu Matrix: Aufgabe
Status: (Frage) beantwortet Status 
Datum: 00:49 So 15.10.2006
Autor: Kathrin

Hallo liebe Freunde ;
ich habe mit Matlab vor, eine 3D Plot zeichnung zu machen, und  habe einen Vektor, der 2376 lang ist ,,,  ich möchte aus diesem Vektor ein Matrix bilden, das 66 spalten  und 36 zeilen hat. ich weiss aber nicht wie oder was ich eingeben soll. ich habe auch nichts in denMatlab-Bücher gefunden.

Kann jemand mir helfen

Danke.
Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.

        
Bezug
Vektor zu Matrix: Antwort
Status: (Antwort) fertig Status 
Datum: 09:08 So 15.10.2006
Autor: ullim

Hi Kathrin,

ich habe Matlab 6.5 benutzt.

Das Programm liegt bei.

-----------------------------------------------

N=6; % Anzahl Spalten
M=3; % Anzahl Zeilen

% Befüllen eines Testvektors x
for i=1:N*M
    x(i)=i;
end

% Ausgabe von x
x'

% Umsortieren des Vektor x in eine Matrix
for i=1:M
    for j=1:N
        A(i,j)=x((i-1)*N+j);
    end
end

% Testausgabe von A
A

-----------------------------------------------

Für N und M kannst Du dann Deine Zahlen einsetzen.

mfg ullim

Bezug
                
Bezug
Vektor zu Matrix: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 10:10 Di 17.10.2006
Autor: Kathrin

Guten tag zusammen,

die  Antwort auf meine Frage  hat mir geholfen,,,,Danke
nun ich habe von diesem vektor  noch 29 Stücke, die müssen alle in Matrizen 36 mal 66  umgewandelt weden und in 3D gezeichnet.. diese Vektoren liegen bei mir in Excel.... wie kann ich ein M-file schreiben , so dass ich nicht jedes mal die Vektoren mit Matlab importiere  und in Matrix umwandele und erst dann zeichnen
Falls jemand die Excel-Datei sich anschauen will, kann ich ihm schicken

schöne Grüsse

Dateianhänge:
Anhang Nr. 1 (Typ: xls) [nicht öffentlich]
Bezug
                        
Bezug
Vektor zu Matrix: Antwort (fehlerhaft)
Status: (Antwort) fehlerhaft Status 
Datum: 20:58 Di 17.10.2006
Autor: ullim

Hi Kathrin,

versuchsmal mit folgendem Programm


----------------------------------------------------------------------


N=6; % Anzahl Spalten der resultierenden Matrix
M=3; % Anzahl Zeilen der resultierenden Matrix
J=5; % Anzahl Spalten der Ausgangsdatenmatrix

clc

% Befüllen einer Testmatrix x
for i=1:N*M
    for j=1:J
        x(i,j)=N*M*(j-1)+i;
    end
end

% Ausgabe von x
x

% Umsortieren des Vektor x in eine Matrix
for j=1:J
    for m=1:M
        for n=1:N
            A(m,n,j)=x((m-1)*N+n,j);
        end
    end
end

% Testausgabe von A
A



----------------------------------------------------------------------

Es erzeugt folgende Ausgabe

x =

     1    19    37    55    73
     2    20    38    56    74
     3    21    39    57    75
     4    22    40    58    76
     5    23    41    59    77
     6    24    42    60    78
     7    25    43    61    79
     8    26    44    62    80
     9    27    45    63    81
    10    28    46    64    82
    11    29    47    65    83
    12    30    48    66    84
    13    31    49    67    85
    14    32    50    68    86
    15    33    51    69    87
    16    34    52    70    88
    17    35    53    71    89
    18    36    54    72    90


A(:,:,1) =

     1     2     3     4     5     6
     7     8     9    10    11    12
    13    14    15    16    17    18


A(:,:,2) =

    19    20    21    22    23    24
    25    26    27    28    29    30
    31    32    33    34    35    36


A(:,:,3) =

    37    38    39    40    41    42
    43    44    45    46    47    48
    49    50    51    52    53    54


A(:,:,4) =

    55    56    57    58    59    60
    61    62    63    64    65    66
    67    68    69    70    71    72


A(:,:,5) =

    73    74    75    76    77    78
    79    80    81    82    83    84
    85    86    87    88    89    90



Nun musst Du nur noch das Excel File nach matlab einlesen.

mfg ullim

Bezug
                                
Bezug
Vektor zu Matrix: Korrekturmitteilung
Status: (Korrektur) Korrekturmitteilung Status 
Datum: 09:46 Mi 18.10.2006
Autor: Kathrin

Hallo

Deine Antwort ist gar nicht mal Falsch, lässt sich auf  meine Excel Datei nicht anwenden.ich bekomme die folgende Meldung:

??? zeichnenaller daten:( so heisst mein M-Feil)
                  |
Error: Missing operator, comma, or semicolon.

MfG



Bezug
                                        
Bezug
Vektor zu Matrix: Korrekturmitteilung
Status: (Korrektur) Korrekturmitteilung Status 
Datum: 22:16 Mi 18.10.2006
Autor: ullim

Hi Kathrin,

in meinem Programm habe ich ja die Eingangswerte simuliert, Du muss sie aus dem Excel File oder aus einem CSV (Comma Separierten Value) File lesen. In Excel kannst Du angeben wie die Datei konvertiert werden soll. Wenn Du das File eingelesen hast, muss Du die Werte entsprechend meinem Programm in eine Matrix füllen, dann sollte es klappen.

mfg ullim

Bezug
                                                
Bezug
Vektor zu Matrix: Korrekturmitteilung
Status: (Korrektur) Korrekturmitteilung Status 
Datum: 19:33 Do 19.10.2006
Autor: Kathrin

Hallo Ulm

wie kommt das ?????? wenn ich ein  M-File koppiere, und ihm einen anderen Namen gebe( statt Hallo.m einfach gruesse.m),,,,das ich die neue M-file nicht mehr ausführen kann...... ich kann nur der erste ausführen.

sehr merkwürdig,,,, weist du vielleicht warum

MfG


Bezug
                                
Bezug
Vektor zu Matrix: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 20:06 Do 19.10.2006
Autor: ullim

Hi Katrin,

bei mir ist das nicht so. Ich habe ein M-File kopiert und umbenannt. Und dieses neue M_File kann ich auch ausführen. Tut mir leid, den Fehler kann ich nicht nachvollziehen.

mfg ullim

Bezug
                                        
Bezug
Vektor zu Matrix: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 17:44 Sa 21.10.2006
Autor: ullim

Hi Katrin,

ich habe das Programm noch so verändert, das das Excelfile direkt ausgelesen wird. Die NaN Werte kann man noch eliminieren.

Ich habe folgende Testdaten verwendet

[a]Datei-Anhang

<< -----

clc
clear

N=6; % Anzahl Spalten der resultierenden Matrix
M=3; % Anzahl Zeilen der resultierenden Matrix

[Werte, Namen] = xlsread('Testexcel1.xls'); %Einlesen der Exceldatei

% Ausgabe von Werte
Werte

J = size(Werte,2); % Anzahl der Spalten der Eingangsmatrix

% Umsortieren der Matrix Werte in die Matrix A
for j=1:J;
    for m=1:M;
        for n=1:N;
            A(m,n,j)=Werte((m-1)*N+n,j);
        end
    end
end

% Testausgabe von A
A

----- >>

Werte =

         NaN          65         -80   598860511   596832200   594812518   592801523   590799450
         NaN          65         -80   598860511   596832200   594812518   592801523   590799450
         NaN          65         -80   598860511   596832200   594812518   592801523   590799450
         NaN          65         -80   598860511   596832200   594812518   592801523   590799450
         NaN          65         -80   598860511   596832200   594812518   592801523   590799450
         NaN          65         -80   598860511   596832200   594812518   592801523   590799450
         NaN          65         -80   598860511   596832200   594812518   592801523   590799450
         NaN          65         -80   598860511   596832200   594812518   592801523   590799450
         NaN          65         -80   598860511   596832200   594812518   592801523   590799450
         NaN          65         -80   598860511   596832200   594812518   592801523   590799450
         NaN          65         -80   598860511   596832200   594812518   592801523   590799450
         NaN          65         -80   598860511   596832200   594812518   592801523   590799450
         NaN          65         -80   598860511   596832200   594812518   592801523   590799450
         NaN          65         -80   598860511   596832200   594812518   592801523   590799450
         NaN          65         -80   598860511   596832200   594812518   592801523   590799450
         NaN          65         -80   598860511   596832200   594812518   592801523   590799450
         NaN          65         -80   598860511   596832200   594812518   592801523   590799450
         NaN          65         -80   598860511   596832200   594812518   592801523   590799450


A(:,:,1) =

   NaN   NaN   NaN   NaN   NaN   NaN
   NaN   NaN   NaN   NaN   NaN   NaN
   NaN   NaN   NaN   NaN   NaN   NaN


A(:,:,2) =

    65    65    65    65    65    65
    65    65    65    65    65    65
    65    65    65    65    65    65


A(:,:,3) =

   -80   -80   -80   -80   -80   -80
   -80   -80   -80   -80   -80   -80
   -80   -80   -80   -80   -80   -80


A(:,:,4) =

   598860511   598860511   598860511   598860511   598860511   598860511
   598860511   598860511   598860511   598860511   598860511   598860511
   598860511   598860511   598860511   598860511   598860511   598860511


A(:,:,5) =

   596832200   596832200   596832200   596832200   596832200   596832200
   596832200   596832200   596832200   596832200   596832200   596832200
   596832200   596832200   596832200   596832200   596832200   596832200


A(:,:,6) =

   594812518   594812518   594812518   594812518   594812518   594812518
   594812518   594812518   594812518   594812518   594812518   594812518
   594812518   594812518   594812518   594812518   594812518   594812518


A(:,:,7) =

   592801523   592801523   592801523   592801523   592801523   592801523
   592801523   592801523   592801523   592801523   592801523   592801523
   592801523   592801523   592801523   592801523   592801523   592801523


A(:,:,8) =

   590799450   590799450   590799450   590799450   590799450   590799450
   590799450   590799450   590799450   590799450   590799450   590799450
   590799450   590799450   590799450   590799450   590799450   590799450

mfg ullim

Dateianhänge:
Anhang Nr. 1 (Typ: xls) [nicht öffentlich]
Anhang Nr. 2 (Typ: xls) [nicht öffentlich]
Bezug
                                                
Bezug
Vektor zu Matrix: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 19:08 Fr 27.10.2006
Autor: Kathrin

hallo Ulm,
Oh.....mein lieber gott,  ich führe eigentlich nur die Schritte , die du machst und nicht anderes.............es musste bei mir auch wie bei dir auch laufen .

kann es sein , das weil die zeilen-Anzahl 2376 und spalten-Anzahl 29  bei mir ist. und  mein matrix 68904 elemente hat,,
bitte versuch ,dass für die matrix, die ich im Netz habe , auch,
und sag mir bescheid...
kann es sein , das mein Matlab faul ist  ????
ich werde wahrsinnig

Bezug
                                                        
Bezug
Vektor zu Matrix: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 23:23 Fr 27.10.2006
Autor: ullim

Hi kathrin,

ich habe es mit Deinen Daten probiert, s. Anhang, bei mir gehts gut. Meld Dich wenn was schief gegangen ist.

[a]Datei-Anhang

[a]Datei-Anhang

mfg ullim

Dateianhänge:
Anhang Nr. 1 (Typ: m) [nicht öffentlich]
Anhang Nr. 2 (Typ: xls) [nicht öffentlich]
Bezug
                                                                
Bezug
Vektor zu Matrix: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 10:52 Di 31.10.2006
Autor: Kathrin

Hallo Ulm ,

nach länger rumprobiererei hat es funktioniert, aber nicht als M-File ,was man ausführen kann ,,,,,,,sonderen ich musste dein Program komplet in die  "Command window" eingeben und erst dann , konnte mein matlab mir das Ergebniss  berechnen ................es muss als M-file auch gehen ??? na ya.
sag mal: es sind bei mir jetzt 29 Fläschen , die ich plotten kann, die einzeln zu plotten ist kein problem. gibt es die Möglichkeit ,sie alle in einem Bild zu plotten........ich habe mir überlegt  eine for schleife ZU benutzen, und habe es so gemacht:
for h=:29
surf(a,b,A(:,:,h);
figure (h);
end
er plottet die alle, tut die nicht in einem Bild sondern in 29 Bilder

Bezug
                                                                        
Bezug
Vektor zu Matrix: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 15:10 Di 31.10.2006
Autor: ullim

Hi kathrin,

das Du 29 Bilder bekommst, kommt durch den Befehl figure(h), weil hier ja h hochgezählt wird. Ich weiss aber auch nicht, wie man alles in ein Bild bekommt.

Aber als m-File sollte das Programm schon laufen, jedenfalls bei mir. Ich habe Matlab 6.5.

mfg ullim.

Bezug
                                                                                
Bezug
Vektor zu Matrix: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 21:42 Mi 01.11.2006
Autor: habanero

Hallo,
probier einfach mal das hier: wenn du für weitere Ausgaben weitere Fenster brauchst, inkrementierst du einfach windowhandler und setzt das Fenster aktiv

windowhandler=0; % Startinitialisierung
windowhandler=windowhandler+1;
figure(windowhandler);hold on;
for h=:29
    surf(a,b,A(:,:,h);
end
hold off;

Grüße Thomas

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Matlab"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


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