WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Messdaten auswertung

 

Juiz

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.11.2009, 17:34     Titel: Messdaten auswertung
  Antworten mit Zitat      
Hallo,
ich versuchs mal zu erklären: Wink
also ich will (voll automatisch) aus einer Reihe von Messwerten die entsprechende Funktion auslesen, allerdings muss ich zunächst bei einigen Messreihen die (mit sicherheit) nicht passenden werte rausschmeißen (die Funktion muss monoton steigend sein), so dass meine Funktion im Ursprung ansetzt, aber gleichzeitig soll die x-Achse so verschoben werden, dassder interpolierte null Punkt auf der 0 liegt und die wahren Messwerte einen x-wert gleich dem abstand von diesem Punkt bekommt.
Dann will ich, dass mir Matlab den Punkt raussucht an dem die Steigung das erste mal kleiner sagen wir mal 1% is und den entsprechenden x wert wieder in eine Matrix schreibt.
mit einigen tüffteln habe ich es bisher nur geschaft mir schöne matrizen zu schaffen in denen die sortierten datensätze geschrieben stehn und jetzt hoffe ich mit den komplizierten sachen koennt ihr helfen Smile
Christoph


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.499
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 24.11.2009, 21:02     Titel:
  Antworten mit Zitat      
Hallo,

ich muss sagen, ich blicke da nicht durch.
Du solltest das wirklich Stück für Stück angehen. Wenn du bei den einzelnen Schritten Hilfe brauchst, kann man sicher versuchen, dir weiter zu helfen.
Aber vielleicht liest das ja noch jemand mit mehr Durchblick, der... ja, was erwartest du nun eigentlich? Dass dir jemand die fertige Lösung liefert? Shocked

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Juiz

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.11.2009, 01:48     Titel:
  Antworten mit Zitat      
Ne eigentlich hilfen für jedes der unendlich vielen Probleme Wink
Also als erstes: eine Möglichkeit alle Messdaten, die größer sind als die drunter aus der Übersichtsmatrix zu schmeißen
als zweites: diese neuen Daten interpolieren
als drittes: die Funktion so verrücken, dass die Interpolierte genau durch den Ursprung geht
als viertes: dafür sorgen, dass der entsprechende xwert, der zum Ursprung gehört auf 0 gesetzt wird und die anderen x-werte zur differenz zum 0 punkt gewechselt wird (ok der punkt is scheiße formuliert naja vll rallts wer trotzdem)
als 5. : eine Nullsteigung finden und den x-wert ablesen
als 6.: diese xposition in ne neue matrix schreiben

und als extra problem: warum schreibt dieser code die werte für x=50 nicht in spalten 4,5,6
Code:
clear all
directory = './Komplett/'; % Habe alle Daten in 1 verzeichnis gepackt, damit ich mit Matlab besser drankomme.
 for j =000:050:400
     xx = ['x',num2str(j)];
velocity = 'u012';  % Hier such ich mir raus, welche Geschwindigkeit ich gerade untersuchen will
string = [num2str(xx),'*',num2str(velocity),'.txt'];
Files=dir(string);  
for i = 1:length(Files)
loadfile = [Files(i).name];
   
    x = str2num(loadfile(2:4));
   
    z = str2num(loadfile(10:12));
    A = dlmread(loadfile);
    J (i,1+(j/50)*3)= x;
    J(i,2+(j/50)*3)= z/10;
    J(i,3+(j/50)*3)= A(1,4);
   
end

 plot (J(:,2+(j/50)*3), J(:,3+(j/50)*3))
 hold on
 end
 
[/code]
 
Juiz

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.11.2009, 02:03     Titel:
  Antworten mit Zitat      
P.S.: das ploten zerhaut mir irgentwie das ganze programm is mir eben noch aufgefallen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.499
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 25.11.2009, 20:22     Titel:
  Antworten mit Zitat      
Hallo,

1. Wenn x ansteigend sein soll (so interpretiere ich "alle Messdaten, die größer sind als die drunter aus der Übersichtsmatrix zu schmeißen" jedenfalls) :
Code:
indices = [true, diff(x) > 0];
x(indices)

Dieselben indices für alle anderen Daten in dem Zusammenhang verwenden.

2.
Code:


3.
wie verrücken? nach oben? zur Seite?
Falls nach oben: über interp1 den Wert bei 0 bestimmen und von allen anderen abziehen.

4. Verstehe ich nicht. Den Grund dafür hast du ja erkannt.

5. Was ist eine Nullsteigung? wofür soll diese gefunden werden?

6. sollte kein Problem sein, wenn du den Rest geschafft hast.

und zum extra:
wo soll x 50 werden?
welche Werte sollen in welche Matrix geschrieben werden? Ich sehe nirgends Spalten 4, 5, 6.
j = 000 : 050: 400 macht auch nichts anderes als j = 0:50:400
Wenn du hier
Code:
xx = ['x',num2str(j)];

einen dreistelligen String reinbringen willst, solltest du
Code:
xx = ['x', sprintf('%03d', 50)];
schreiben.
Das spätere num2str(xx) ist mindestens überflüssig, da xx schon ein String sein sollte.

Versuche bitte deinen Code und deine Fragen so klar und übersichtlich wie möglich zu halten. Ich kenne deine Aufgabenstellung schließlich nicht und die anderen Forumsmitglieder vermutlich auch nicht.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Juiz

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.11.2009, 23:21     Titel:
  Antworten mit Zitat      
Hallo,
danke du hast mir schonmal sehr geholfen, vor allem beim P.S. Wink
dass mit der nullsteigung hat sich erledigt, weil ich es laut meinem betreuer ruhig einfacher halten darf bei einer bachelor thesis Laughing
gemeint war, dass es bei einer Grenzschicht bei fluiden die sich an ner wand bewegen, zu einem punkt kommt, bei dem die Geschwindigkeit wieder die anströmgeschwindigkeit erreicht sprich dU/dX=0 aber da kann man auch einfach anders rum rangehen und den punkt suchen an dem die messwerte das erste mal abfallen.
Ihr könnt das Thema damit gerne schließen,
den rest müsste ich hinbekommen
vielen dank nochmal
Christoph
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2025 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.