vecToPoly = function(vec){ fun_factory = function(vec){ i = length(vec) function(x){ i <<- i-1 if(x>0 && i>0){ paste0("x^",i, " + ") }else if(i == 0){ "1" }else{ "" } } } return (paste0(sapply(vec, fun_factory(vec)),collapse="")) } toColor = function(x, color){ return(paste0("\\textcolor{",color,"}{",x,"}")) } nextColor = function(x){ if(x == 'red') return('green') else if(x == 'green') return('blue') else if(x == 'blue') return('orange') else if(x == 'orange') return('red') } block.encoder = params$block.encoder message <- params$message code <- params$code coderate = block.encoder$data.length / block.encoder$code.length message.matrix <- matrix(message, ncol=block.encoder$data.length, byrow = TRUE) code.matrix <- matrix(code, ncol=block.encoder$code.length, byrow = TRUE) art.coder <- paste0("Hamming (",block.encoder$code.length,",",block.encoder$data.length,")") gen.matrix <- block.encoder$gen.matrix color = 'red' for(i in (block.encoder$data.length+1):block.encoder$code.length){ gen.matrix[,i] = sapply(gen.matrix[,i],function(x) toColor(x,color)) color = nextColor(color) } gen.matrix <- apply(gen.matrix, 1, function(x) paste0(x, collapse ="&")) gen.matrix <- paste0(gen.matrix, collapse = "\\\\") gen.matrix <- paste0("\\begin{pmatrix}",gen.matrix, "\\end{pmatrix}", collapse="") message.matrix.print <- apply(message.matrix, 1, function(x) paste0(x, collapse ="&")) message.matrix.print <- paste0(message.matrix.print, collapse = "\\\\") message.matrix.print <- paste0("\\begin{pmatrix}",message.matrix.print, "\\end{pmatrix}", collapse="") code.matrix.print <- apply(code.matrix, 1, function(x) paste0(x, collapse ="&")) code.matrix.print <- paste0(code.matrix.print, collapse = "\\\\") code.matrix.print <- paste0("\\begin{pmatrix}",code.matrix.print, "\\end{pmatrix}", collapse="") encoding <- "" for(i in 1:nrow(message.matrix)){ encoding <- paste0(encoding, "## Kodieren des ",i,". Blocks \n") data.vec <- paste0(message.matrix[i,], collapse="\\\\") data.vec <- paste0("\\begin{pmatrix}",data.vec, "\\\\ \\end{pmatrix}^T", collapse="") color <- 'red' code.vec <- code.matrix[i,] for(j in (block.encoder$data.length+1):block.encoder$code.length){ code.vec[j] = toColor(code.vec[j],color) color = nextColor(color) } code.vec <- paste0(code.vec, collapse="\\\\") code.vec <- paste0("\\begin{pmatrix}",code.vec, "\\\\ \\end{pmatrix}^T", collapse="") encoding <- paste0(encoding, "$$",data.vec,". ",gen.matrix," = ",code.vec,"$$\n\n") }
r art.coder
Kodiererr gen.matrix
$$r block.encoder$data.length
}{r block.encoder$code.length
} \approx r round(coderate,2)
$$r block.encoder$data.length
aufteilenr message
)\end{center}r message.matrix.print
$$r encoding
r code.matrix.print
$$r code
)\end{center}Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.