www.vorhilfe.de
Vorhilfe

Kostenlose Kommunikationsplattform für gegenseitige Hilfestellungen.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Vorhilfe
  Status Geisteswiss.
    Status Erdkunde
    Status Geschichte
    Status Jura
    Status Musik/Kunst
    Status Pädagogik
    Status Philosophie
    Status Politik/Wirtschaft
    Status Psychologie
    Status Religion
    Status Sozialwissenschaften
  Status Informatik
    Status Schule
    Status Hochschule
    Status Info-Training
    Status Wettbewerbe
    Status Praxis
    Status Internes IR
  Status Ingenieurwiss.
    Status Bauingenieurwesen
    Status Elektrotechnik
    Status Maschinenbau
    Status Materialwissenschaft
    Status Regelungstechnik
    Status Signaltheorie
    Status Sonstiges
    Status Technik
  Status Mathe
    Status Schulmathe
    Status Hochschulmathe
    Status Mathe-Vorkurse
    Status Mathe-Software
  Status Naturwiss.
    Status Astronomie
    Status Biologie
    Status Chemie
    Status Geowissenschaften
    Status Medizin
    Status Physik
    Status Sport
  Status Sonstiges / Diverses
  Status Sprachen
    Status Deutsch
    Status Englisch
    Status Französisch
    Status Griechisch
    Status Latein
    Status Russisch
    Status Spanisch
    Status Vorkurse
    Status Sonstiges (Sprachen)
  Status Neuerdings
  Status Internes VH
    Status Café VH
    Status Verbesserungen
    Status Benutzerbetreuung
    Status Plenum
    Status Datenbank-Forum
    Status Test-Forum
    Status Fragwürdige Inhalte
    Status VH e.V.

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:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Matlab" - plotten großer vektoren
plotten großer vektoren < Matlab < Mathe-Software < Mathe < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Matlab"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

plotten großer vektoren: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 12:08 Di 31.07.2012
Autor: trbo

Aufgabe
aus einer Raumimpulsantwort die Klarheitswerte C50/C80 mittels matlab-programm errechnen

hallo,
mein problem dreht sich um das thema akustische messungen.
ich habe einen workspace mit abtastfrequenz und Impulsantwort. die impulsantwort besteht aus rund 250k messwerten, weßhalb octave mir den graph nicht plotten will. könnt ihr mir sagen ob das wirklich nicht geht oder ob ich anders rangehen muss?
so sieht die prompt aus (FS=sample freq. , TS=impulsantwort):
load 'IA.mat'
a=1/FS
x=0:a:0.08*FS     //x soll bis maximal 80ms gehen
y=TS(1:0.08*FS)
plot(x,y) //semilogx(x,y) hab ich auch schon versucht.

verzeiht mir synthaxfehler, es ist schon länger her dass ich mich mit matlab/octave intensiv beschäftigt hab. damals war ich aber sicher was die synthax angeht und es hat trotzdem nicht geklappt. es geht mir mehr um das prinzip. zu sagen wär noch dass ich das ganze auf der konsole ausführe, ohne graphische oberfläche.
danke für eure hilfe

        
Bezug
plotten großer vektoren: Antwort
Status: (Antwort) fertig Status 
Datum: 13:06 Di 31.07.2012
Autor: wieschoo


> aus einer Raumimpulsantwort die Klarheitswerte C50/C80
> mittels matlab-programm errechnen
>  hallo,
>  mein problem dreht sich um das thema akustische messungen.
> ich habe einen workspace mit abtastfrequenz und
> Impulsantwort. die impulsantwort besteht aus rund 250k
> messwerten,

Da sollte kein Problem darstellen. Da schmieren Matlab und Octave nocht nicht ab.

> weßhalb octave mir den graph nicht plotten
> will. könnt ihr mir sagen ob das wirklich nicht geht oder
> ob ich anders rangehen muss?
>  so sieht die prompt aus (FS=sample freq. ,
> TS=impulsantwort):
>  load 'IA.mat'
>  a=1/FS
>  x=0:a:0.08*FS     //x soll bis maximal 80ms gehen
>  y=TS(1:0.08*FS)

Wenn TS eine Funktion ist, dann müsste es funktionieren. "Geht nicht" ist eine sehr schlechte Fehlerbeschreibung.

>  plot(x,y) //semilogx(x,y) hab ich auch schon versucht.
>  
> verzeiht mir synthaxfehler, es ist schon länger her dass
> ich mich mit matlab/octave intensiv beschäftigt hab.

Falls TS eine Matrix von Messwerten ist, dann funktioniert die Zeile

> y=TS(1:0.08*FS)

nicht, da als Indizies nur Ganzzahlen auftauchen dürfen.
Angenommen du hast die 250k Messwerte (y-Werte) in TS stehen. Dann ist TS eine Matrix vom Format 1x250000 und der Befehl

plot(TS)

sollte genügen.



> damals war ich aber sicher was die synthax angeht und es
> hat trotzdem nicht geklappt. es geht mir mehr um das
> prinzip. zu sagen wär noch dass ich das ganze auf der
> konsole ausführe, ohne graphische oberfläche.
>  danke für eure hilfe


Schreib die genaue Fehlermeldung am besten auf. Sonst wird das nur eine Spielrunde "Blinde Kuh" für mögliche Antworten.

