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

Interpolation und Lookup Table (2D)

 

Otter222

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.11.2011, 16:28     Titel: Interpolation und Lookup Table (2D)
  Antworten mit Zitat      
Hallo,

ich möchte gerne n und M als Eingänge für eine Lookup Table (2D) verwenden.
Mein Problem ist die Matrix der Lookup Tabelle.
Die muss ich nämlich erst erzeugen.
Nur weis ich nicht wie...
ich hab n und M und delta_p als Vektoren vorliegen.
delta_p ist f(n,m)

Die Werte von delta_p sollen dann in der matrix genau an der Stelle stehen wie unten in dem Diagramm dargestellt.
Ich habe folgende Versuche schon ausprobiert (was aber nicht funktioniert hat):

Code:
%
z=delta_p2;
ZI(1:2376,1:2376)=0;
for i=1:2376
    ZI(i,i)=z(i);
end


und


Code:
x=n_GW2
y=M_Br2'
z=delta_p2
 %XI=[0:250:2500]
 XI=linspace(min(x),max(x),50);
 %YI=[0:140:1400]'
 YI=linspace(min(y),max(y),50)';
 [ZI] = griddata(x,y,z,XI,YI,'nearest')


hat aber auch nicht geklappt.

Was würdet ihr mir raten?

Lookup_Table(2D).jpg
 Beschreibung:

Download
 Dateiname:  Lookup_Table(2D).jpg
 Dateigröße:  1.37 MB
 Heruntergeladen:  2656 mal
Diagramm.jpg
 Beschreibung:

Download
 Dateiname:  Diagramm.jpg
 Dateigröße:  1.88 MB
 Heruntergeladen:  904 mal


Sirius3
Forum-Guru

Forum-Guru


Beiträge: 441
Anmeldedatum: 12.11.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.11.2011, 14:31     Titel:
  Antworten mit Zitat      
Hallo Otter222,

"Raten" ist ein gutes Stichwort. Aus "hat aber auch nicht geklappt"
können wir nur wenig rauslesen. Was willst Du mit Deiner
Lookup-Matrix machen?

Um es richtig zu verstehen: Du hast die Werte eine Funktion delta_p(n,M)
an einigen Punkten gegeben und möchtest die Funktion an beliebigen
Punkten (n,m) durch Interpolation ermitteln.

griddata kann Werte, die an beliebigen Punkten gegeben sind,
auf einem Raster berechnen. Es wird aber nur zwischen den Punkten
interpoliert. Das geht dann recht gut, wenn die Punkte einigermaßen
gleichmäßig über das Raster verstreut liegen. Du hast Deine Daten aber
auf drei Kurven liegen. Außerdem ist Dein Grid mit 50x50 Werten
recht ungenau.

Kannst Du nochmal genauer sagen, was Dir an Deinem Ergebnis nicht
gefällt?

grüße
Sirius3

PS: Code 1 schreibt einfach nur den Vektor delta_p auf die Diagonale einer
Matrix. Dafür gibt es den Befehl diag.
Private Nachricht senden Benutzer-Profile anzeigen
 
Otter222

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.11.2011, 16:14     Titel:
  Antworten mit Zitat      
Also ich habe jetzt in mühseliger Kleinstarbeit eine Matrix aufgestellt.

ich habe jetzt also die Matrix delta_p und die Vektoren n und M für den Eingang im Workspace vorliegen

Bleibt jetzt nur noch die Frage:
wie übernehme ich die Daten in die Lookup Tabelle (2D)?
Gibt es da eine schnelle Lösung, oder muss ich alles einzeln eintippen?

Grüßle Otter222


PS: Falls jm die Lösung für obriges Problem kennt würde ich mich echt sehr freuen!
 
Otter222

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.11.2011, 16:17     Titel:
  Antworten mit Zitat      
Also was mir an dem Ergebniss nicht gefällt ist, dass überall Zahlen in der Matrix stehen und nicht nur an den gekennzeichneten Flächen.
An den Punkten, auf denen die Kennlinie nicht verläuft müsste der Wert "0" sein.

Wie gesagt, ich habe die matrix jetzt von Hand erstellt, aber da ich es noch für 5 weitere Fälle machen muss wäre eine rechnerische Lösung schneller und genauer.
 
otter222

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.11.2011, 16:58     Titel:
  Antworten mit Zitat      
Hab die Antwort auf die kleinere 2. Frage:

einfach den Namen des Vektors in die zeile column bzw row und den Namen des Vektors in die matrix Zeile einfügen.

Hat noch jm einen Tipp bezüglich der oben gestellten Frage?
 
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.