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

griddata

 

lorenz

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.08.2011, 11:48     Titel: griddata
  Antworten mit Zitat      
Code:

x=reshape(longrid,[],1);
y= reshape(latgrid,[],1);
z=reshape(z,[],1);
t=reshape(t,[],1);

Z=[x y z t];

[xi,yi] = meshgrid(linspace(min(Z(:,1)),max(Z(:,1)),length(Z)),linspace(min(Z(:,2)),max(Z(:,2)),length(Z)));

zi = griddata(Z(:,1),Z(:,2),Z(:,3),xi,yi, 'linear');
ci = griddata(Z(:,1),Z(:,2),Z(:,4),xi,yi,'linear');

 

Hallo
ich möchte mit griddata 4-D interpolation wie oben führen.aber es läuft leider nicht.Eine alternativ wäre mit TriScatteredInterp wie unten.Aber möchte lieber mit griddata es schaffen. Hat jemand eine Idee??
Gruss
Code:

 
   
F = TriScatteredInterp(reshape(longrid,[],1), reshape(latgrid,[],1), reshape(t,[],1), reshape(z,[],1));
 


Harald
Forum-Meister

Forum-Meister


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

Zitat:
aber es läuft leider nicht

Bekommst du eine Fehlermeldung? Welche?
Oder sieht das Resultat anders aus als gewünscht? Inwiefern?

In der Dokumentation zu GRIDDATA findet sich oben übrigens der Satz
Zitat:
TriScatteredInterp is the recommended alternative to griddata as it is generally more efficient

Gibt es einen bestimmten Grund, warum du trotzdem GRIDDATA bevorzugst?

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

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.08.2011, 18:03     Titel:
  Antworten mit Zitat      
Zitat:

Gibt es einen bestimmten Grund, warum du trotzdem GRIDDATA bevorzugst?

hallo
weil ich alte matlab version habe,muss ich das mit griddata interpolieren.
 
Harald
Forum-Meister

Forum-Meister


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

könntest du die Frage im ersten Teil meiner Antwort beantworten?

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

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.08.2011, 09:09     Titel:
  Antworten mit Zitat      
Harald hat Folgendes geschrieben:
Hallo,

könntest du die Frage im ersten Teil meiner Antwort beantworten?

Grüße,
Harald

ich bekomme so eine fehlermeldung

Code:
??? Maximum variable size allowed by the program is exceeded.

Error in ==> meshgrid at 44
    xx = xx(ones(ny, 1),:);

vielen dank für deine Hilfe..
 
Harald
Forum-Meister

Forum-Meister


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

das hilft schon mal entscheidend, da daraus hervorgeht, dass es kein Syntax-Problem, sondern ein Speicherproblem ist. Bitte in Zukunft die Fehlermeldung immer gleich mit posten, da uns das dieses Hinundher erspart hätte.

Was sind die Dimensionen von latgrid und longgrid?

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

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.08.2011, 09:49     Titel:
  Antworten mit Zitat      
Harald hat Folgendes geschrieben:
Hallo,

das hilft schon mal entscheidend, da daraus hervorgeht, dass es kein Syntax-Problem, sondern ein Speicherproblem ist. Bitte in Zukunft die Fehlermeldung immer gleich mit posten, da uns das dieses Hinundher erspart hätte.

Was sind die Dimensionen von latgrid und longgrid?

Grüße,
Harald


size(latgrid)= 256 256 32
size(longgrid)= 256 256 32
 
Harald
Forum-Meister

Forum-Meister


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

jeder der Vektoren x und y enthält also rund 2 Millionen Elemente.

Wenn du darauf meshgrid anwenden willst, bekämst du ein Gitter mit 2 Millionen * 2 Millionen Elementen, also 4 Billionen Elementen.

Da ein Double 8 Byte braucht, bräuchtest du also für jede der Matrizen xi und yi 32 TB, also 64 TB ( = rund 64000 GB) Speicher allein dafür.

Und dann hast du noch nicht einmal interpoliert. Du wirst also überdenken müssen, was du hier machen willst.

Grüße,
Harald

P.S.: Ich würde bei einer Matrix nicht LENGTH, sondern SIZE mit zusätzlicher Option verwenden.
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.