在octave 中, broadcasting 的意思是
當兩個唯度不同矩陣要運算時, 維度小的 會自己擴充成跟維度大的一樣維度之後, 才進行運算
ex:
x = [1 2 3;
4 5 6;
7 8 9]
y = [10 20 30]
x+y # 這本來是不能作的, 因為x y 維度不同, 但他自動幫你變成
y = [10 20 30 10 20 30 10 20 30];
這就是broadcasting, 此時 y 維度就跟x 一樣, 可以作加法了
>>output
warning: operator +: automatic broadcasting operation applied
ans =
11 22 33
14 25 36
17 28 39
(他也會出現警告, 提醒你這個+法經過了broadcasting)
如果兩個matrix 一樣dimension , 則直接就是
element by element 相加
x = [1 2 3;
4 5 6;
7 8 9]
y = [1 2 3;
4 5 6;
7 8 9]
x+y
ans =
2 4 6
8 10 12
14 16 18
沒有留言:
張貼留言