![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
Matlab初心者です、よろしくお願いします。
Matlabであるmatファイルを1000個作りました。それぞれのファイル名は1~1000.matのような感じです。
中身はすべて7*250の配列で、それぞれ異なる値が入っています。
これまではfor文を使ってiをstring型にしてからloadで読み込んで、値を用いて計算するのを繰り返していました。
しかしこのままカレントディレクトリに1000個もmatファイル置いておくと、とても作業がしづらく邪魔です。
例えばこれを1つにまとめて使う方法や、うまいload方法、違うディレクトリを作成して、load時のみそのディレクトリを参照する方法などありましたら、ご教授していただけると助かります。
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
load foo/10.dat
とか書けば,subdirectory foo を見に行くし.
load ../foo/10.dat
とかかけば,1こ上のディレクトリの下の foo ディレクトリのデータを読むし,
ウィンドウズなら,
load d:/Temp/10.dat
で d ドライブ Temp ディレクトリの 10.dat を load します.
No.1
- 回答日時:
load自体は別のディレクトリからでも読み出せます。
load('ディレクトリ名\ファイル名.mat')
みたいにすればよいかと。
MatlabにString型ってありましたっけ?文字はchar型だったような…ってどっちでもいいですね。
まあプログラムの最初にaddpathでmatファイルを置いているディレクトリにパスを通しておいて、終わりにrmpathすれば途中の読み込み時にはディレクトリの指定なくloadできますけど、わざわざそんなことする必要もないでしょう。
>これまではfor文を使ってiをstring型にしてからloadで読み込んで
ループ変数にiを使われているということはC経験者でしょうか?
(私はプログラムのとっかかりがMatlabで、Matlabではiは虚数単位ですからループ変数にkを使うクセがあるのです)
Cをお使いでしたらsprintfはご存じですよね?
loadのfilenameにsprintfの出力が使えますので、
例えば
dir='ディレクトリ名';
としておいて、
load(sprintf('%s\\%d.mat',dir,i))
とすれば読み込めます。
この方法だと、例えば
1.mat、2.mat、…としているとファイル名でソートした時ファイルの順番がばらばらになってしまいますが、
sprintfが使えるのであればファイル名をあらかじめ0001.mat、0002.mat、…みたいにして
load(sprintf('%s\\%04d.mat',dir,i))
としてやることもできますね。
参考になれば幸いです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) 図に示す階層構造で,現在のディレクトリ(カレントディレクトリという)が*印のディレクトリであるとき, 2 2022/11/16 10:55
- その他(開発・運用・管理) フォルダの中にファルダを作成してファイルを格納するバッチコマンド 1 2022/06/30 11:39
- その他(開発・運用・管理) 【至急】.htaccessによるディレクトリ単位でのリダイレクト 2 2023/08/10 13:46
- Excel(エクセル) エクセルのファイルを複数のPCで同期する方法は? 7 2022/11/23 17:35
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- Windows 10 バッチファイルの記述法とルールについてアドバイスをお願いいたします。 1 2022/04/13 10:50
- その他(開発・運用・管理) バッチファイルで特定のファイル・ディレクトリ以外を削除する方法について 4 2022/05/31 14:03
- CGI CGIが読み書きするデータファイルのパーミッションはさくらのインターネットでは何にするべき? 1 2023/05/02 16:44
- C言語・C++・C# このプログラミング誰か教えてくれませんか 3 2022/05/13 17:27
- AJAX RPA(PowerAutomate)の実装について 1 2023/07/31 13:46
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
バッチを用いたフォルダの自動移動
-
Subversionのリポジトリの削除
-
現在位置より2つ上のディレク...
-
FTPコマンドでディレクトリごと...
-
rmdirでフォルダが消せません
-
Smartyのテンプレート置き場に...
-
VB2008でFTPでのディ...
-
CFileDialogの最初のディレクト...
-
LinuxからNASを使用したときの...
-
IIS+PHP スクリプトから仮想デ...
-
URLの最後にhtmがなぜ付くの?
-
Permission denied in
-
バッチファイルで特定ファイル...
-
PHPの実行結果画面について
-
phpでのログファイル自動削除に...
-
xamppでPHPを実行
-
Visual C++ 2005 Express Editi...
-
ツリーメニューを縮小させたい
-
makefile でファイルをコピーす...
-
HOSTSファイルについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
FTPコマンドでディレクトリごと...
-
CFileDialogの最初のディレクト...
-
バッチを用いたフォルダの自動移動
-
現在位置より2つ上のディレク...
-
fopenでファイルが開かない場合...
-
visualstudioでc#のdllができない
-
Subversionのリポジトリの削除
-
絶対パス?絶対アドレス?意味...
-
makefile でファイルをコピーす...
-
ファイル選択ダイアログで選択...
-
rmdirでフォルダが消せません
-
ファイルアップロードに関して...
-
【PHP】declare命令で”Fatal er...
-
[ ディレクトリ '.' は書き込み...
-
aspのページが表示できません
-
VB.NET 最下位のディレクトリ名...
-
glob関数で日本語文字が取得で...
-
図に示す階層構造で,現在のデ...
-
includeが出来ない訳とは?
-
環境変数をMakefile内で有効に...
おすすめ情報