作者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/m.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