2012-07-16 15 views
1

我有一個矩陣M包含對(即大小爲2的數組)。給定一對p,我怎樣才能得到一個二維矩陣M'包含標量乘積p的結果和每個元素M如何在一對矩陣上執行標量積?

(0, 0) (0, 1)        8 5 
M = (1, 0) (1, 1)  p = (2, 2)  M' = 5 2 
    (2, 0) (2, 1)        4 1 

Mp定義:

M =. 3 2 2 $ 0 0 0 1 1 0 1 1 2 0 2 1 
p =. 2 2 

我有標產品的單位J實現:

sp =. +/ @: *: @: - 

它適用於對:

0 0 sp p 
8 
    0 1 sp p 
5 

但沒有T ON全矩陣,因爲壞長度:

p sp M 
|length error: sp 
| p  sp M 

我應該如何處理呢?這對J天才來說很容易,但我只是一個可憐的新手。

回答

3

使用

p sp"1 M 
8 5 
5 2 
4 1 

你想sp這裏讀M的第一秩細胞:

<"1 M 
┌───┬───┐ 
│0 0│0 1│ 
├───┼───┤ 
│1 0│1 1│ 
├───┼───┤ 
│2 0│2 1│ 
└───┴───┘ 

所以sp"1將在每個單元(p sp 0 0p sp 0 1等)工作。 sp(無限秩)嘗試一次對整個矩陣應用SP M.

sp"2同樣將適用sp M的第二秩細胞:

<"2 M 
┌───┬───┬───┐ 
│0 0│1 0│2 0│ 
│0 1│1 1│2 1│ 
└───┴───┴───┘ 

所以

p sp"2 M 
8 5 
2 5 
0 5 

(該配對:p sp 2 2 $ 0 0 0 1p sp 2 2 $ 1 0 1 1p sp 2 2 $ 2 0 2 1

+0

非常感謝! – Fabien 2012-07-17 12:24:59