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))){:})
。