Daha çox

R istifadə edərək deformasiya edilmiş bir meshin müəyyən edilmiş sərhədləri daxilində necə interpolasiya etmək olar?

R istifadə edərək deformasiya edilmiş bir meshin müəyyən edilmiş sərhədləri daxilində necə interpolasiya etmək olar?


Məqsədim, deformasiya edilmiş bir mesh üzərində (rəqəmsal simulyasiyadan) xəritələnmiş bəzi çıxış modellərinin interpolasiya xəritəsini yaratmaqdır. Modelin nəticələri x-y müstəvisindədir (koordinatları təmsil edir), interpolasiya etmək üçün z dəyişəndir, lakin koordinatlar düzensiz bir şəkildə ayrılmışdır və hörmət edilməli olan bir üst sərhədə malikdir.

Tecplot adlı bir proqramdan istifadə etdiyim şeyi dəqiq qura bilərəm, ancaq bir anda yalnız bir şəkil çəkə bilərəm. Tecplotdan istifadə son dərəcə yorucu və buna görə də bunu R. -də avtomatlaşdırmaq istərdim. İstədiyim budur:

Hal -hazırda eyni şeyi etmək üçün R -də bu kodu istifadə edirəm, amma nəticələrim idealdan azdır və R kodumu yaxşılaşdırmaq istərdim.

Budur bəzi nümunə məlumatların bağlantısı: link.

İşdə hazırda istifadə etdiyim kod və bu kodun ideal olmayan çıxışı:

kitabxana (akima) kitabxana (ggplot2) kitabxana (reshape2) faylı <-"D: /MIN3P/NoGrowth/1a11/Russ2D_46.gsp" total = read.table (fayl, başlıq = FALSE, skip = 3) data <-total [ , c (1,3,5)] adlar (məlumatlar) <-c ("x", "y", "z") #akima inter <-interp (x = data $ x, y = data $ y , z = data $ z, xo = seq (min (data $ x), max (data $ x), uzunluq = 300), yo = seq (min (data $ y), maksimum (data $ y), uzunluq = 100), extrap = FALSE) dolu.contour (inter, xlim = c (50,150), ylim = c (5,17), color.palette = colorRampPalette (c ("Qırmızı", "mavi")), xlab = " Çayın Arası Məsafə ", ylab =" Yüksəklik ", əsas =" Təzyiq ", key.title = başlıq (ana =" Təzyiq (m) ", cex.main = 1)) #ərimə və ggplot ilə kontur df <- ərimə ( inter $ z, na.rm = TRUE) adlar (df) <- c ("x", "y", "z") df $ x <- inter $ x [df $ x] df $ y <- inter $ y [df $ y] ggplot (data = df, aes (x = x, y = y, z = z)) + geom_tile (aes (fill = z)) + stat_contour () + ggtitle ("Təzyiq") + xlab ("Çayın Arasındakı Məsafə") + ylab ("Yüksəklik") + miqyaslı_doldurma_davamlı (ad = "Təzyiq (m)", aşağı = "Qırmızı", yüksək = "mavi") + mövzu (plot.title = element_text (si) ze = 25, face = "qalın"), legend.title = element_text (ölçü = 15), ox.text = element_text (ölçü = 15), ox.title.x = element_ mətn (ölçü = 20, vjust = -0.5) , axis.title.y = element_text (ölçü = 20, vjust = 0.2), legend.text = element_text (ölçü = 10))

Akima paketi ilə ideal olmayan nəticələrim:

Ggplot ilə ideal olmayan nəticələrim:

Tecplot -dan bənzər, lakin R istifadə edən bir şəkil necə yarada bilərəm? Diqqət yetirin ki, ggplot və Akima sahələrində üst sərhəd şəkli tamamilə qaranlıqdır və bu xüsusiyyətin önə çıxmasını istəyirəm və interpolasiyanın çox vacib bir xüsusiyyət olduğu üçün üst hissənin formasına hörmətlə yanaşmasını istəyirəm.


Videoya baxın: 99-Mest üzerine mesh etmenin hükümleri nelerdir?