• 締切済み

matlabでfor文を使ってwork spaceの変数名を変えたい場

matlabでfor文を使ってwork spaceの変数名を変えたい場合はどうすればよいですか? 例えばwork spaceにa1,a2,a3,a4,a5いう行列を持つ変数があり、 それぞれの行列から2行目を全部取り出したい場合どうすればよいですか? ファイル名ならfor文で作れるのですが、変数名にはfor文は使えないのでしょうか? ファイル名ならstrcatやnum2strを使って作れますが・・・。 どなたかご教授ください!

みんなの回答

回答No.1

いまいち良くわからんが、 こういうことかな? a1=rand(3) a2=rand(3) a3=rand(3) a4=rand(3) a5=rand(3) for I=1:5; a=eval(sprintf('a%d',I)); a(2,:) end

関連するQ&A

  • matlabのfor文でのデータ取り込み

    matlabを使って.xlsxファイルの要素を抜き出して配列にしたいと思っています。 例えば、 [S1, header]=xlsread('sample.xlsx','A1001:A1100') ここでS1にA3000からA3100まで取り込めますが、これをS2にはA1101からA1200と同様に S3,S4とfor文で取り込み最終的にS10まで行いたいです。そして、 P=[S10; S9; ・・・・S1] として一つの行列にしたいのですが、for文を使って簡単にできないでしょうか? 取り込みと、一つの行列にする部分の二つをfor文で書き表したいです。 よろしくお願いします。

  • matlabを使用したfor文の計算

    matlabのfor文を使用し,計算をしています. for文を使用し計算すると, ans= ans=   ・   ・   ・ のような形で結果が出て,そのままファイルに出力すると最後の演算の結果のみが出力されてしまいます. この結果を縦に並べて行列の形で格納しなおしたのですが,この場合どのような式を組んだらいいのを教えていただければと思います.

  • matlabでファイルをn行目から変数に読み込む方法

    matlabでファイルをn行目から読み込む方法がわかりません。 具体的にはファイルの上9行に説明文が入っていて、10行目からtab区切りでn×m行列のデータが入っているファイルがあって、その中のn×m行列のデータを変数に代入したいのですが、その方法がわかりません。 loadで読み込もうとしたのですが上手くできません。もし読み込む方法があるのなら誰か教えてください。

  • MATLABの繰り返し文を用いたプログラム

    以下の様なプログラムを、一つ一つ入力しなくても、for文などを使って 簡単に出力するやり方知ってる人居ましたら教えてください。 ____________________________________________________________________ test= xlsread('test.xlsx');→あるエクセルファイルを読みだしている num=test(1:231,;);→ある行数を抽出している a1=num(2,:)./num(3,:);          a2=num(3,:)./num(4,:);           a3=num(4,:)./num(5,:);          : a230=num(231,:)./num(232,:); →a1~a230を求めている C = [a1;a2;a3...a229;a230] →上の行列をすべて結合させている _____________________________________________________________________ よろしくお願いします。

  • matlabのfor文について

    matlabについて基本的な質問があります. たとえば a1 = 11 a2 = 32 a3 = 53 a4 = 63 for i = 1:length(a1) ○○○ end for i = 1:length(a2)  ○○○ end for i = 1:length(a3)  ○○○ end for i = 1:length(a4)  ○○○ end の時に,for文を一つにまとめるにはどうすればいいですか?

  • 変数名を合成

    a12=input,value というのを str="a" num="12" eval(ste+num)=input.value のように、2つ以上の文字列をくっつけた変数名を 使う方法はありませんか?

  • 教えて下さい。for文内での変数宣言について

    Javaのプログラムで困っています。 for文内でfor分だけ変数を宣言したいのですが、 その際変数名に数字(ナンバリング)を付与した形にしたいと考えています。 例) String Test1 String Test2 : : 上記の様な場合、for文をどの様に作成したらいいですか? num = 5; for(int i = 0; i < num; i++){ String Test = null; } ⇒このままだと変数Testが1つしか出来ない・・・   変数の後にナンバリングしたいのですが上手くいきません。 numの数はユーザの指定で毎回変更されるため、 for文でその数だけ変数を作成したいと考えています。 どなたかご教授宜しくお願い致します。

    • ベストアンサー
    • Java
  • MATLABでのwhile文の条件について

    MATLABでのwhile文の条件について いつもお世話になっております。 MATLABでwhile文を用いる際、その条件として行列中の特定の次元の値が存在するかどうかという条件を用いたいと考えています。 例えばsize(a)=(10 10 50)のaという画像データを読む際に、a(:,:,1)から順番に読み込んでいって a(:,:,50)で自動に止まるようなwhile文を作りたいと考えています。 つまりこの場合は順番に読み込んでいって、a(:,:,51)が存在しないならばwhile文が終了するようなプログラムを行いたいと考えております。 for文を用いればすぐだとは思いますが、どのようなデータにも入力引数なしで応用が出来ないかと思いましてご質問させていただきました。 もし以上の条件を満たす適当な関数などございましたら、ご一報いただけたらと存じます。

  • for文の()内のメソッドは?

    普通、String型の変数strの長さを知りたいと 思ったら str.length() で調べると思うのですが、 for 文中では、こういう風になりますよね‥‥ for (int i=0; str.length; i++) ただ、while文の()内では、ちゃんとlengthメソッドの 後に()を付けていたはず。 for文の場合の()は特殊なのかなと思うのですが、 これってどういう理屈なのでしょうか? # ;(セミコロン)がどうも怪しい感じなのですが。

    • ベストアンサー
    • Java
  • MATLABのfor文の使い方について

    MATLAB(というかプログラム)初心者です 下記を教えてください よろしくお願いいたします 「つくりたいプログラム」 y1=[A B C] y2=[D E F] ・ ・ ・ y200=[AA BB CC] 上記のような200個くらいある行列に同じ操作をしたいです そこでいちばん簡単な構造を考えました ////////////////////// y1=[A B C] y2=[D E F] for i=1:2 Yi=yi*5 end ///////////// 成功イメージは Y1=[5A 5B 5C] Y2=[5D 5E 5F] となってほしいのですが回りません・・・ yiの定義のしかたがわからず困っております 初歩的な質問かもしれませんが教えてくださいよろしくお願いいたします