Finding vowels in a string the user inputs and printing the vowels. Here's the problem:
10 次查看(过去 30 天)
显示 更早的评论
Create a variable called my_sentence and allow the user to enter a sentence (minimum of 10 words) of his or her choosing via the input() command. Note that it may have some gaps/spaces. Your program is to extract the vowels within that sentence and display them when executed. Strcmp() in MATLAB allows you to compare two individual strings/characters (returns a 1 if they are the same and 0 if they are not the same). It is now a matter of looping over the individual letters of the sentence and performing decision making process such that only the vowels are outputted at the command prompt as we execute your program.
4 个评论
Steven Lord
2017-2-24
Reread the assignment carefully. It lists two MATLAB functions that you should use. One of those functions will be useful to "compare a string that the user inputs to a vowel". The only other hint I'll give you is that you may need to call that function multiple times and combine the results: 5 (or 6, depending on your definition of vowel) times.
采纳的回答
Jan
2017-2-24
The question mentions all tools reuiqred for the solution already:
- input
- loop
- strcmp
So start with obtaining the input. Then create a loop over the characters. A for loop will solve this and you might need the command length() to determine the number of characters. Then compare each character with the vowles. You need either fice if commands. Use lower() tocatch the uppercase characters also. ismember would be easier. Or look at this:
'a' == 'nabvdsh'
This together the the any() command would be cheaper than the suggested strcmp(). Finally use disp() to display a character.
0 个评论
更多回答(3 个)
Walter Roberson
2017-2-24
"It is now a matter of looping over the individual letters of the sentence and performing decision making process such that only the vowels are outputted at the command prompt as we execute your program."
No, that is not correct.
Consider "yellow" and "yip" and "cry" and "ytterbium"
"y" is called a "semi-vowel". There are other semi-vowels used in English that might have different rules. "w" is also considered a semi-vowel, but not (for example) in "vowel" or "cow"; notice the completely different "w" sound in "won" and "when".
"w" is also a semi-vowel, and acts like a vowel in situations such as "won" (followed by a short vowel), "wine" (followed by a long vowel), and "when" (followed by an "h" followed by a vowel.) But "w" does not act as a vowel in the word "vowel" nor in "how".
"cry" is a good example of a situation in which you cannot escape the situation by saying "Oh, but it is not the real vowel in the word, the real vowel is ..." -- a claim you might make for "yip" for example. There is no other vowel than "y" in "cry".
It is therefore not possible to detect vowels by examining one letter at a time.
Do not neglect â à ä å ê è ì ö ü á ắ ấ ǻ é ế í ḯ ó ő ớ ṍ ǿ ú ű ứ ý æ ǽ or Latin Capital A with Stroke
1 个评论
Walter Roberson
2017-10-10
There are also some fairly uncommon words in English, mostly derived from Old English or from Welsh, in which "w" is acting as the only vowel, not just something that could be classified as "modifying a vowel", similar to the way that "y" is acting as the only vowel in "cry".
http://www.dictionary.com/e/w-vowel/ suggests “Cwm” (a steep-walled semicircular basin in a mountain, sometimes containing a lake; a cirque) and “crwth” (an ancient Celtic musical instrument).
That page indicates that l, m, n, and r sometimes represent vowels in English -- that is, that their presence indicates a dipthong (a combination of letters that is together pronounced a different way than just putting the letters together.)
sehar siddique
2019-7-10
can i have complete method or code or software that how to get vowels from speech signal (urdu language) in matlab ??
0 个评论
Mohammed Hamaidi
2022-1-20
my_sentence=input('Please enter a sentence: ','s');
s1=my_sentence;
m=['Y','W','R','H','Z ','X','V','T','S','Q','P','N','M','L','K','J','G','F','D','C','B'];%your can remove 'Y'
for i=1:21
s1=s1(m(i) ~= upper(s1));
end
disp(s1)
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!