这个纯函数的#1,#2咋理解,mathematica软件distances = SparseArray[{{1, 2} -> 5, {2, 1} -> 5, {1, 3} -> 2, {3, 1} -> 2, {3, 2} -> 2, {2, 3} -> 2, {2, 4} -> 4, {4, 2} -> 4, {3, 4} -> 5, {4, 3} -> 5, {4, 1} -> 6, {1, 4} -> 6, {4,
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/17 08:48:06
这个纯函数的#1,#2咋理解,mathematica软件distances = SparseArray[{{1, 2} -> 5, {2, 1} -> 5, {1, 3} -> 2, {3, 1} -> 2, {3, 2} -> 2, {2, 3} -> 2, {2, 4} -> 4, {4, 2} -> 4, {3, 4} -> 5, {4, 3} -> 5, {4, 1} -> 6, {1, 4} -> 6, {4,
这个纯函数的#1,#2咋理解,mathematica软件
distances =
SparseArray[{{1, 2} -> 5, {2, 1} -> 5, {1, 3} -> 2, {3, 1} ->
2, {3, 2} -> 2,
{2, 3} -> 2, {2, 4} -> 4, {4, 2} -> 4, {3, 4} -> 5, {4, 3} ->
5, {4, 1} -> 6, {1, 4} -> 6, {4, 5} -> 8, {5, 4} -> 8, {1, 5} ->
1, {5, 1} -> 1}, {5, 5}, Infinity];
{length, tour} =
FindShortestTour[Range[5],
DistanceFunction -> (distances[[#1, #2]] &)]
#1,#2咋理解,纯函数的操作对象是什么?
这个纯函数的#1,#2咋理解,mathematica软件distances = SparseArray[{{1, 2} -> 5, {2, 1} -> 5, {1, 3} -> 2, {3, 1} -> 2, {3, 2} -> 2, {2, 3} -> 2, {2, 4} -> 4, {4, 2} -> 4, {3, 4} -> 5, {4, 3} -> 5, {4, 1} -> 6, {1, 4} -> 6, {4,
f=distances[[#1, #2]] &]
令f函数作用于{x,y}
f/@{x,y},f@@{x,y}等
则#1就是x,#2就是y
相当于非纯函数f[x,y]
即distances[[x,y]]
当然x,y可以是两个点,如果是距离函数的话
在这里#1,#2表示的是位置,即所建立稀疏矩阵的指定的位置
比如distances[[3,4]]就表示,在矩阵中的3行4列的元素是多少,是5