dポイントプレゼントキャンペーン実施中!

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の定義のしかたがわからず困っております
初歩的な質問かもしれませんが教えてくださいよろしくお願いいたします

A 回答 (2件)

y1, y2 などを


yi なんかで参照できません.

セルを使って,
y{1} = 行列;
y{2} = 行列;

とかいれて

for i=1:2
Y{i} = 5*y{i};
end

とか
    • good
    • 0
この回答へのお礼

m0r1_2006さま
ありがとうございます
できました!

y{1} = [1 2 3]
y{2} = [4 5 6]
for i=1:2
Y{i} = 5*y{i}
end

非常に勉強になります
私の質問に答えていただく時間をつくっていただき
ありがとうございました
これを基にプログラムを作ってみます

お礼日時:2009/08/14 19:24

う~ん、良く分からん(笑)。



A、B、Cって何でしょ?実際は数値?

僕はMATLABなんて高価で買えないんで、互換ソフトと言われるOctave

GNU Octave:
http://www.gnu.org/software/octave/

使って試してみたんですが、例えば、

octave> Y = [1 2 3; 4 5 6]
Y =

1 2 3
4 5 6

とかなってれば、そのまま、

octave> 5 * Y
ans =

5 10 15
20 25 30

となって目的達成される筈なんですけどね。繰り返し構文なんて使う必要無いですよ。
例えば、

octave> y1 = [1 2 3]
y1 =

1 2 3

octave> y2 = [4 5 6]
y2 =

4 5 6

なんて設定してたら、Yを作るには、

octave> Y = [y1; y2]
Y =

1 2 3
4 5 6

とすれば済みますし。もうこれで5倍すれば良いのでは?
要素(と言うか行別)の取り出しは、

octave> Y(1, :)
ans =

1 2 3

octave> Y(2, :)
ans =

4 5 6


とすれば済みますしね。
    • good
    • 0
この回答へのお礼

cametan_42様
ありがとうございます

GNU Octaveさっそくインストールしました
これで部屋でもプログラムを勉強することができます

私も大学でMATLABを利用することになり
高価でとても個人では所有できません・・・

A B C等は実際には数値が入ります

参考のプログラムも書いていただきありがとうございました
非常に勉強になります

お礼日時:2009/08/14 19:18

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