作者phoebejen (phoebe)
看板Python
标题[问题] 向量内积
时间Mon Mar 26 01:00:57 2018
下面有用红框框起来的
是另外想做向量内积计算的
请问我该如何取出呢?
因为return已回传i跟j了
我另外令上面红框=a的语法
python显示错误
https://i.imgur.com/6nmZ2gc.jpg
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.36.238.58
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1521997259.A.3F8.html
※ 编辑: phoebejen (114.36.238.58), 03/26/2018 01:13:38
1F:推 TuCH: 讲清楚一点吧 看不懂你想做什麽 03/26 01:30
不好意思 讲得不够清楚
https://imgur.com/peU8OaI.jpg
就是我需要取出"计算出来i列之cov"和"计算出来j列之cov"做向量内积
2F:推 Panthalassa: 天啊,为什麽函数要定义两次?看起来都是在算标准差 03/26 02:30
因为我需要i和j的标准差最後也做内积,所以我想到的方法是这样子
或是P大有更好的方法也请不吝指教(我是新手所以想说拆开说比较清楚)
※ 编辑: phoebejen (114.25.194.197), 03/26/2018 08:46:11
3F:推 TitanEric: code有几个问题 for i in i 不知道在算什麽, 还有如同 03/26 11:20
for i in i 是要把"#计算出来i列之cov"的这一行,i行每个值都要进行d+=(i-m)**2计算
4F:→ TitanEric: 楼上 同一个function不要定义两次 可以改成for data in 03/26 11:20
5F:→ TitanEric: (i, j) 然後call function 03/26 11:20
※ 编辑: phoebejen (114.25.194.197), 03/26/2018 11:38:09
6F:推 Panthalassa: 一个建议的写法: 03/26 13:16
7F:→ Panthalassa: def stdDeviation(i, j): 03/26 13:17
8F:→ Panthalassa: L = len(i) (( i, j 假设长度一样,才能内积 03/26 13:17
9F:→ Panthalassa: mean_i = sum(i)/L 03/26 13:18
10F:→ Panthalassa: mean_j = sum(j)/L 03/26 13:18
11F:→ Panthalassa: std_i = std_j = 0 03/26 13:19
12F:→ Panthalassa: for x in i: 03/26 13:20
13F:→ Panthalassa: std_i += (x - mean_i)**2 03/26 13:20
14F:→ Panthalassa: for x in j: 03/26 13:20
15F:→ Panthalassa: std_j += (x - mean_j)**2 03/26 13:21
16F:→ Panthalassa: std_i = (std_i/L)**0.5 03/26 13:21
17F:→ Panthalassa: std_j = (std_j/L)**0.5 03/26 13:22
18F:→ Panthalassa: inner_product = 0 03/26 13:22
19F:→ Panthalassa: for x, y in zip(i, j): 03/26 13:23
20F:→ Panthalassa: inner_product += x * y 03/26 13:24
21F:→ Panthalassa: return std_i, std_j, inner_product 03/26 13:24
23F:推 vfgce: 一定要自己算吗? 有个东西叫numpy 03/26 15:19
24F:推 niki25672729: 原po是不是不知道function的作用啊 之前版上有推一 03/26 16:02
25F:→ niki25672729: 本教材可以看 03/26 16:02
27F:→ niki25672729: thonds/index.html 03/26 16:02