所以我有这个函数,我接受两个浮点列表并使用它们各自的索引元素来计算这个简单的公式:(x-y)^2 / x
对于每个索引 (0,1,2,3...)
这是我到目前为止所拥有的:
let myCalc (list1: float list) (list2: float list) : float list =
List.map2 (fun x y -> (x-y)^2 / x) list1 list2
我不断收到此错误:This expression was expected to have type 'float' but here has type 'string'
为什么我上面列出的方法行不通,但这个例子可以:
let list1 = [1; 2; 3]
let list2 = [4; 5; 6]
let sumList = List.map2 (fun x y -> x + y) list1 list2
printfn "%A" sumList
有人可以解释我如何理解我编写的代码和上面列出的示例代码之间的区别吗?是的,我已经尝试将 List.map2 设置为一个变量,然后将其打印出来,但这也不起作用。我认为这与我进行计算的方式有关,我只是不知道出了什么问题。
另外,我希望我的输出结果存储在相应的 x 和 y 索引的列表中。请帮忙。