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 Mathe
  Status Schulmathe
    Status Primarstufe
    Status Mathe Klassen 5-7
    Status Mathe Klassen 8-10
    Status Oberstufenmathe
    Status Mathe-Wettbewerbe
    Status Sonstiges
  Status Hochschulmathe
    Status Uni-Analysis
    Status Uni-Lin. Algebra
    Status Algebra+Zahlentheo.
    Status Diskrete Mathematik
    Status Fachdidaktik
    Status Finanz+Versicherung
    Status Logik+Mengenlehre
    Status Numerik
    Status Uni-Stochastik
    Status Topologie+Geometrie
    Status Uni-Sonstiges
  Status Mathe-Vorkurse
    Status Organisatorisches
    Status Schule
    Status Universität
  Status Mathe-Software
    Status Derive
    Status DynaGeo
    Status FunkyPlot
    Status GeoGebra
    Status LaTeX
    Status Maple
    Status MathCad
    Status Mathematica
    Status Matlab
    Status Maxima
    Status MuPad
    Status Taschenrechner

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
Dt. Schulen im Ausland: Mathe-Seiten:Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
StartseiteMatheForenMatlabAbspeicherung in neuen Vektor
Foren für weitere Schulfächer findest Du auf www.vorhilfe.de z.B. Geschichte • Erdkunde • Sozialwissenschaften • Politik/Wirtschaft
Forum "Matlab" - Abspeicherung in neuen Vektor
Abspeicherung in neuen Vektor < Matlab < Mathe-Software < Mathe < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Matlab"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Abspeicherung in neuen Vektor: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 11:44 Do 05.04.2012
Autor: ronchen

Ich habe diese Frage in keinem anderem Forum gestellt.

Hallo habe folgende Programmierung:

sek=2;
anfangsZeit = 1;
for m = 1 : (length(A) )
      
     endZeit = find(B < (m * sek), 1, 'last');
     D=A(anfangsZeit:endZeit);  
     anfangsZeit = endZeit + 1;
    
end

Diese schleife sucht mir aus einem großen Vektor A mit Hilfe eines Zeitvektors B alle Werte die innerhalb von 2 Sekunden vorkommen.Diese werden dann unter D  gespeichert in dieser schleife. Nun möchte ich aber das nach jedem Durchlauf dieses D in einem Vektor abgespeichert wird also z.B. C1,C2,C3 usw. sonst wird er ja immer wieder überschrieben, ist dies möglich?

Danke für jede Hilfe

        
Bezug
Abspeicherung in neuen Vektor: Antwort
Status: (Antwort) fertig Status 
Datum: 12:12 Do 05.04.2012
Autor: QCO

Du kannst doch einfach eine Matrix nutzen - funktionieren wie die Vektoren, nur mit zwei Indizies.
Angenommen deine Ergebnisvektoren D werden nicht länger als 42
C=zeros(length(A),42)
und dann in der Schleife:
C(m,:)=D
Ansonsten gäbe es noch die Funktion eval:
eval(['C_' num2str(m) '=D']);
allerdings ist das eher langsam und auch nicht unbedingt der beste Stil.


Bezug
                
Bezug
Abspeicherung in neuen Vektor: Frage (überfällig)
Status: (Frage) überfällig Status 
Datum: 16:31 Do 05.04.2012
Autor: ronchen

Vielen Dank für die schnelle Antwort. Das mit eval hatte ich auch schon probiert funktioniert so weit ganz ok, bekommene aber zu viel leere Vektoren. Problem bei mir habe zum Beispiel 43000 Werte pro 0,0015 sek ein Wert so das ca. pro 2 sekunden 3116 werte in einen vektor müssen.So diese Zahl variiert aber kann auch 3115 oder 3117 sein. wenn ich es so mache:

sek=2;
anfangsZeit = 1;
C=zeros(length(A),1316);
for m = 1 : (length(A) )
      
     endZeit = find(B < (m * sek), 1, 'last');
     D=A(anfangsZeit:endZeit);
     C(m,:)=D;  
     anfangsZeit = endZeit + 1;
    
end

sagt er dann:

??? Subscripted assignment dimension mismatch.

Error in ==> Analyse_einer_Messreihe at 22
    C(m,:)=anzahl;

Das heißt er beschreibt die ersten drei Zeilen und dann sind es nicht mehr 3116 sondern mehr oder weniger und dann kommmt der Fehler. So und mache ich es mit eval bekomme ich zwar meine Vektoren aber zuviele da die SChleife ja 43000 mal durchgeht. Vielleicht noch ein Tip so funktioniert es ja, nur die Kleinigkeiten.

Danke

Bezug
                        
Bezug
Abspeicherung in neuen Vektor: Frage (überfällig)
Status: (Frage) überfällig Status 
Datum: 16:43 Do 05.04.2012
Autor: ronchen

So jetzt habe ich es sieht aber nicht sehr elegant aus könnte mir da jamand noch helfen das umzuformulieren. Danke

sek=2;
anfangsZeit = 1;
for m = 1 : (length(A) )
      
     endZeit = find(B < (m * sek), 1, 'last');
     D=A(anfangsZeit:endZeit);
     test=sum(D);

     if test==0
         C=0;
     else  
         eval(['C' num2str(m) '=D']);  
     end
     anfangsZeit = endZeit + 1;
    
end


Bezug
                                
Bezug
Abspeicherung in neuen Vektor: Fälligkeit abgelaufen
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 17:20 Sa 07.04.2012
Autor: matux

$MATUXTEXT(ueberfaellige_frage)
Bezug
                        
Bezug
Abspeicherung in neuen Vektor: Fälligkeit abgelaufen
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 17:20 Sa 07.04.2012
Autor: matux

$MATUXTEXT(ueberfaellige_frage)
Bezug
                                
Bezug
Abspeicherung in neuen Vektor: Frage (überfällig)
Status: (Frage) überfällig Status 
Datum: 08:41 Mo 16.04.2012
Autor: ronchen

So hätte da noch einmal eine kleine Frage. Habe wie oben schon beschrieben meine vektoren erstellt C1,C2......

So nun möchte ich diese miteinander vergleichen, also wie eine for Schleife ungefähr so

for i=1:counter  %counter zählt beim Erstellen der vektoren wie oft welche erstellt werden

[p,h]=ranksum(C(i),C(i+1))
end

Das geht natürlich nicht da er ja auf die Spalte in der Matrix zugreifen will, möchte aber mit dem i die Vektorbezeichnung ansprechen also C(i)=C1 usw. wie könnte ich das am besten machen. Wäre für jede Hilfe dankbar.

Ronny

Bezug
                                        
Bezug
Abspeicherung in neuen Vektor: Fälligkeit abgelaufen
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 09:20 Mi 18.04.2012
Autor: matux

$MATUXTEXT(ueberfaellige_frage)
Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Matlab"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


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