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

Werte aus Tabelle/Matrix interpolieren

 

Innoopia
Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 12.10.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.10.2009, 19:38     Titel: Werte aus Tabelle/Matrix interpolieren
  Antworten mit Zitat      
Guten Abend zusammen,

ich bin leider ziemlicher Matlab Anfänger und brauche deshalb eure Hilfe. Ich suche mir nämlich schon seit Tagen die Finger wund Very Happy

Ich habe eine Tabelle (ein Beispiel angehängt), in der Werte eingetragen sind, die sowohl von x, als auch y abhängig sind. Also von 2 Variablen.

Wenn ich also sinngemäß mache: Tabelle1(2,20) = 57 rauskommen. Das Problem ist, ich muss auch Werte aus dieser Tabelle interpolieren, also Tabelle1(2.3, 34) = ~67 oder so ähnlich. Die Art der Interpolation ist recht egal im ersten Moment.

Meine Frage ist jetzt, wie mache ich sowas am besten? Geht das mit Matlab?? Ich dachte da an sowas wie eine .mat Datei. Meine bekannten Punkte könnte ich darin später nochmal ändern. Mir würde schon helfen, wenn ihr mir sagt, wo ich das nachlesen kann.

Vielen Dank schonmal

Clipboard01.jpg
 Beschreibung:
Tabelle 1 mit bekannten Werten

Download
 Dateiname:  Clipboard01.jpg
 Dateigröße:  38.38 KB
 Heruntergeladen:  958 mal
Private Nachricht senden Benutzer-Profile anzeigen


Schrank
Forum-Century

Forum-Century


Beiträge: 203
Anmeldedatum: 10.07.08
Wohnort: Berlin
Version: ---
     Beitrag Verfasst am: 13.10.2009, 09:55     Titel:
  Antworten mit Zitat      
Hallo Innoopia,

da müsstest du mit
Code:
weiter kommen. hab selbst damit aber noch nicht gearbeitet. Falls die Werte bekannt sind, welche du benötigst könntest du auch mit meshgrid etwas basteln.

Viele Grüße
Schrank
Private Nachricht senden Benutzer-Profile anzeigen
 
Innoopia
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 12.10.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.10.2009, 22:36     Titel:
  Antworten mit Zitat      
Hi,

danke schonmal für deine Hilfe. Ich habe ein Kennfeld mit einigen bekannten Werten. Den Rest der Werte kenne ich aber nicht, und genau die müssen im Prinzip angenähert werden.

Hat das vielleicht schonmal jemand gemacht?
Private Nachricht senden Benutzer-Profile anzeigen
 
R0b1
Forum-Anfänger

Forum-Anfänger


Beiträge: 34
Anmeldedatum: 11.01.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.03.2013, 11:43     Titel:
  Antworten mit Zitat      
Ich möchte das Thema hier mal wieder aufgreifen, da es nie gelöst wurde und ich jetzt leider selbst vor dem Problem stehe. Hat jemand Ahnung?

edit: Nochmal eine kurze Erklärung:

geg.:
x (vektor)
y (vektor)
z (lookup table)

ges.: Werte zwischen den Punkten (siehe Bild)

Unbenannt.JPG
 Beschreibung:

Download
 Dateiname:  Unbenannt.JPG
 Dateigröße:  51.09 KB
 Heruntergeladen:  904 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
R0b1
Forum-Anfänger

Forum-Anfänger


Beiträge: 34
Anmeldedatum: 11.01.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.03.2013, 12:53     Titel:
  Antworten mit Zitat      
Habe es nun selbst lösen können. Wer mal selbst auf das Problem stößt, hier meine Lösung:

z.B.:

Code:

Z=NaN(100,100);
X=1:1:100; % Vektor 100 Werte
Y=101:1:200; % Vektor 100 Werte
Z(:,:)=500; % Matrix 100x100

X_neu = 0:0.1:100; % Vektor 1001 Werte
Y_neu = 100:0.1:200; % Vektor 1001 Werte

[X_highquality, Y_highquality] = meshgrid(X_neu,Y_neu);
Z_neu = interp2(X,Y,Z,X_highquality,Y_highquality);
surf(X_neu,Y_neu,Z_neu)
 
Private Nachricht senden Benutzer-Profile anzeigen
 
MP
Forum-Newbie

Forum-Newbie


Beiträge: 1
Anmeldedatum: 16.06.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.06.2013, 11:38     Titel:
  Antworten mit Zitat      
Hallo,
mein Problem ähnelt dem obigen.
Ich habe ein Kennfeld, dass ich interpolieren muss, um damit einen Lookup Table im Simulink zu bedaten. Dazu muss ich das Kennfeld aus den gegebenen Wertepaaren interpolieren. Die zu interpolierenden X-Werte müssen für jede Kennfeld-Linie die Gleichen sein. Bisher habe ich die Sache folgendermaßen gelöst.

x=[1,2,3,4,5,6,7,8,9];(Werte entsprechen nicht dem realen Kennfeld)
y=[1,2,3,4,5,6,7,8,9];
xi=[1:0.0004:1.3,1.301:0.001:1.6] ;
yi=interp1(x,y,xi,'linear','extrap');
plot(x,y,xi,yi);

Allerdings ist das für meine Zwecke ziemlich zeitaufwendig. Ich schaffe es einfach nicht das ganze auszuführen, wenn ich mehrere Kennfeldlinien interpolieren möchte und nicht bloß EINE. Also wenn der x-Vektor z.B. so aussieht

x=[1 2 3;4 5 6;7 8 9] und dem entsprechend auch der veränderte y-Vektor.
Ich hoffe ihr könnt mir weiterhelfen.
Private Nachricht senden Benutzer-Profile anzeigen
 
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.