julia - 匿名函数 Julia - x 的值
问题描述
我不明白 x 是从哪里初始化的,因为它在接下来的比较中使用。
我尝试显示x
or的值a
。
我有这个代码:
a = x -> ifelse(ε > x, 1, ifelse(ε < -x, -1, 0))
println(a)
x 之前未初始化 - 这段代码是什么?x 是随机数normal distribution
,均值为 0?
解决方案
这是您所指的代码的简化版本:
θ = zeros(1000) # or some other vector
ε = randn()
sum(x -> ifelse(ε > x, 1, ifelse(ε < -x, -1, 0)), θ)
现在x -> ifelse(ε > x, 1, ifelse(ε < -x, -1, 0))
定义一个匿名函数,它接受一个参数x
,-1
如果x
小于则返回-ε
,1
如果大于ε
则返回0
。
然后sum
Julia 中的函数方法之一接受两个参数,一个函数和一个集合。它的工作方式是将匿名函数x -> ifelse(ε > x, 1, ifelse(ε < -x, -1, 0))
应用于每个元素θ
并计算返回值的总和。
编辑
或者,您可以定义此代码,例如
sum(ifelse(ε > x, 1, ifelse(ε < -x, -1, 0)) for x in θ)
推荐阅读
- excel - 使用没有日期/时间格式的 Excel VBA 检查时间
- javascript - 开发工具如何确定它可以在控制台中预览和不能预览的内容?
- angular - 如何使用拖放在 Angular 4 中使用 Kendo UI 上传文件
- xaml - Xamarin 表单编辑器 AutoSize 不起作用
- angular - 如何处理相互依赖的组件以避免Angular 6中的循环依赖警告?
- google-play - 在 ac.loadClass 中得到一个奇怪的 ClassNotFoundException
- python - 将两个列表压缩为字典时出现问题?
- java - 如何使用 Solr 在 Spring Boot 中获得事务支持?
- php - Eloquent 急切加载自定义属性
- android - 将单声道和立体声输入与超级播放器相结合