私は非常に基本的な質問があります。私はMatlabのファイルを読み込んでいて、「occurence1」という行があることを検出したいと思っています。しかし、私はマトリックスディメンションエラーを取得しています。私はいくつかの行にMatlab数の行列として読み取ると思いますか?Matlabのファイルから1行ずつ読み込んだ文字列を比較する
私のデータは次のようになります。
String2
occurence1
3.2 1.2
string3
occurence1
が、私は文字列または何かにTLINEをキャストする必要がありますか?私はよくJavaで精通していますが、私は、変数のMATLABの非定義といくつかの問題を持っている...
%open file with patterns
fid = fopen('filename.txt');
tline = fgetl(fid);
disp(tline);
while ischar(tline)
disp(tline)
tline = fgetl(fid);
if (num2str(tline)=='occurence1')
disp(tline)
end
end
fclose(fid);
['fgetl'](http://www.mathworks.com/help/matlab/ref/fgetl.html)の戻り値はすでにテキスト文字列であるため、' num2str'呼び出しは無意味です。また、文字列を比較するには、['strcmp'](http://www.mathworks.com/help/matlab/ref/strcmp.html)のような文字列関数を使用します。 – excaza
また、一般的な問題として、「実際にエラーが発生しました」というより、実際のエラーメッセージとスタックトレースを提供する方がはるかに便利です – excaza
また、現在の実装では、あなたのファイル。 – excaza