2016-05-02 15 views
0

単語の最初の母音を見つけるMatlab関数を書いて、あなたの名前を入力として使ってプログラムをテストしてください。私の仕事はfunction v = findfirstvowel (word)単語の最初の母音を見つける

ある

機能ヘッダーがされています

function v = findfirstvowel (word) 
    vow = 'aeiouAEIOU'; 
    for i=1:size(word) 
     for j=1:10 
      if word(i)==vow(j) 
       v=word(i); 
       break; 
      end 
     end 
    end 

私はなぜ知らないが、私は動作しませんでした

答えて

1

breakだけforループの最も内側の勃発。ドキュメントから

:ネストされたループで

、唯一それが発生したループからの出口を破ります。制御は、そのループの終わりに続くステートメントに移ります。

この機能を終了する場合は、代わりにreturnを使用します。代わりに、ループのための二重の

function v = findfirstvowel (word) 
    vow = 'aeiouAEIOU'; 
    for i=1:size(word) 
     for j=1:10 
      if word(i)==vow(j) 
       v=word(i); 
       return; 
      end 
     end 
    end 

は、あなたが母音を見つけるためにチェックし、最初の1のインデックスを返すためにfindを使用するismemberようなものを使用してオフにはるかに良いと思います。また、単語を小文字に変換し、'aeiou'としか比較できません。

function v = findfirstvowel (word) 
    isvowel = ismember(lower(word), 'aeiou'); 
    v = word(find(isvowel, 1, 'first')); 
end 

この方法を使用して他の母音を使いたい場合は、次の操作を実行できます。

isvowel = ismember(lower(word), 'aeiou'); 
vowels = word(isvowel); 

first_vowel = vowels(1); 
second_vowel = vowels(2); 
+0

第2母音のコードは最初と同じですか?もっとやる方法を説明できますか? –

+0

@BBoすべての母音か、最初の母音か2番目の母音だけが欲しいですか? – Suever

+0

ちょうど最初のものですが、私はそれもまた2番目を置く方法を見たいと思います。 –

関連する問題