小编use*_*000的帖子

如何简化基本算术表达式?

如何简化基本算术表达式?

例如

module ExprOps where 

simplify :: Expr -> Expr
simplify (Plus(Var"x") (Const 0)) = Var "x"
Run Code Online (Sandbox Code Playgroud)

我需要做什么?


module Expr where

-- Variables are named by strings, assumed to be identifiers.
type Variable = String

-- Representation of expressions.
data Expr = Const Integer
          | Var Variable
          | Plus Expr Expr
          | Minus Expr Expr
          | Mult Expr Expr
          deriving (Eq, Show)
Run Code Online (Sandbox Code Playgroud)

我想到的简化是:

0*e = e*0 = 0
1*e = e*1 = 0+e = e+0 = e-0 = e
Run Code Online (Sandbox Code Playgroud)

并且简化常量子表达式,例如Plus(Const …

math haskell algebra

6
推荐指数
2
解决办法
2783
查看次数

线性回归与SPSS中的普通最小二乘法是一回事吗?

我想使用线性回归模型,但我想使用普通最小二乘法,我认为它是一种线性回归.我使用的软件是SPSS.它只有线性回归,偏最小二乘和2阶最小二乘.我不知道哪一个是普通的最小二乘(OLS).

statistics spss linear-regression least-squares

3
推荐指数
2
解决办法
1万
查看次数

Haskell中的符号简化(使用递归?)

我如何给出包含以下所有表达式的一般规则?例如一个表达式,另一个用于sub,一个用于mult.我需要使用递归,但我感到困惑......

simplify :: Expr->Expr

simplify (Mult (Const 0)(Var"x"))
 = Const 0 
simplify (Mult (Var "x") (Const 0))
 = Const 0
simplify (Plus (Const 0) (Var "x")) 
= Var "x"
simplify (Plus (Var "x") (Const 0))
 = Var "x" 
simplify (Mult (Const 1) (Var"x")) 
= Var "x"
simplify (Mult(Var"x") (Const 1))
 = Var "x" 
simplify (Minus (Var"x") (Const 0))
 = Var "x"
simplify (Plus (Const x) (Const y)) 
= Const (x + y)
simplify (Minus (Const x) (Const y))
= Const …
Run Code Online (Sandbox Code Playgroud)

haskell functional-programming

1
推荐指数
1
解决办法
2130
查看次数