-1

我是 C 新手,我正在用 C 开发一个程序来评估格林定理的 RHS

那些不知道格林定理的人是

关联

来自维基百科。现在关于格林定理的右手边(RHS),它需要偏微分和双重积分。我用 C 编写了一个程序来分别计算 M 和 L wrt x 和 y 的偏微分。这是它的代码。

现在问题来了,你可以看到 f() 是一个要被集成的函数,我们的例子是第一个代码中的 e[i]-d[j]。现在的问题是 e[i]-d[j] 是一个点数组,所以当函数 f(u,v) 调用它的值时,它应该返回该点对应的函数值。例如我们得到 f(1,0.8) ,那么函数 e[i]-d[j] 应该返回 i=1 和 j=0.8 处的值,这是不可能的数组下标不能是浮点数类型。所以在这里我被困在如何从函数 f 中调用值。任何帮助将不胜感激。

4

2 回答 2

0

将您正在玩的点数乘以一个常数因子 - 例如 10。然后你可以将你的数组下标乘以相同的值。在您的示例中, 1, 0.8 变为 (10, 8) 并且工作正常。如果您有兴趣,这是定点数学的变体。

于 2013-04-10T17:48:57.370 回答
0

你从哪里得到 0 和 1 之间的值?您是否只是即时计算 i,j 的值?在程序的第一部分,只计算带有 int 索引的值。

无法使用 float i,j 作为数组索引来存储值。如果你坚持使用浮点数作为索引。可能是 c++ STL 图可以帮助你。您可以只使用 i+j 作为索引值的键。

于 2013-04-10T18:05:38.600 回答