1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- #!/bin/env python3
- import ithildin as ith
- import numpy as np
- import matplotlib.pyplot as plt
- import sys
- from typing import List
- from scipy.interpolate import RectBivariateSpline
- from pydiffmap.diffusion_map import DiffusionMap
- from pydiffmap import visualization as diff_visualization
- import matplotlib
- data_BOCF = ith.SimData.from_stem("../KORRR/results_9010/PDL_9010")
- # Variabelen
- var1 = data_BOCF.vars['u'].ravel()
- var2 = data_BOCF.vars['v'].ravel()
- var3 = data_BOCF.vars['w'].ravel()
- var4 = data_BOCF.vars['s'].ravel()
- # Verlaag aantal punten om geheugengebruik en tijdsduur te beperken.
- # replace=True strikt genomen incorrect maar verlaagt geheugengebruik
- # en wegens de hoge hoeveelheid punten weinig belangrijk
- keuzes = np.random.choice(var1.shape[0], 10000,replace=True)
- var1 = var1[keuzes]
- var2 = var2[keuzes]
- var3 = var3[keuzes]
- var4 = var4[keuzes]
- #matplotlib.use("TkAgg")
- #fig = plt.figure()
- #ax = fig.add_subplot(projection='3d')
- #ax.scatter(var1, var2, var3, c=var4,cmap=plt.hot())
- #plt.show()
- # Haal twee groepjes uitschieters weg (die zullen afzonderlijk gebestudeerd
- # worden).
- keuzes = np.where(var3 < 0.9999999)
- var1 = var1[keuzes]
- var2 = var2[keuzes]
- var3 = var3[keuzes]
- var4 = var4[keuzes]
- # laatste 50, eerste 50 (tijdsranden), xyz randen weggooien voldoende
- # (((---> rare dingen weg, wave links rechts wegsnijden voor beter)
- # TODO: 0. voor AP model (phase_1000), voor nog minder punten
- # TODO: 1. afsnijden
- # 2. random (?)
- # Picasso?
- # Overleaf -- nadenken, delen
- matplotlib.use("TkAgg")
- fig = plt.figure()
- ax = fig.add_subplot(projection='3d')
- ax.scatter(var1, var2, var3, c=var4,cmap=plt.hot())
- plt.show()
- # Nu de uitschieters verwijderd zijn, kunnen we proberen diffusion maps te
- # gebruiken.
- #del keuzes
- #faseruimte = np.array([var1, var2, var3, var4]).transpose()
- #del var1, var2, var3, var4 # geheugengebruik beperken
- #dmap = DiffusionMap.from_sklearn(n_evecs = 4)
- #map.fit(faseruimte)
|