作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试编写一些不同的函数,例如 APL 中的标准偏差和线性回归。我需要传入一个 (x, y) 点列表,但我不知道该怎么做,因为我知道 APL 函数的语法只允许传入 0、1 或 2 个参数。我可以在 APL 中使用任何类型的数组将列表作为数组传递吗?
最佳答案
有几种有效的方法可以做到这一点。例如。使用两个列表,一个用于 x 值,一个用于 y 值:
∇ c←x LinReg y
c←⌽y⌹1,[1.5]x
∇
1 3 2 LinReg 2 8 5
3 ¯1
您还可以传入一个矩阵,其中每一行代表一个 (x,y) 对:
∇ c←LinReg xy
c←⌽xy[;2]⌹1,[1.5]xy[;1]
∇
LinReg 3 2⍴1 2,3 8,2 5
3 ¯1
如果您的 APL 支持,您还可以使用 (x,y) 对列表。例如。在 Dyalog APL 中:
∇ c←LinReg xys
c←⌽(2⊃¨xys)⌹1,[1.5](1⊃¨xys)
∇
LinReg (1 2)(3 8)(2 5)
3 ¯1
但是,请注意,这是一种特别低效的 APL 点表示方式。
关于arguments - 如何将多个参数传递给 APL 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72250295/
我是一名优秀的程序员,十分优秀!