Skip to content

Commit

Permalink
Currently no support for Mathematica with prism but have put in a issue
Browse files Browse the repository at this point in the history
  • Loading branch information
ben18785 committed Dec 3, 2018
1 parent 68b5c20 commit 76dad81
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 10 deletions.
11 changes: 8 additions & 3 deletions App-1/code_mathematica.R
@@ -1,18 +1,23 @@
fPrismMathematica <- function(input){
return(prismCodeBlock(text, language = "matlab"))
}


fMathematicacode <- function(input){
if(input$dist=="Normal"){
if(input$property=="pdf")
fMakeFunction(mainName="PDF[NormalDistribution",
fMakeFunctionPaste(mainName="PDF[NormalDistribution",
params=c(input$mu,input$sigma),
postfixparams="x",
mathematica=TRUE)
else if(input$property=="log_pdf")
fMakeFunction(mainName=paste0("-0.5 Log[2 Pi] - Log[", eval(parse(text=input$sigma)),
fMakeFunctionPaste(mainName=paste0("-0.5 Log[2 Pi] - Log[", eval(parse(text=input$sigma)),
"] - (x - ",
eval(parse(text=input$mu)), ")^2 / (2 ",
eval(parse(text=input$sigma)), "^2)"),
freeform=TRUE)
else if(input$property=="random")
fMakeFunction(mainName="RandomVariate[NormalDistribution",
fMakeFunctionPaste(mainName="RandomVariate[NormalDistribution",
params=c(input$mu,input$sigma),
postfixparams="n",
mathematica=TRUE)
Expand Down
17 changes: 11 additions & 6 deletions App-1/code_matlab.R
@@ -1,19 +1,24 @@
fPrismMatlab <- function(text){
return(prismCodeBlock(text, language = "matlab"))
}


fMatlabcode <- function(input){
if(input$dist=="Normal"){
if(input$property=="pdf")
fMakeFunction(mainName="normpdf",
fPrismMatlab(fMakeFunctionPaste(mainName="normpdf",
params=c(input$mu,input$sigma),
prefixparams="x")
prefixparams="x"))
else if(input$property=="log_pdf")
fMakeFunction(mainName=paste0("-0.5 * log(2 * pi) - log(", eval(parse(text=input$sigma)),
fPrismMatlab(fMakeFunctionPaste(mainName=paste0("-0.5 * log(2 * pi) - log(", eval(parse(text=input$sigma)),
") - (x - ",
eval(parse(text=input$mu)), ")^2 / (2 * ",
eval(parse(text=input$sigma)), "^2)"),
params=c(input$mu,input$sigma),
freeform=TRUE)
freeform=TRUE))
else if(input$property=="random")
fMakeFunction(mainName="normrnd",
fPrismMatlab(fMakeFunctionPaste(mainName="normrnd",
params=c(input$mu,input$sigma),
postfixparams="[n, 1]")
postfixparams="[n, 1]"))
}
}
4 changes: 3 additions & 1 deletion App-1/ui.R
Expand Up @@ -23,7 +23,9 @@ shinyUI(fluidPage(
# Application title
titlePanel("Distribution explorer"),
prismDependencies,
prismLanguageDependencies(c("sql", "r", "python", "latex")),
prismLanguageDependencies(c("r", "python", "latex",
"matlab", "mathematica", "cpp",
"julia")),

# Sidebar with controls to select the random distribution type
# and number of observations to generate. Note the use of the
Expand Down

0 comments on commit 76dad81

Please sign in to comment.