---
source_url: https://docs.dolphindb.cn/zh/funcs/r/rowTanimoto.html
fetched_at: 2026-05-19T09:37:33Z
category: funcs
title: rowTanimoto
sha1: af19471997d34c6378f6adf39b51ddc0e690e87f
---

# rowTanimoto

## 语法

`rowTanimoto(X, Y)`

## 详情

若 *X* 和 *Y* 同时为向量/矩阵，按行计算 *X* 和 *Y* 之间的谷本距离。若
*X* 和 *Y* 同时为索引矩阵，会对齐标签，对标签相同的行进行计算，标签不同的行直接返回 NULL。

若 *X* 和 *Y* 一个为向量，一个为矩阵，则向量的长度必须与矩阵的列数相同，计算向量与矩阵每一行的谷本距离。

若 *X* 和 *Y* 是数组向量，计算 *X* 和
*Y* 对应位置的向量之间的谷本距离，即 tanimoto(X.row(i),Y.row(i))。

若 *X* 和 *Y*
一个为向量，一个为数组向量，计算向量与数组向量内每个向量的谷本距离。两个向量的长度相同时返回计算结果，长度不相同时返回 NULL。

与所有其它聚合函数一致，计算时忽略 NULL 值。

## 参数

**X** 和 **Y** 是长度相同的数值型向量或数组向量，或维度相同的矩阵。若 *X* 和
*Y* 为数组向量，它们对应位置的向量必须具有相同长度。

## 返回值

返回一个向量。

## 例子

```dolphindb
rowTanimoto(3.6 5.2 6.3, 8.6 4.8 5.5)
// output
[0.4467,0.0064,0.0181]

a=array(INT[],0,10)
a.append!([[1, 8, 9],[15, NULL], [25, 22, 13, 15]])
b=array(INT[],0,10)
b.append!([[11, 18, 6],[5, 9], [5, 2, 3, 1]])
rowTanimoto(a,b)
// output
[0.5,0.5714,0.8309]

s1=indexedSeries(2020.01.01..2020.01.03, 10.4 11.2 9)
s2=indexedSeries(2020.01.01 2020.01.03 2020.01.04, 23.5 31.2 26)
rowTanimoto(s1,s2)
// output
[0.4125,0.5337,0.5526]

m=matrix(23 56 47, 112 94 59)
m1=matrix(11 15 89, 52 41 63)
rowTanimoto(m,m1)
// output
[0.3812,0.4889,0.1839]

m.rename!(2020.01.01..2020.01.03, `A`B)
m.setIndexedMatrix!()
m1.rename!(2020.01.01 2020.01.03 2020.01.04, `A`B)
m1.setIndexedMatrix!()
rowTanimoto(m,m1)
// output
[0.3812,NULL,0.3014,NULL]
```

相关函数：[tanimoto](../t/tanimoto.html)
