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

Einfügen von Zwischenwerten in 3x8 Matrix

 

Gast112233

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.01.2014, 13:26     Titel: Einfügen von Zwischenwerten in 3x8 Matrix
  Antworten mit Zitat      
Hallo,

ich habe folgendes Problem.
Mir liegt eine Matrix/Kennfeld mit Messweerten vor.
Jedoch ist die Abtastrate zu gering.

Code:

[376.624310000000,38.7076600000000,31.0408400000000;374.803210000000,38.5703200000000,30.9692800000000;372.736010000000,38.4219900000000,30.9142400000000;370.725010000000,38.2571900000000,30.8316700000000;368.742210000000,38.0539200000000,30.7050700000000;366.731310000000,37.8067100000000,30.5564600000000;364.734410000000,37.5155500000000,30.3968300000000;362.716410000000,37.1914300000000,30.2261900000000;]
 


Jede Spalte ist von der anderen Abhängig.
Also sind quasi in einer Spalte die zueinander gehörigen Daten.

Wie kann ich nun alle Spalten mit mehreren Zwischenwerten versehen, um eine höhere Abtastrate zu simulieren?!

Mein Ziel ist folgendes: Ich habe eine weitere Matrix, mit Werten die denen der ersten Spalte entsprechen - jedoch eine viel höhere Abtastrate.
Dann soll nachgeschaut werden, welcher Wert entspricht hierraus am nahesten einem Wert der ersten Spalte und die zugehörigen Werte aus der zweiten und dritten Spalte ausgegeben werden.

Habe es schon mit interp1 ausprobiert, jedoch war das Ergebnis nicht zufriedenstellend. Der Plot war immernoch ziemlich "hakelig".

Vielen Dank schon einmal, und beste Grüße


gast112233

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.01.2014, 13:30     Titel:
  Antworten mit Zitat      
Habe gerad gesehen, dass der Code nicht als Tabelle dargestellt wird.

Deswegen anbei nocheinmal ein Bild der Darstellung.

BSP.jpg
 Beschreibung:
Matrix

Download
 Dateiname:  BSP.jpg
 Dateigröße:  26.75 KB
 Heruntergeladen:  380 mal
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 17.01.2014, 13:34     Titel:
  Antworten mit Zitat      
Zitat:
Habe es schon mit interp1 ausprobiert

aha und wie? ^^
Zitat:
jedoch war das Ergebnis nicht zufriedenstellend. Der Plot war immernoch ziemlich "hakelig".

wenn du selber schon deine beschreibung des problems in anführungsstriche setzen musst kannst du davon ausgehen das das nicht sehr aussagekräftig ist ^^.
bitte eine genauere beschreibung was du gemacht hast und was du als ergebniss erwartest.
_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 17.01.2014, 13:40     Titel:
  Antworten mit Zitat      
GRIDDATA in Zusammenhang mit MESHGRID.

Andreas
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Gast112233

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.01.2014, 14:39     Titel:
  Antworten mit Zitat      
Winkow hat Folgendes geschrieben:
Zitat:
Habe es schon mit interp1 ausprobiert

aha und wie? ^^
Zitat:
jedoch war das Ergebnis nicht zufriedenstellend. Der Plot war immernoch ziemlich "hakelig".

wenn du selber schon deine beschreibung des problems in anführungsstriche setzen musst kannst du davon ausgehen das das nicht sehr aussagekräftig ist ^^.
bitte eine genauere beschreibung was du gemacht hast und was du als ergebniss erwartest.


Sorry, Winkow, ist schwer zu beschreiben Very Happy
Ich hoffe, der folgende Code wird ein wenig Aufschluss darüber geben, was gewollt ist.

Code:

x=1:795; %795 Messwerte sind vorhanden
y_1=MTS(:,1)'; %Spalte 1 des Kennfeldes
y_2=MTS(:,2)'; %Spalte 2 des Kennfeldes
y_3=MTS(:,3)'; %Spalte 3 des Kennfeldes
xi=1:0.1:795; %der zu interpolierende Bereich

