```{r data generation, echo = FALSE, results = "hide"}
library("exams")
library("exams.forge")
instruction <- NULL
call <- exams2call()
### DATA GENERATION
library("magrittr")
library("xtable")
x1 <- ddiscrete(sample(3:5, size=1), unit=10)
x2 <- ddiscrete(sample(3:5, size=1), unit=10)
i   <- sample(length(x1), size=1)
j   <- sample(length(x2), size=1)
lsg <- x1[i]*x2[j]
## DATA PRESENTATION
sx <- matrix(x1, ncol=1)
row.names(sx) <- 1:length(x1)
colnames(sx) <- "$P(X_1=x)$"
sy <- matrix(x2, ncol=1)  
row.names(sy) <- 1:length(x2)
colnames(sy) <- "$P(X_2=x)$"
tabx <- html_matrix_sk(sx, title="$x$", fmt="%.1f")
taby <- html_matrix_sk(sy, title="$x$", fmt="%.1f")
#sy <- as_string(sprintf("$P(X_2=%.0f)=%.1f$", 1:length(x2), x2), last=" und ")
```

Question
========

```{r, error=TRUE, child=instruction}
```

Zwei unabhängige diskrete Zufallsvariablen $X_1$ und $X_2$ haben folgende Verteilungen:

```{r, echo=FALSE, results="asis"}
cat(toHTMLorLatex(tabx))
```

sowie

```{r, echo=FALSE, results="asis"}
cat(toHTMLorLatex(taby))
```

Berechnen Sie die Wahrscheinlichkeit $P(\{X_1= `r i` \} \cap \{X_2 = `r j` \})$.

Runden Sie Ihr Ergebnis auf vier Stellen nach dem Komma.

Solution
========

Da $X_1$ und $X_2$ unabhängig sind, lässt sich die gemeinsame Wahrscheinlichkeit $P(\{ X_1=x_1 \} \cap \{ X_2=x_2 \})$ durch das Produkt $P(X_1=x_1) \cdot P(X_2=x_2)$ bestimmen.

\begin{align*}
P(\{X_1= `r i`\} \cap \{X_2 = `r j`\}) &= P(X_1=`r i`) \cdot P(X_2=`r j`)\\
&= `r x1[i]` \cdot  `r x2[j]`\\
&= `r lsg`
\end{align*}

Meta-information
================
extype: num
exsolution: `r round2(lsg,4)` 
extol: 0.001
exname: `r if(exists("story")) story else knitr::current_input()`
