有一天,我发现了几个地方下面的错误在我的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