• 締切済み

データ数の揃っていないMatlabでのテキストデータ読み込み

下記のようなテキストデータをMATLABに読み込む方法を 教えた頂けたらと思います。 各フィールドでデータ数が異なります。 データはスペースで区切られています。 実際には大きなデータサイズです。~10000程度です。 よろしくお願い致します。 Data1 Data2 Data3 11 1234 5678 10 1342 5383 14 1438 5923 13 5838 17 5739

みんなの回答

回答No.2

#1です。 できましたかね? fid=fopen('a.txt'); dt=textscan(fid,repmat('%f',1,3),'HeaderLines',1); fclose(fid); とかでできませんかね? もしくは fid=fopen('a.txt'); dt=textscan(fid,'%f',3,'HeaderLines',1); fclose(fid); とか Delimiter指定したほうがいいのかな? dt=textscan(fid,'%f',3,'HeaderLines',1,'Delimiter',' '); 手元にmatlabないんで間違いあるかも。

回答No.1

textscanを使えばできます。 手元にmatlab無いですが、 HeaderLinesとTreatAsEmpty辺りのパラメーターを使えば良いかと。

Matlaber
質問者

お礼

ありがとうございます。 チャレンジしてみます。 実はtextscanは使ってみたのですが、 できなくて。。。実力不足です。