MTS(:,1)=Test1(:,2); %Test1 setzt sich aus den aufgeneommen Messwerten über der Zeit zusammen (Spalte 1: Zeit, Spalte 2: Winkel, versch. viele Zeilen (je nach Messung))
MTS(:,2)=interp1(x,y_1,xi); %Spalte 1 mit Zwischenwerten versehen
MTS(:,3)=interp1(x,y_2,xi); %Spalte 2 mit Zwischenwerten versehen
MTS(:,4)=interp1(x,y_3,xi); %Spalte 3 mit Zwischenwerten versehen

%%Suchen und Ausgeben der passenden Werte
M = MTS;
   
    for k=1:size(M,1),
        [m, ind] = min(abs(M(:,2) - M(k,1)));
        M(k,5) = M(ind,3); %Speichern des Wertes aus Spalte 2
        M(k,6) = M(ind,4); %Speichern des Wertes aus Spalte 3
    end
 


Anbei als Bild habe ich zwei Auschnitte von einem Plot.
Code:

plot(Test1(:,1),M(:,5))
 

Der Verlauf sollte nicht so haken, sondern eigentlich dynamisch verlaufen.
(Betrachet bitte nur die dunkle Linie)

Andreas, inwiefern würdest Du das mit Griddate und Meshgrid realisieren?

Danke schonmal Smile

Winkel_BSP.jpg
 Beschreibung:

Download
 Dateiname:  Winkel_BSP.jpg
 Dateigröße:  76.65 KB
 Heruntergeladen:  348 mal
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 17.01.2014, 16:05     Titel:
  Antworten mit Zitat      
wenn du mit hackelig meinst das er nicht linear interpolieren soll sondern kubisch dann must du ihm das sagen ^^
_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 17.01.2014, 17:42     Titel:
  Antworten mit Zitat      
Das erste Beispiel der Doku für GRIDDATA geht darum Daten die "wild" verteilt sind in ein uniformes Gitter zu interpolieren. Ein uniformes Gitter auf ein anderes, engmaschigeres Gitter zu internpolieren kann man genauso implementieren.

Andreas
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Gast112233

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.01.2014, 18:33     Titel:
  Antworten mit Zitat      
Winkow hat Folgendes geschrieben:
wenn du mit hackelig meinst das er nicht linear interpolieren soll sondern kubisch dann must du ihm das sagen ^^


Also sollte die Lösung des Problems sein, dass ich hinten als Zusatz cubic zugebe? ^^

Sorry Andreas, ich kann Dir nicht ganz folgen.
Die Daten dürfen nur Zeilenweise geordnet werden.
Ich habe nicht so wirklich den Sinn und Zweck von griddate mit meshgrid verstanden.

Durch meine oben beschriebene Interpolation verfälsche ich meine Daten nicht, oder? Letztendlich wird ja alles über einen Zeitstrahl interpoliert.
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 18.01.2014, 01:08     Titel:
  Antworten mit Zitat      
Zitat:
Interpolation verfälsche ich meine Daten nicht, oder?

bei interpolation werden immer daten aus annahmen erzeugt. wenn diese annahmen falsch sind sind die daten natürlich auch nicht gut ^^.
quadratische interpolation kann zu besseren ergebnissen führen. muss aber nicht zwagsweise sein. es kann auch sein das dabei werde generiert werden die weiter weg vom realen liegen als die linare interpolation. grade bei deinem bild oben siht es so aus als wäre das keine schöne analytische funktion. vieleicht würde sich da auch anbieten die funktion in bereiche aufzuteilen.
_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 19.01.2014, 17:04     Titel:
  Antworten mit Zitat      
OK, ich dachte Matrix==2D. Nein, dann ist mein Vorschlag nicht mehr sinnvoll.

Andreas
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
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.