Matlab 字符串矩阵的分离列输出

Matlab 字符串矩阵的分离列输出,matlab,matrix,output,octave,Matlab,Matrix,Output,Octave,将具有字符串值的矩阵定义为: A = ["abc" "abd" "e"]; Octave将其打印为: A = abcabde 虽然我需要一个单独的视图: A = abc abd e 有什么办法可以实现吗 UPD:我不能使用{“abc”“abd”“e”},因为在这种情况下,我不能使用perms(A)函数-它会给出错误的结果。我不知道倍频程,但MATLAB允许在单元格数组中使用“perms”来排列字符串。如果Octave没有,那么在字符串的单元格数组中排列索引怎么样 A = {'abc', '

将具有字符串值的矩阵定义为:

A = ["abc" "abd" "e"];
Octave将其打印为:

A = abcabde
虽然我需要一个单独的视图:

A = abc abd e
有什么办法可以实现吗


UPD:我不能使用
{“abc”“abd”“e”}
,因为在这种情况下,我不能使用
perms(A)
函数-它会给出错误的结果。

我不知道倍频程,但MATLAB允许在单元格数组中使用“perms”来排列字符串。如果Octave没有,那么在字符串的单元格数组中排列索引怎么样

A = {'abc', 'def', 'g'};
idx = 1:3;
idx2 = perms(idx);

>> A(idx2)

ans = 

    'g'      'def'    'abc'
    'g'      'abc'    'def'
    'def'    'g'      'abc'
    'def'    'abc'    'g'  
    'abc'    'def'    'g'  
    'abc'    'g'      'def'

我不知道倍频程,但MATLAB允许在单元格数组中用“perms”排列字符串。如果Octave没有,那么在字符串的单元格数组中排列索引怎么样

A = {'abc', 'def', 'g'};
idx = 1:3;
idx2 = perms(idx);

>> A(idx2)

ans = 

    'g'      'def'    'abc'
    'g'      'abc'    'def'
    'def'    'g'      'abc'
    'def'    'abc'    'g'  
    'abc'    'def'    'g'  
    'abc'    'g'      'def'

没错,
perms
也适用于倍频程的单元阵列。只有OP在理解输出时有问题。@AndrasDeak您能帮助格式化吗?我怎样才能在八度音阶中归档相同的视图?@AndrasDeak太棒了!多谢各位much@Andremoniy等等,我写的东西搞乱了顺序,它不会按列显示。你必须转换
A
,然后使用它。解决方案:
printf('%-3s%-3s%-3s\n',A(perms(1:length(A)){:})
。没错,
perms
也适用于倍频程的单元阵列。只有OP在理解输出时有问题。@AndrasDeak您能帮助格式化吗?我怎样才能在八度音阶中归档相同的视图?@AndrasDeak太棒了!多谢各位much@Andremoniy等等,我写的东西搞乱了顺序,它不会按列显示。你必须转换
A
,然后使用它。解决方案:
printf('%-3s%-3s%-3s\n',A(perms(1:length(A))){:})