gruß
wieschoo

Bezug
                
Bezug
plotten großer vektoren: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 14:36 Di 31.07.2012
Autor: trbo

mit der fehlermeldung hast du natürlich recht, sorry.
TS ist eine 1x1 matrix mit den 250k messwerten.
plot(TS) hat nicht funktioniert, fehlermeldung:

octave:17> plot(TS)
error: popen2: process creation failed -- Cannot allocate memory
error: called from:
error:   /usr/share/octave/3.2.4/m/plot/__gnuplot_open_stream__.m at line 28, co                   lumn 44
error:   /usr/share/octave/3.2.4/m/plot/gnuplot_drawnow.m at line 85, column 19

ich dachte erst daran dass der rechner grafiktechnisch nicht ausreichend konfiguriert ist um was zu plotten. aber als ich weiter rumprobiert hab, habe ich für kleinere definitionsbereiche einen graphen bekommen.
...
habe gerade nachdem ich den letzten teil geschrieben hab auf einem anderen Rechner (mit graphischer oberfläche) nochmal plot(TS) versucht, jetzt klappts natürlich -.-
ich hätte aber noch eine andere frage, und zwar ist es so, dass es bei einer raumimpulsantwort mehrere peaks gibt, dabei ist der erste peak der direktschall und alle weiteren sind reflexionen. ich brauche jetzt den zeitpunkt des direktschall-peaks. ich seh den zwar im graphen,kann aber nur abschätzen zu welchem zeitpunkt er genau auftritt. gibt es eine funktion bei matlab/octave, mit der ich in einem bestimmten intervall das maximum bestimmen könnte (bzw. den x-wert dazu)?





Bezug
                        
Bezug
plotten großer vektoren: Antwort
Status: (Antwort) fertig Status 
Datum: 15:16 Di 31.07.2012
Autor: Pille456

Hi!

In Matlab gibts die max/min Funktion, die auch problemlos auf Arrays funktioniert. Da die Octave Syntax ja an Matlab angelehnt ist, vermute ich, dass es dort eine ähnliche Funktion gibt. Für Matlab kannst Du hier schauen:
http://www.mathworks.de/help/techdoc/ref/max.html

Da Du den Zeitpunkt brauchst, vermute ich mal, dass Dir der max-wert nicht reichen wird, sondern Du ein Index o.Ä. brauchst. Dafür kannst Du max mit der find Funktion kombinieren (gibts auch bei Octave, aber bin mir nicht sicher, ob beide Funktionen in Matlab und Octave gleich funktionieren):

index = find(A==(max(A(:,1))) findet den höchsten Wert in der 1. Spalte der gesamten Matrix (alle Zeilen) (ungetestet!!)

Mit dem so gefunden Index kannst Du dann z.B. per A(index,2) zugreifen. Ich weiß jetzt nicht genau, wie Deine Matrizen aufgebaut sind - muss du etwas rumprobieren, bis du die richtigen Spalten /Zeilen gefunden hast.

Bezug
                                
Bezug
plotten großer vektoren: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 15:27 Di 31.07.2012
Autor: trbo

ah ok danke, ich werd das mal versuchen.
eine frage noch, ist es irgendwie möglich über diese impulsantwort ein integral zu bilden (es ist ja keine kontinuierliche funktion..)? bis jetzt hab ich das sehr umständlich gelöst, indem ich, einfach ausgedrückt,  für jeden messwert eine rechteck berechne mit den seitenlängen TS und 1/FS , dann bilde ich aus der differenz zum nächsten messwert eine dreieckfläche und addier die zum rechteck. über eine schleife mache ich das so für jeden messwert. mir gefällt die lösung persönlich nicht so richtig, gibt es da vielleicht eine elegantere methode?

Bezug
                                        
Bezug
plotten großer vektoren: Antwort
Status: (Antwort) fertig Status 
Datum: 16:11 Di 31.07.2012
Autor: Pille456

Hio,

nach ein wenig "googlen" habe ich für Matlab diese beiden Funktionen gefunden:
trapz: http://www.mathworks.de/help/techdoc/ref/trapz.html
cumtrapz: http://www.mathworks.de/help/techdoc/ref/cumtrapz.html

Ich habe bisher nichts mit diesen Funktionen gemacht (sind mir auch neu), aber laut Doku sieht die "trapz" Funktion genau nach dem aus, was Du bereits implementiert hast.

Bezug
                                                
Bezug
plotten großer vektoren: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 16:54 Di 31.07.2012
Autor: trbo

ich hab dazu natürlich auch schon gegoogelt und so, aber bin dabei leider auf keine adäquate Lösung gestoßen. also danke für den tip, ich probier damit schon ein bisschen rum und werd später berichten ob es klappt.
erstmal danke für eure hilfe!

Bezug
                                
Bezug
plotten großer vektoren: Ergänzung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 17:10 Di 31.07.2012
Autor: wieschoo

Der Max-befehl liefert sowohl das Maximum als auch den Index.

[a,b] = max(...)

Bezug
                                        
Bezug
plotten großer vektoren: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 17:36 Di 31.07.2012
Autor: Pille456

Ahh wusste ich noch gar nicht, Danke für den Tipp!  
Hab das immer mit find gelöst.. :D

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


^ Seitenanfang ^
www.vorhilfe.de