関連するQ&A

  • MATLAB:データの総数を数えるにはどうすればいいですか

    MATLAB初心者です。仮に行数がわからないテキストデータがあるとします。このデータの総数を知るにはどのような方法があるでしょうか。例えばこれらの平均をとるとき総数で割らなければならないので。 データの例 1 3 5 4 3 ・ ・ ・ 4

  • MATLABを用いたデータ抽出方に関して

    画像化されたグラフをMATLABを用いてデータを抽出する方法がありますか? 例えば、半導体素子のデータシートに示している電流・電圧特性のグラフをMATLABで読み取って、そこからテキストデータで抽出できればと思っております。 上記操作は可能でしょうか。 ご存じの方教えていただけないでしょうか。

  • 固定長データのテキストファイルのスペースについて

    固定長データのテキストファイルをExcelで読み込むと、スペース部分が前詰めされてしまいます。 スペースもそのままカラムとして読み込む方法はありませんでしょうか。 例えば次のような固定長データがあるとします; No.  項目名   タイプ   桁数 1    コード    文字    6 2    状態    文字    10 テキストファイルで開くと下記のような表示です(以下、便宜上スペースを”_”で表します); data011________1 data02_________1 data03____1_____ これをExcelにて固定長フィールドのデータとして読み込む際、 フィールドの区切り位置として6カラム目と16カラム目に矢印を置き 全てのフィールドを文字列として読みこむとExcelでは下記のように表示されます;       A列   B列    1行目  data01 1________1 2行目  data02 1 3行目  data03 1 ここで、B2セルとB3セルがそれぞれ _________1 ____1_____ とスペースを保持したままの形で読み込む方法はありませんでしょうか。 手動でもVBでもかまいません。ご教示頂ければ幸いです。

  • アクセスでのテキストデータ取り込みについて

    アクセスでテキストデータを取り込む際でのご質問がございます。 外部データからテキストデータを指定して 文字コードを指定して指定フィールドを文字列(テキスト型)として取り込もうとする際 例 取り込み前のデータ(文字列の後ろにスペースを含んだ半角20桁の文字列)    "1234567‐11‐2‐3 " "1234567‐234 " " "   *投稿画面ではスペースが表示されません)   文字列(テキスト型)として取り込んだデータ    "1234567‐11‐2‐3" "1234567‐234" "" となりスペースが消されてしまうのですが スペースが消されないでテキストデータを 取り込める方法をご存知の方いらっしゃいますでしょうか? どうぞよろしくお願いします。

  • stringのデータ型はメモ型とテキスト型どちらがいいのでしょうか?

    こんばんは。 アクセスで 100文字のデータを入力したい場合、 フィールドのデータ型は テキスト型にしてフィールドサイズを100にするのと、 メモ型にするのとどちらがいいのでしょうか?

  • MATLABでのデータ処理に関して

    テストデータをMATLABに取り込んでデータ整理をしたいと思っています. 不要な行を削除するにはどのようにすればいいでしょうか? 取得するデータは下記のような感じで,実際には数千行ぐらいの量になります. 070B 8 F4 01 1C 02 FD 01 7E 05 3.232 R 070C 8 FF 01 03 02 28 00 12 00 3.233 R 070B 8 F8 01 AF 01 FD 01 E4 05 3.237 R 070C 8 00 02 02 02 28 00 13 00 3.238 R 060B 5 43 41 4E 5F 31 3.238 R 070B 8 F3 01 28 02 FD 01 EB 04 3.242 R 070C 8 00 02 04 02 29 00 13 00 3.243 R 070Bと070Cで始まる行が交互にあり,不定期に060Bで始まる行が出てきます. これらのデータから060Bで始まる行だけを削除するにはどうすればよろしいでしょうか? 060Bの行は他の行に比べて要素数も少ないです. 現時点ではテキストエディタで開いた後,手動で削除しているのですが,データ量が増えてきたので自動化できないかと思っています. アドバイスよろしくお願いします.

  • matlabデータをバイナリデータで書き出す方法

    matlabデータをバイナリデータで書き出す方法を教えてください。 matlabで心電図波形を記録したのですが、RR間隔を出すプログラムを組むことが出来ませんでした。 そこで、先生が作られたRR間隔を出すプログラムがLabVIEWにあるので、matlabデータをLabVIEWにくわせてRR間隔を出したいと考えています。 LabVIEWにくわすには、matlabデータをヘッダ1024バイト、データは4バイトの単精度浮動小数点にしなければいけません。 matlabで任意のヘッダを付けたバイナリデータを生成する方法を教えてください。

  • MATLABの2つのプログラム間でデータのやりとり

    MATLABで同時に2つのプログラムを動かし、プログラム間でデータのやりとりをしたいです。 例えば、片方でsave data.mat、もう片方でload data.matとすると、 data.mat書き込み中にアクセスすることがあるため、 以下の(1)~(3)のようなエラーメッセージが出ます。 (1)エラー load MAT ファイル data.mat を読み込むことができません。 ファイルが壊れている可能性があります。 (2)エラー load ASCII ファイル data.mat の 2行目の列数は、前の行と同じでなければなりません。 (3)エラー load MAT ファイル data.mat を読み込めません:2 進数の MAT ファイルではありません。 テキストとして読み込むために LOAD -ASCII を試してください。 なにか、うまい方法は無いでしょうか? ちなみに、プログラムはMATLAB Compilerを利用し、いずれも24時間動きっぱなしにすることを想定しています。

  • テキスト型は何故255文字までなのでしょうか?

    こんにちわ アクセスのテキスト型のフィールドは、何故255文字までなのでしょうか? また、Access に限らず、データベースでテキスト型の可変データ(文字数がいくつになるか解りません。255以上になる事もあります)を管理する方法ご存知の方いらっしゃいましたら、教えてください。 よろしくお願い致します。

  • ダイナミックテキストの幅を広げるには?

    ダイナミックテキストに外部から読み込んだ文字を表示させているのですが、 読み込んだ文字がフィールドに全て入らなかった場合にダイナミックテキストの表示幅をActionScriptを使用して変更する事は可能でしょうか? 例えば20文字程度が表示できるテキストフィールドに30文字の文字列を表示させたい場合、テキストフィールドのサイズを広げたいのです。 最初から30にすればいいのではと思うかもしれませんが、構造上それは避けたいです。 良い方法を御存知の方がいらっしゃいましたらアドバイスをお願い致します。

    • ベストアンサー
    • Flash

専門家に質問してみよう