【问题标题】:What is the PHP equivalent to these lines in R?与 R 中的这些行等效的 PHP 是什么?
【发布时间】:2012-05-16 19:33:41
【问题描述】:

我正在尝试将脚本从 R 移植到 PHP,但不确定第 3 行和第 4 行 (taken from the larger function discussed here) 在做什么。看起来像逻辑运算和数组定义。有人可以给我PHP中的等价物吗?

cosAzPos <- (0 <= sin(dec) - sin(el) * sin(lat))
sinAzNeg <- (sin(az) < 0)
az[cosAzPos & sinAzNeg] <- az[cosAzPos & sinAzNeg] + twopi
az[!cosAzPos] <- pi - az[!cosAzPos]

【问题讨论】:

  • 请为变量提供一些可能的值。我们需要知道他们的类型
  • @Electronick -- 为了提供上下文,我只是在上面的帖子中添加了一个指向代码源的链接。
  • @Electronick -- IIRC,变量dec(偏角)、el(海拔)、lat(纬度)和az(方位角)都将是介于-2*pi 和 2*pi。
  • @Josh -- 感谢您的意见
  • @Owen -- 当然。 az 是一个实数向量,以弧度表示角度。最后一行,本质上说,“取那些余弦不为正的az 的值(左侧);并替换它们(&lt;-);用pi 减去同一组值” .例如,它将采用1.3 1.4 1.5 1.6 1.7 1.8 之类的数字向量并返回1.3 1.4 1.5 1.541593 1.441593 1.341593

标签: php r


【解决方案1】:

我认为它看起来像:

if (0 < sin($dec) - sin($el) * sin($lat)) {
  if(sin($az) < 0)
    $az = $az + $twopi;
} 
else {
  $az = $pi - $az;
}

仅适用于第 3-4 行:

if ($cosAzPos && $sinAzNeg) {
  $az = $az + $twopi;
}
elseif (!$cosAzPos) {
  $az = $pi - $az;
}
else {
  // leave $az value
}

根据我在参考帖子中找到的 commet。但我不确定访问浮动索引

【讨论】:

  • 我认为az[false] 类似于分配给nullaz[true] 是基本分配
猜你喜欢
  • 1970-01-01
  • 2017-05-26
  • 2011-01-07
  • 1970-01-01
  • 2012-01-25
  • 1970-01-01
  • 1970-01-01
  • 2018-02-06
  • 2020-05-11
相关资源
最近更新 更多