如何获取MATLAB中矩阵指定范围内的所有字符

时间:2015-06-01 14:39:53

标签: matlab matrix character

是否可以获得矩阵

指定范围内的所有字符

例如:

我的矩阵是这样的:

A = ['a' 'b' 'c';      %// Start index
     'd' 'e' 'f'];     %// End Index

预期的输出向量(字符串的数组 - 数组)

Out = {'abcd'    'bcde'    'cdef'}

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:1)

我希望这就是你要找的东西。

out = arrayfun(@colon,A(1,:),A(2,:),'uni',0);

它是如何运作的?

  

每行中的元素使用arrayfun逐个(同时)传递,并返回它们之间的所有字符,包括边界字符。

<强>输入:

A = ['a' 'b' 'c';
     'd' 'e' 'f'];
  

&#34;输出是矢量单元阵列&#34;

<强>输出:

>> out

out = 

'abcd'    'bcde'    'cdef'

如果你想要这种格式{'a:b','b:e','c:f'},你可以使用它:

out = arrayfun(@(x,y) strcat(x,':',y),A(1,:),A(2,:),'uni',0);

>> out

out = 

'a:d'    'b:e'    'c:f'