-         

Ergebnis 1 bis 10 von 10

Thema: MatLAB: Fehlerdarstellung

  1. #1
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    02.11.2005
    Beiträge
    1.607

    MatLAB: Fehlerdarstellung

    Anzeige

    Hi

    Ich bin derzeit dabei mich mit Fehlerberechnung auseinander zu setzen (mehr oder weniger Notgedrungen). Nun bin ich bei dem Punkt angekommen meine Messwerte in MatLAB einzulesen und darzustellen.

    Das ist nun weniger das Problem. Das Problem besteht eher darin das ich meine ~10.000 Messwerte (mal irgendeine Zahl genommen) aus einem Oszilloskop in MatLAB habe und nun eine Fehlerdarstellung mit Balken darstellen will.

    Mein derzeitiger Code schaut so aus:
    Code:
    x=linspace(-10,10,10000);
    y=exp(x);
    e=std(y)*ones(size(x));
    errobar(x,y,e)
    Das ist mehr oder weniger aus der Matlab Hilfe zusammen geschustert. Problem: Er stellt 10.000 errorbars dar. Schlecht abzulesen.
    Abhilfe schaffte erstmal der Plot der Urfunktion. Sah dann so aus:
    Code:
    x=linspace(-10,10,10000);
    y=exp(x);
    plot(x,y)
    hold on;
    x=linspace(-10,10,10);
    y=exp(x);
    e=std(y)*ones(size(x));
    errorbar(x,y,e)
    Optimal, ich hab jetzt zwei mal den Graphen geplottet und einmal mit Fehlerdarstellung. Problem: Ich habe 1. Unterschiedliche Fehlerintervalle bei Unterschiedlich vielen Messewerten, 2. das Problem das Graph 2 wesentlich Kantiger und ungenauer ist als Graph 1.

    Was bringt mir Abhilfe? Was ermöglicht mir das Plotten der gemessenen Funktion, der erwarteten Funktion (eine Funktion habe ich ja immer - nehmen wirmal an ich messe Strom und Spannung an einem PTC) und das Plotten der Fehlerbalken (10stk)?

    Wenn jemand eine Idee hat wäre ich sehr sehr Dankbar

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    23.04.2007
    Ort
    stuttgart
    Beiträge
    1.127
    du hast messwerte und willst sie plotten ??
    was tust du da mit dem errorbar ??
    wie der plot aussieht kannst du dann ja frei wählen und die intervalle musst du auf nen festwert stellen, damit das immer gelich aussieht..
    verstehe die frage nicht ganz..
    meine projekte: robotik.dyyyh

  3. #3
    Erfahrener Benutzer Robotik Einstein Avatar von Felix G
    Registriert seit
    29.06.2004
    Ort
    49°32'N 8°40'E
    Alter
    34
    Beiträge
    1.780
    Naja, warum plottest du nicht deine Funktion normal, aber bei den Errorbars vielleicht nur jeden 500sten (natürlich gemittelt aus 500 Werten, damit du nicht versehentlich einen Ausreißer erwischst)?
    So viele Treppen und so wenig Zeit!

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    02.11.2005
    Beiträge
    1.607
    Ich weis wie ich die Funktion an sich plotte. plot() ebend.

    Ich will nur eben noch den Fehler darstellen und 3 Bilder in einem haben:
    - Gemessene Werte
    - Errechnete Werte
    - Fehlerintervalle

    Das mit "jeden x-ten" ist eine Gute Idee. Wenn ich irgendwie einstellen kann das immer nach 10 Einser Schritten auf der X Achse ein Fehlerbalken kommt wär das Perfekt. Nur wie mach ich das?

  5. #5
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    23.04.2007
    Ort
    stuttgart
    Beiträge
    1.127
    hast du die 3 messwerte (bzw fehlerwerte) als vektoren ??
    dann machst du noch nen vektor von 1 bis länge und plottest jeweils den wert da drüber.
    wenn du mehrer plots in einer figure willst gib es noch subplots
    für den fehlerwert nimmst du eben nen vektor [ 10 20 30 .... ] über den du den fhelr plottest..
    x ist der zeitvektor von 1 bis länge
    y ist der zeitvektor in 10erschritten

    x = [0:1:länge]
    y=[0:10:länge]
    subplot(3,1);
    plot(x,Mess);
    subplot(3,2);
    plot(x,Rechen);
    subplot(3,3);
    plot(y,Fehler);
    meine projekte: robotik.dyyyh

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    02.11.2005
    Beiträge
    1.607
    Ich war mal so Frei und hab ein beispiel bil kreiert

    Das machts Verständlich wo das Problem liegt und was ich als Ergebnis haben will (nur das die Kurven übereinander liegen sollen)



    Logisch: Je gröber die Kurve desto größer der Fehler.

    Hab aber inzwischen eine Lösung gefunden. Das "in 10er Schritten" brachte mich darauf den x-Vektor konventionell zu bauen... Siehe hier:



    Aber ist die darstellung noch 100% genau? Bzw annähernd 100%? Sollte so passen oder

  7. #7
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    23.04.2007
    Ort
    stuttgart
    Beiträge
    1.127
    ahh ok, jetz versteh ich mal wenigstens worum es geht.. war mir irgdnwie noch nich so klar bis jetz
    und was ist da jetz falsch an der ansicht, bzw was haettest du gern anders ??
    meine projekte: robotik.dyyyh

  8. #8
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    02.11.2005
    Beiträge
    1.607
    Bild 1 stellt mein Problem dar. Ich wollte mehrere Fehlerintervalle auf der gerechneten Kurve (hier e^x) darstellen und dort drüber dann die gemessene Kurve legen (das ist ja nicht das problem)

    Bild 2 stellt dann meine Lösung dar - mit der Frage ob das so noch genau ist oder ob die Intervalle Falsch sind (aufgrund der Auflösung von 10 Schritten)

  9. #9
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    23.04.2007
    Ort
    stuttgart
    Beiträge
    1.127
    also das sollte shcon genau sein. das einzige was sein kann, dass wenn du eine hochfrequentere kurve hast die errorbars mal zufällig in ein maximum/minuimum fallen,
    ansosnten musst du eben immer vorher den mittelwert bilden (gausvertielung über x-wert oder so )
    meine projekte: robotik.dyyyh

  10. #10
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    02.11.2005
    Beiträge
    1.607
    Ich wüsste eben keine andere art die Balken darzustellen als über errorbar.

    Aber gut, wir messen eh nur Strom und Spannung über Bauteilen dieses Semester, da sollte das ganze hinreichend genau sein.

    Danke!

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •