2017-06-27 164 views
0

矢量化基于Matlab /倍频代码我如何向量化下面基于Matlab /倍频代码 -字符串操作

sentence='The quick brown fox'; 
l=findstr(sentence,' ');% One blank space 
w=l(1); 
first=sentence(1:w-1); 
last=sentence(w:end); 

我可以过去的两个语句合并为一个语句。有没有什么办法可以将最后四条语句转换成一条语句?

回答

4

strtok会做你以后。

​​

PS:鉴于你的问题的措辞,我觉得有必要指出的是,“单行”和“矢量化”是两个完全不相干的概念。

+0

能否详细说明一下? – Misha

+0

评论。我认为矢量化是使用矢量操作将一段代码转换为一行。你能告诉我我错了吗? – Misha

+2

减少代码行与任何东西都没有关系(除了可读性,无论是正面还是负面)。矢量化指的是一些替代传统的迭代技术(例如“for循环”)的技术,这些技术一次对一个元素进行操作,其中基于矩阵的操作被最优化地设计为与矩阵一起工作;这种操作速度更快的原因通常是因为它们被重定向到引擎盖下的最佳实现(例如,用C++编码),而“for循环”大致等同于逐个执行大量指令。 –

0

您可以考虑使用strsplit在句子中提取所有的话:

sentence='The quick brown fox'; 
words = strsplit(sentence, ' '); 
first = words{1}; 
last = words{end};