Java to Swift - 如何在Xcode 6中使用math.pow和math.exp

Mat*_*tty 3 java math xcode ios swift

我正在尝试应用我的java代码在快速语言下工作并遇到一些问题.

我在Java中的部分代码使用了math.pow(数字,功能)和math.exp(),但我并不完全确定如何在swift语言中使用它.

例如,在Java中:

diffAggregate = 0;
for (kIndex = 0; kIndex < NK_VALUES.length; kIndex ++) {
    diffSegment = NKVALUES[kIndex];
    diffSegment *= Math.pow(rhoR, IK_VALUES[kIndex]);
    diffSegment *= Math.pow(tempR, JK_VALUES[kIndex]);
    iFactor = 0;
    if (LK_VALUES[kIndex] > 0 {
       diffSegment *= Math.exp(-1 * Math.pow(rhoR,LK_VALUES[kIndex]);
       iFactor = LK_VALUES[kIndex] * Math.pow(rhoR, LK_VALUES[kIndex]);
       }
    if (PK_VALUES[kIndex] > 0 {
       diffSegment *= Math.exp(-1 * PK_VALUES[kIndex] * Math.pow(rhoR, 2) - BK_VALUES[kIndex] * Math.pow(tempR - UK_VALUES[kIndex], 2));
       iFactor  = 2 * rhoR * PK_VALUES[kIndex] * (rhoR - 1);
    }
diffAggregate += (diffSegment * (IK_VALUES[kIndex] - iFactor));
}
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激!非常感谢你提前.

erd*_*ser 10

首先,为了使这些功能可用,您的代码需要在顶部具有以下导入之一:

import Foundation //Generic
import UIKit      //iOS
import Cocoa      //OS X
Run Code Online (Sandbox Code Playgroud)

Java的Swift版本Math.pow很简单pow(Double, Double).第一个参数是基数,第二个参数是功率.

没有直接的替代品Math.ex,但你可以pow(M_E, 2)用来找到e ^ 2.M_E是一个等于欧拉常数的定义常数.

编辑:事实证明,exp(Double)Swift中有一个函数.我上面展示的方式很可能是它的定义方式,但在说之前我可能应该做更多的研究.所以,pow(M_E,2)exp(2)是这两个选项.

  • 函数`exp(x)`怎么样? (2认同)