アプリ版:「スタンプのみでお礼する」機能のリリースについて

MATLAB初心者で大変申し訳ありませんが、行列の格納の仕方がわからないので、投稿させていただきました。

for k = 1:1:10
k=k;
t(:,:)=load(sprintf('test%5.5i.txt',k));
end
具体的に言いますと、上記のプログラムで、test00001~test00010.txtというファイルを任意の行列t(:,:)で読み込んでいるのですが、このt(:,:)をkと対応させて、例えばk=1の場合のtをt[1]、k=2の場合のtをt[2]などの配列に格納し、それを自由に呼び出し、計算を行いたいと考えております。
基礎がわかっていないためにどうしていいかわかりません。
宜しく御願いします。

A 回答 (2件)

構造体を使うのが一番スマートでしょうか。



for k = 1:10
 FILE_DATA(k).t(:, :) = load(sprintf('test%5.5i.txt', k));
end

これで、FILE_DATA(1)~FILE_DATA(10)それぞれに行列tが格納されます。

この回答への補足

ご回答ありがとうございます。非常にわかりやすく、行列を格納することができました。追加でもう一つ教えていただきたいのですが、格納した行列に対して、同じ次元の行列と四則演算を行う場合、3列目のみを引き算する、2行目と5行目のみを足す、などの方法はあるのでしょうか?
素人でほんとに申し訳ありませんが宜しく御願いします。

補足日時:2007/11/22 03:31
    • good
    • 1

同サイズの行列A、Bがある場合



> 3列目のみを引き算する
ans = A(:, 3) - B(:, 3);

> 2行目と5行目のみを足す
ans = A([2 5], :) + B([2 5], :);

このような方法で可能です。
    • good
    • 1
この回答へのお礼

本当にありがとうございました。
非常に分かりやすかったです。

お礼日時:2007/11/25 13:43

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!