有一天,我發現了幾個地方下面的錯誤在我的MATLAB代碼力MATLAB做只是逗號作爲列分隔符
我想在我的MATLAB程序進入列向量
[a-b,
c-d
e-f]
其中a,b,c,d,e,f是一些變量中的長表達式。
和我進入它在作爲
[ a -b ;
c -d ;
e -f]
現在MATLAB解釋第二矩陣作爲一個3×2的矩陣,而不是一個列向量。 有什麼辦法/命令/函數強制MATLAB只使用逗號而不是任何空白字符作爲列分隔符矩陣?
有一天,我發現了幾個地方下面的錯誤在我的MATLAB代碼力MATLAB做只是逗號作爲列分隔符
我想在我的MATLAB程序進入列向量
[a-b,
c-d
e-f]
其中a,b,c,d,e,f是一些變量中的長表達式。
和我進入它在作爲
[ a -b ;
c -d ;
e -f]
現在MATLAB解釋第二矩陣作爲一個3×2的矩陣,而不是一個列向量。 有什麼辦法/命令/函數強制MATLAB只使用逗號而不是任何空白字符作爲列分隔符矩陣?
假設你有一段代碼在其中只希望有列向量和無基質,有一個相當快速的解決方案:
取代{space}+
通過+
通過-
{space}-
這樣做很安全,除非你在向量中有複雜的表達式,否則應該這樣做。
我不認爲有任何辦法強迫MATLAB爲不將空白這種方式,因爲它是解釋性語言,這樣做可能會影響一些內置的功能/第三方代碼。 但是,您可以使用圓括號對數據進行分組 - 即(a -b)仍然是矩陣的單個元素。
那麼你的第二個矩陣看起來像它打算作爲一個3x2的。不過,如果你不喜歡這樣它會再次列向量:
[a - b;
c - d;
e - f]
這對我來說是a
減去b
和a
,負b
之間的合理直觀的區別。
您也可以使用括號作爲伊利亞建議。
這實際上並不是一個錯誤 - 它是預期的行爲。我同意你的看法,但這並不好。 – 2013-05-03 23:17:10