how to write solve this problem in matlab?

Dear members I want to write program in matlab in which it takes a sentence(for example: today is sunday) as an input and gives output such that : it should take first word of first letter(example t), then takes first word of second letter(i) after that takes first word of third word(s) and display it as "tis". then for second iteration tiu, third iteration tin and so on. I hope i am able to explain it properly. Thanks in advance.

2 个评论

Sounds like homework. Is it?
In the meantime, check out strtok() and this link
no, this is not at all a homework. I have already graduated from the university. I just started learning MATLAB and trying out different examples to get good at it. i got struck at this problem. would be interesting to know how to tackle this type of problems.

请先登录,再进行评论。

回答(2 个)

This works:
str = 'today is sunday';
words = regexp(str, ' ', 'split');
minlen = min(cellfun(@numel, words));
for k1 = 1:numel(words)
for k2 = 1:minlen
A(k2,k1) = words{k1}(k2);
end
end
Out = A
Out =
2×3 char array
'tis'
'osu'

2 个评论

thanks for replying sir. but this is not the solution i was looking for. I want this output; tis;tiu;tin;tid;tia;tit ois;oiu;oin;oid;oia;oit dis;diu......... ais..... yis..... and so on
Where did the tit come from, and what happened to tiy ?

请先登录,再进行评论。

[P,Q,R] = ndgrid('today','is','sunday')
[reshape(permute(P,[3 1 2]),[],1),reshape(permute(Q,[1 3 2]),[],1),reshape(permute(R,[3 2 1]),[],1)]
or
[P,Q,R] = ndgrid('sunday', 'today','is');
[Q(:),R(:),P(:)]

类别

帮助中心File Exchange 中查找有关 Loops and Conditional Statements 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by