-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathmain_get_FiguresTable.m
129 lines (110 loc) · 3.3 KB
/
main_get_FiguresTable.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
%% plot figures for table in paper
%% Load data
clc
clear all
close all
for pde_num = 1:6
pde_names = {'burgers.mat','KdV.mat','KS.mat','NLS.mat','rxn_diff','rxn_diff'};
pde_Plot = {'burgers','KdV','KS','NLS','rxn_diff_u','rxn_diff_v'};
if pde_num < 5
load(['datasets/',pde_names{pde_num}])
else
% load('datasets/rxn_diff.mat')
load('C:\Users\ufase\OneDrive - UW\Documents\GitHub\LargeData\rxn_diff.mat')
tPlot = 100;
U_exact = [];
if pde_num == 5
U_exact{1} = u(:,:,tPlot);
else
U_exact{1} = v(:,:,tPlot);
end
xs{1} = x';
xs{2} = y';
end
for nP = [1 0]
coarsen_data = [[1 1];[1 1];[1 1]];
if nP
if pde_num == 4
sigma_NR = 0.5;
elseif pde_num == 5 || pde_num == 6
sigma_NR = 0.2;
else
sigma_NR = 1.0;
end
else
sigma_NR = 0;
end
noise_dist = 0;
noise_alg = 0;
nNoise = 1;
iN = 1;
rng(iN,'twister')
rng_seed = rng().Seed;
nstates = length(U_exact);
dim = length(size(U_exact{1}));
inds = cell(1,dim);
for j=1:dim
N = length(xs{j});
inds{j} = 1:coarsen_data(j,1):floor(N/coarsen_data(j,2));
xs{j} = xs{j}(inds{j});
end
for j=1:nstates
U_exact{j} = U_exact{j}(inds{:});
end
rng(rng_seed);
[U_obs,noise,snr,sigma] = gen_noise(U_exact,sigma_NR,noise_dist,noise_alg,rng_seed,0);
dims = size(U_obs{1});
dim = length(dims);
C1 = [0 119 187]/255;
C2 = [51 187 238]/255;
C3 = [0 153 136]/255;
C4 = [238 119 51]/255;
C5 = [204 51 17]/255;
C6 = [238 51 119]/255;
C7 = [187 187 187]/255;
C8 = [80 80 80]/255;
C9 = [140 140 140]/255;
C10 = [0 128 255]/255;
yellow = [255 255 153]/255;
mymap = [C2
C10
0 0 0
C5
yellow];
interpMap = interp1(1:5,mymap,linspace(1,5,200));
labelS = 24;
sizeX = 800;
if pde_num == 5 || pde_num == 6
sizeY = 300;
else
sizeY = 600;
end
f = figure('Position', [10 10 sizeX sizeY]);
set(gcf,'units','normalized')
set(gca,'LooseInset',get(gca,'TightInset'));
% surf(xs{1},xs{2},U_obs{1}', 'EdgeColor','none')
surf(xs{1},xs{2},U_obs{1}', 'EdgeColor','none','FaceColor','interp')
xlim([min(xs{1}) max(xs{1})])
ylim([min(xs{2}) max(xs{2})])
if nP == 1
zlimI = [min(min(U_obs{1}))*1.1 max(max(U_obs{1}))*1.1];
end
zlim(zlimI)
colormap(autumn)
colormap(interpMap)
view([15 55])
% view([0 90])
xlabel('$x$','interpreter','latex','fontsize',labelS)
ylabel('$t$','interpreter','latex','fontsize',labelS)
% set(gca, 'TickLabelInterpreter','latex','fontsize',labelS)
xticks([])
yticks([])
zticks([])
axis off
% if pde_num == 5 || pde_num == 6
% view([15 15])
% axis equal
% end
saveas(gcf,['PlotsPaper/',pde_Plot{pde_num}, num2str(nP),'3D','.png'])
end
end