Matlab一次取1个字符串

时间:2015-04-02 21:33:09

标签: matlab

我想编写一个函数,使得输入将是字符串,但输出将是每个字符串的暂停版本,例如,做的是作业,输入将是" Matlab"。然后,输出将在命令窗口显示为:

fprintf('M')
pause(0.001)
fprintf('A')
pause(0.001)
fprintf('T')
pause(0.001)
fprintf('L')
pause(0.001)
fprintf('A')
pause(0.001)
fprintf('B')

我可以短期内完成上述代码。但是,将这一想法应用于每次对话都存在巨大的困难。只说100句话。我如何阅读每个字母并相应地显示它?

1 个答案:

答案 0 :(得分:2)

这是一个解决方案,可以延迟显示句子中的所有字母:

% --- Definition
s = 'The quick brown fox jumps over a lazy dog';

% --- Display loop
for i = 1:numel(s)
    fprintf(s(i));
    pause(0.01);
end
fprintf('\n');

这是一个解决方案,可以延迟显示句子中的所有单词。我使用textscan来隔离单词。

% --- Definition
s = 'The quick brown fox jumps over a lazy dog';

% --- Get words
tmp = textscan(s, '%s');
w = tmp{1};

% --- Display loop
for i = 1:numel(w)
    fprintf('%s ', w{i});
    pause(0.1);
end
fprintf('\n');

效果很好,有很酷的复古效果。