diff --git a/lab3/assignment2.R b/lab3/assignment2.R index 898a54722f071948d1caf1b22956aa1c60162d3b..f71fbf8775cc51c21d89677b5d00fb4459015771 100644 --- a/lab3/assignment2.R +++ b/lab3/assignment2.R @@ -28,7 +28,6 @@ times <- c( "24:00:00" ) - st$time <- strptime(st$time, format = "%H:%M:%S") gaussian_kernel <- function(x, h) { @@ -41,7 +40,7 @@ plot( type = 'l', xlab = "Physical distance", ylab = "Kernel value", - main = "Gaussian distance kernel" + main = "Gaussian physical distance kernel" ) grid() @@ -65,6 +64,29 @@ plot( ) grid() +date_diff_ignoring_year <- function(date1, date2) { + + # Generate new dates with the same year + date1 <- strsplit(date1, "-")[[1]] + date2 <- strsplit(date2, "-")[[1]] + month1 <- date1[2] + day1 <- date1[3] + month2 <- date2[2] + day2 <- date2[3] + date1 <- as.Date(paste("2000", month1, day1, sep = "-")) + date2 <- as.Date(paste("2000", month2, day2, sep = "-")) + + # Get difference in days + diff <- abs(as.numeric(date1-date2)) + + # If difference is greater than half a year, go other way + if (diff >= 183) { + diff <- 366 - diff + } + + return(diff) +} + temp_add <- c() temp_mult <- c() @@ -85,7 +107,7 @@ for (time in times) { date_kernels <- mapply(function(x_i) { - dist <- as.numeric(as.Date(date) - as.Date(x_i)) + dist <- date_diff_ignoring_year(date, x_i) gaussian_kernel(dist, h_date) }, st_temp$date) @@ -114,11 +136,7 @@ plot( ylab = "Temperature", main = "Added kernels" ) -axis( - 1, - at = 1:length(times), - labels = times -) +axis(1, at = 1:length(times), labels = times) grid() plot( @@ -129,9 +147,5 @@ plot( ylab = "Temperature", main = "Multiplied kernels" ) -axis( - 1, - at = 1:length(times), - labels = times -) +axis(1, at = 1:length(times), labels = times) grid() \ No newline at end of file diff --git a/lab3/figures/assignment2-added-kernels.eps b/lab3/figures/assignment2-added-kernels.eps index 6b53ab1f0d0a1bf1d8034c10a5c6cb7be94256b8..d8b1859d564b273d1af054785d6ba6edda34eae7 100644 --- a/lab3/figures/assignment2-added-kernels.eps +++ b/lab3/figures/assignment2-added-kernels.eps @@ -144,29 +144,29 @@ bp 1 setlinejoin 10.00 setmiterlimit np -72.40 79.64 m -33.40 30.73 l -33.40 43.10 l -33.40 44.02 l -33.40 29.75 l -33.40 7.52 l -33.40 -11.99 l -33.40 -21.11 l -33.40 -19.98 l -33.40 -12.34 l -33.40 -0.80 l +72.40 92.57 m +33.40 34.69 l +33.40 40.11 l +33.40 38.04 l +33.40 24.66 l +33.40 4.69 l +33.40 -14.00 l +33.40 -26.20 l +33.40 -33.22 l +33.40 -38.62 l +33.40 -43.08 l o -72.40 79.64 2.70 c p1 -105.80 110.37 2.70 c p1 -139.20 153.47 2.70 c p1 -172.60 197.49 2.70 c p1 -206.00 227.24 2.70 c p1 +72.40 92.57 2.70 c p1 +105.80 127.26 2.70 c p1 +139.20 167.37 2.70 c p1 +172.60 205.41 2.70 c p1 +206.00 230.07 2.70 c p1 239.40 234.76 2.70 c p1 -272.80 222.77 2.70 c p1 -306.20 201.66 2.70 c p1 -339.60 181.68 2.70 c p1 -373.00 169.34 2.70 c p1 -406.40 168.54 2.70 c p1 +272.80 220.76 2.70 c p1 +306.20 194.56 2.70 c p1 +339.60 161.34 2.70 c p1 +373.00 122.72 2.70 c p1 +406.40 79.64 2.70 c p1 0.00 0.00 450.00 300.00 cl 0 0 0 srgb 0.75 setlinewidth @@ -175,30 +175,30 @@ o 1 setlinejoin 10.00 setmiterlimit np -59.04 92.50 m -0 125.38 l +59.04 90.89 m +0 116.15 l o np -59.04 92.50 m +59.04 90.89 m -7.20 0 l o np -59.04 134.29 m +59.04 129.61 m -7.20 0 l o np -59.04 176.09 m +59.04 168.33 m -7.20 0 l o np -59.04 217.88 m +59.04 207.04 m -7.20 0 l o /Font1 findfont 12 s -41.76 92.50 (4.5) .5 90 t -41.76 134.29 (5.0) .5 90 t -41.76 176.09 (5.5) .5 90 t -41.76 217.88 (6.0) .5 90 t +41.76 90.89 (3.0) .5 90 t +41.76 129.61 (3.5) .5 90 t +41.76 168.33 (4.0) .5 90 t +41.76 207.04 (4.5) .5 90 t np 59.04 73.44 m 360.72 0 l @@ -285,19 +285,19 @@ o 1 setlinejoin 10.00 setmiterlimit np -59.04 92.50 m +59.04 90.89 m 360.72 0 l o np -59.04 134.29 m +59.04 129.61 m 360.72 0 l o np -59.04 176.09 m +59.04 168.33 m 360.72 0 l o np -59.04 217.88 m +59.04 207.04 m 360.72 0 l o np diff --git a/lab3/figures/assignment2-added-kernels.png b/lab3/figures/assignment2-added-kernels.png index 720b59b3e4519c7c7fd616cd49fa68b3e274672b..24f60e45e208c5e6a05a7c4b94d10c480a7e39a5 100644 Binary files a/lab3/figures/assignment2-added-kernels.png and b/lab3/figures/assignment2-added-kernels.png differ diff --git a/lab3/figures/assignment2-distance-kernel.png b/lab3/figures/assignment2-distance-kernel.png deleted file mode 100644 index 8625413234579c851c3ae0920b0403be5d8c1c0d..0000000000000000000000000000000000000000 Binary files a/lab3/figures/assignment2-distance-kernel.png and /dev/null differ diff --git a/lab3/figures/assignment2-multiplied-kernels.eps b/lab3/figures/assignment2-multiplied-kernels.eps index 79e5f8422216950fc48aca2c6b49f4e8d61156ac..6d8f3de90a960111668686751e7e28075bdea663 100644 --- a/lab3/figures/assignment2-multiplied-kernels.eps +++ b/lab3/figures/assignment2-multiplied-kernels.eps @@ -144,28 +144,28 @@ bp 1 setlinejoin 10.00 setmiterlimit np -72.40 234.76 m -33.40 -3.01 l -33.40 -3.45 l -33.40 -11.87 l -33.40 -28.72 l -33.40 -38.40 l -33.40 -32.19 l -33.40 -20.21 l -33.40 -10.74 l -33.40 -4.96 l -33.40 -1.57 l -o -72.40 234.76 2.70 c p1 -105.80 231.75 2.70 c p1 -139.20 228.30 2.70 c p1 -172.60 216.43 2.70 c p1 -206.00 187.71 2.70 c p1 -239.40 149.31 2.70 c p1 -272.80 117.12 2.70 c p1 -306.20 96.91 2.70 c p1 -339.60 86.17 2.70 c p1 -373.00 81.21 2.70 c p1 +72.40 147.70 m +33.40 7.87 l +33.40 23.34 l +33.40 28.86 l +33.40 21.35 l +33.40 5.64 l +33.40 -9.97 l +33.40 -21.47 l +33.40 -30.61 l +33.40 -40.72 l +33.40 -52.35 l +o +72.40 147.70 2.70 c p1 +105.80 155.57 2.70 c p1 +139.20 178.91 2.70 c p1 +172.60 207.77 2.70 c p1 +206.00 229.12 2.70 c p1 +239.40 234.76 2.70 c p1 +272.80 224.79 2.70 c p1 +306.20 203.32 2.70 c p1 +339.60 172.71 2.70 c p1 +373.00 131.99 2.70 c p1 406.40 79.64 2.70 c p1 0.00 0.00 450.00 300.00 cl 0 0 0 srgb @@ -175,35 +175,42 @@ o 1 setlinejoin 10.00 setmiterlimit np -59.04 99.51 m -0 138.57 l +59.04 74.20 m +0 155.27 l +o +np +59.04 74.20 m +-7.20 0 l +o +np +59.04 100.08 m +-7.20 0 l o np -59.04 99.51 m +59.04 125.96 m -7.20 0 l o np -59.04 134.15 m +59.04 151.84 m -7.20 0 l o np -59.04 168.80 m +59.04 177.71 m -7.20 0 l o np -59.04 203.44 m +59.04 203.59 m -7.20 0 l o np -59.04 238.08 m +59.04 229.47 m -7.20 0 l o /Font1 findfont 12 s -41.76 99.51 (-2) .5 90 t -41.76 134.15 (-1) .5 90 t -41.76 168.80 (0) .5 90 t -41.76 203.44 (1) .5 90 t -41.76 238.08 (2) .5 90 t +41.76 74.20 (-2.6) .5 90 t +41.76 125.96 (-2.2) .5 90 t +41.76 177.71 (-1.8) .5 90 t +41.76 229.47 (-1.4) .5 90 t np 59.04 73.44 m 360.72 0 l @@ -289,23 +296,31 @@ o 1 setlinejoin 10.00 setmiterlimit np -59.04 99.51 m +59.04 74.20 m +360.72 0 l +o +np +59.04 100.08 m +360.72 0 l +o +np +59.04 125.96 m 360.72 0 l o np -59.04 134.15 m +59.04 151.84 m 360.72 0 l o np -59.04 168.80 m +59.04 177.71 m 360.72 0 l o np -59.04 203.44 m +59.04 203.59 m 360.72 0 l o np -59.04 238.08 m +59.04 229.47 m 360.72 0 l o np diff --git a/lab3/figures/assignment2-multiplied-kernels.png b/lab3/figures/assignment2-multiplied-kernels.png index db758388e19c1ba093067d54535911f3a0f750b5..7cb2acce4b8ce8b56ea6bcd8e36663b8dd50fdb6 100644 Binary files a/lab3/figures/assignment2-multiplied-kernels.png and b/lab3/figures/assignment2-multiplied-kernels.png differ diff --git a/lab3/figures/assignment2-distance-kernel.eps b/lab3/figures/assignment2-physical-distance-kernel.eps similarity index 99% rename from lab3/figures/assignment2-distance-kernel.eps rename to lab3/figures/assignment2-physical-distance-kernel.eps index 8390e3228f5412ea340389c6a9001d5ba5072b2f..656b76efc295011b0763ea3f2bcd868ffc764552 100644 --- a/lab3/figures/assignment2-distance-kernel.eps +++ b/lab3/figures/assignment2-physical-distance-kernel.eps @@ -131,7 +131,6 @@ dup length dict begin end /Font5 exch definefont pop %%EndProlog -0.00 0.00 450.00 300.00 cl %%Page: 1 1 bp /bg { 1 1 1 srgb } def @@ -1230,7 +1229,8 @@ cp p1 0.00 0.00 450.00 300.00 cl /Font2 findfont 14 s 0 0 0 srgb -239.40 265.45 (Gaussian distance kernel) .5 0 t +125.01 265.45 (Gaussian ph) 0 ta +-0.280 (ysical distance kernel) tb gr /Font1 findfont 12 s 193.05 18.72 (Ph) 0 ta -0.360 (ysical distance) tb gr diff --git a/lab3/figures/assignment2-physical-distance-kernel.png b/lab3/figures/assignment2-physical-distance-kernel.png new file mode 100644 index 0000000000000000000000000000000000000000..c676b28aa4fbb34267ba0f58ee88133868557ce4 Binary files /dev/null and b/lab3/figures/assignment2-physical-distance-kernel.png differ