0

我有一个 C++ 代码。我必须在目标c中使用。

double[,] x = new double[,]{{-1},{-0.8},{-0.6},{-0.4},{-0.2},{0},{0.2},{0.4},{0.6},{0.8},{1.0}};
double[] y = new double[]{0.223130,0.382893,0.582748,0.786628,0.941765,1.000000,0.941765,0.786628,0.582748,0.382893,0.223130};
double[] c = new double[]{0.3};

double epsf = 0;
double epsx = 0.000001;

int maxits = 0;
int info;

alglib::lsfitstate state;
alglib::lsfitreport rep;

double diffstep = 0.0001;    

//
// Fitting with weights
// (you can change weights and see how it changes result)
//

double[] w = new double[]{1,1,1,1,1,1,1,1,1,1,1};

alglib::lsfitcreatewf(x, y, w, c, diffstep, out state);
alglib::lsfitsetcond(state, epsf, epsx, maxits);
alglib::lsfitfit(state, function_cx_1_func, null, null);
alglib::lsfitresults(state, out info, out c, out rep);

我已经用 .mm 最后调用了我的目标文件

但我得到不同的错误。(第一行 - 我初始化我的变量时的预期表达式)。

我不能。但我只需要这一个功能。

我希望这是这个问题的解决方案。 https://gis.stackexchange.com/questions/74567/math-algorithm-for-n-amount-points-in-objective-c

4

1 回答 1

0

这主要是数组声明开头的 Java 代码,而不是 C、C++ 或 ObjC。

这将是 C/C++ 代码:

double x[][1] = {{-1},{-0.8},{-0.6},{-0.4},{-0.2},{0},{0.2},{0.4},{0.6},{0.8},{1.0}};
double y[] = {0.223130,0.382893,0.582748,0.786628,0.941765,1.000000,0.941765,0.786628,0.582748,0.382893,0.223130};
double c[] = {0.3};

但是,根据这里lsfitcreatewf的函数参考,您需要它是 type 。这里有一些示例如何生成此类数据。alglib::real_2d_array

以下是一些关于如何使用 lsfit 子包的一般示例。

于 2013-10-18T09:11:17.233 回答