• ベストアンサー

MATLABでの行列操作

基本的な質問かもしれないので、申し訳ないですが、 a = [1,2,3,4,5,6,7,8,9] のような行ベクトルを3行3列、 b = 1 2 3 4 5 6 7 8 9 にする方法など、ありますでしょうか? ただし、この質問ではわかりやすいように数字1~9を使っていますが、実際にはそれぞれ任意の数とします。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • rabbit_cat
  • ベストアンサー率40% (829/2062)
回答No.2

reshape(a,3,3)

参考URL:
http://dl.cybernet.co.jp/matlab/support/manual/r13/toolbox/matlab/ref/reshape.shtml
akt018
質問者

お礼

ありがとうございます!(先日もありがとうございました) reshapeですね、言われてから「ああ!」って気付きました、、すみません。。。 参考URLもありがとうございます。 これからはまずそこで調べてみようと思います。 また何かありましたらよろしくお願いします。

その他の回答 (1)

  • coldplay
  • ベストアンサー率21% (21/98)
回答No.1

3と4、6と7の間に「;」を入れます。つまり a=[1,2,3 ; 4,5,6 ; 7,8,9] です。

akt018
質問者

お礼

回答ありがとうございます。 質問の内容がうまく伝わらなくて申し訳ないのです。 手作業でご回答の通り打ち込めばすぐ出来るのですが・・・ 例えば、 a = rand(1,10000) で出した行ベクトルをファイルとして保存しておいたとして、 あとで読み込んだときに、 b = 100行100列 の行列にしたい場合(aの最初の1~100データがbの1行目、101~200データがbの2行目、・・・、というようにする場合)、手作業では時間がかかります。 このようなことを楽に出来ないのかを調べております。 何か方法がありましたらよろしくお願いします。

関連するQ&A

専門家に質問してみよう