强制MATLAB仅将逗号作为列分隔符

时间:2013-05-03 02:15:54

标签: matlab

有一天,我在MATLAB代码的几个地方发现了以下错误

我想在MATLAB脚本中输入列向量

[a-b,
 c-d
 e-f]

其中a,b,c,d,e,f是某些变量中的长表达式。

我输入了

 [ a -b ;
   c -d ;
   e -f]

现在,MATLAB将第二个矩阵解释为3x2矩阵而不是列向量。 有没有一种方法/命令/功能来强制MATLAB只使用逗号,而不是任何空白字符作为矩阵的列分隔符?

3 个答案:

答案 0 :(得分:3)

我认为没有办法强制matlab不以这种方式处理空格,因为它是解释性语言,这样做可能会影响一些内置函数/第三方代码。 但是,您可以使用括号对数据进行分组 - 即(a -b)仍然是矩阵的单个元素。

答案 1 :(得分:1)

那么你的第二个矩阵确实看起来像是3x2。但是,如果你这样做,它将再次成为列向量:

[a - b;
 c - d;
 e - f]

对我来说,a减去ba,负b之间存在合理的直观区别。

你也可以像Ilya建议的那样使用括号。

答案 2 :(得分:0)

假设你有一段代码,你只想要有列向量而没有矩阵,那么有一个相当快的解决方案:

{space}+替换为+

{space}-替换为-

这样做是相当安全的,除非你的向量中有复杂的表达式,否则它应该可以解决问题。