2
我偶然發現了加法運算符的意外行爲。調用什麼(1乘n)加(n乘1)操作?
a=[1 2 3];
b=[5; 7; 11];
a+b
主要生產
ans =
6 7 8 % a(1)+b(1) a(1)+b(2) a(1)+b(3)
8 9 10 % a(2)+b(1) a(2)+b(2) a(2)+b(3)
12 13 14 % a(3)+b(1) a(3)+b(2) a(3)+b(3)
此行爲可能是文檔中的Add a Vector to a Matrix例如下下降。
創建一個數組A,並向它添加一個列向量。是 處理的矢量,就好像它是相同的尺寸A的基質中,因此在向量中的每個 元素被添加到一排A.
雖然,在我的示例b
不能被視爲與a
相同的尺寸。兩個載體都必須重複。
當我向他人描述時,我可以稱這種行爲爲何?Matrix Addition沒有一個定義合適。 Vector addition也有不同的定義。我能想到的最好的是「笛卡爾產品中元素的總和」。
我想bsxfun是我會看看,如果我想這種行爲,我不知道它存在。但是,如果你偶然發現並試圖解釋它,那麼根本不是一個直觀的地方。 :P – Cecilia
也被稱爲隱式擴展...這是來自Mathworks的博客文章https://blogs.mathworks.com/loren/2016/11/10/more_thoughts_about_implicit_expansion/ – beaker
糟糕,這是原創。 http://blogs.mathworks.com/loren/2016/10/24/matlab-arithmetic-expands-in-r2016b/ – beaker