
No.4ベストアンサー
- 回答日時:
そうですね…
そもそもy(1)とかy(2)というものには値が1つしか入らないので、
そこに行列を入れることはできないですよね。
他の方が書かれているように、多次元配列で解決する、というのが1つの手だと思います。
もう1つの手としては、セル配列を使うというものがあるでしょう。
セル配列は、言うなれば変数の「入れ物」からなる配列です。(変数の名前は保持されません)
ですので、それぞれの配列に行列を入れることもできますし、
ある入れものには数値の行列を入れて、別の入れ物には文字列を入れて、なんてこともできますし、
入れ物の中に入れ物を入れることもできます(セル配列の1つの要素をセルにする)
ということで、
y=cell(10,1);
for i=1:10
y{i}=i*x;
end
とすることで1つのセル配列に全ての行列を入れることができます。
ただ、セル配列はそのあとの計算が面倒になるかも知れません。
例えば、多次元配列ならその全ての要素に1を足す、とか2倍する、という操作は簡単にできます(多分)が、
セル配列の場合は1つ1つのセルに対して操作してやる必要があります。
以上、参考になれば幸いです。
御礼が物凄く遅くなって申し訳ございません。
皆様にご回答いただく度にとても感謝していたのですが、
焦りすぎていて、御礼をするのを先延ばしにしてしまった結果
今更・・・という形になってしまいました。
心よりお詫び申し上げます。
ご親切にお答えくださって、本当にありがとうございました。
No.5
- 回答日時:
yをもう一つ次元を上げて3次元の行列にすればよいかと思います.
x=[1 2 3;3 4 5];
[xsize,ysize]=size(x);
y=zeros(xsize,ysize,10);
for i=1:10
y(:,:,i)=i*x;
end
つまり,最初の添え字は,行列をして,最後の行列は
番号を指定するような感じになります.
一応2009bですが動作は確認しました.
御礼が物凄く遅くなって申し訳ございません。
皆様にご回答いただく度にとても感謝していたのですが、
焦りすぎていて、御礼をするのを先延ばしにしてしまった結果
今更・・・という形になってしまいました。
心よりお詫び申し上げます。
ご親切にお答えくださって、本当にありがとうございました。
(ベストアンサーとさせていただけなく、申し訳ございません。
一つしか選べないのが心苦しいです。)
No.3
- 回答日時:
御礼が物凄く遅くなって申し訳ございません。
皆様にご回答いただく度にとても感謝していたのですが、
焦りすぎていて、御礼をするのを先延ばしにしてしまった結果
今更・・・という形になってしまいました。
心よりお詫び申し上げます。
ご親切にお答えくださって、本当にありがとうございました。
No.2
- 回答日時:
>「添え字でy(1),y(2),y(3)、、、というように順々にyに異なる行列を格納していきたいが、y(i)では行列と次元が異なり不適切なのでどのようにyに添え字をつければ行列を格納できるのでしょうか」
ということです。文章がわかりにくく申し訳ございません。
少し分かりましたが、y行列のサイズがわかりません?もしxより大きければ、それをy内にどう配置するかというプログラミングになりますが、もしyがxと同じサイズで複数必要であれば3次元行列という方法を使わないといけません。y(i,j,k)のkでk種類のy行列が作れます。
>(matlabではあまりfor文を使わないほうがいいようなことを聞いたのですが、この場合for文を使わないとどうなるでしょうか。)
別にforを使って問題ないと思います。for使わないとwhileとかifで代用しますが、余計分かりにくくなると思います。
御礼が物凄く遅くなって申し訳ございません。
my3027さんは3回もご返答くださったのですよね。
本当にありがとうございました。
皆様にご回答いただく度にとても感謝していたのですが、
焦りすぎていて、御礼をするのを先延ばしにしてしまった結果
今更・・・という形になってしまいました。
心よりお詫び申し上げます。
ご親切にお答えくださって、本当にありがとうございました。
(ベストアンサーとさせていただけなく、申し訳ございません。
一つしか選べないのが心苦しいです。)
No.1
- 回答日時:
xは3X3の正方行列ですか?
>行列を、このように「i番目」といった添え字のついた変数に代入するには、どうしたらよいのでしょうか。
この文の意味が不明です。「i番目」といった添え字のついた変数とは何ですか?
ちなみにプログラムだと、3X3の正方行列にiという整数(1~10)をかけて行列yに格納したいように読めます(y(1)は間違いですが)。その意図であってますか?
この回答への補足
xは2行3列です(xの大きさはなんでもかまわないのですが)。
おっしゃる通り、y(1)は間違いでy(i)と打ったつもりでおりました。
その意図であっております。
すなわち、
「添え字でy(1),y(2),y(3)、、、というように
順々にyに異なる行列を格納していきたいが、
y(i)では行列と次元が異なり不適切なので
どのようにyに添え字をつければ行列を格納できるのでしょうか」
ということです。
文章がわかりにくく申し訳ございません。
(matlabではあまりfor文を使わないほうがいいようなことを
聞いたのですが、この場合for文を使わないとどうなるでしょうか。)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 工学 ロジスティック方程式について 1 2022/05/14 21:44
- Visual Basic(VBA) ExcelVBAで質問です。離れた二次元配列を一つにしたい 4 2022/07/26 19:06
- Java 改行含むテキストの表示の仕方 1 2023/06/13 06:44
- Visual Basic(VBA) batにて、異なるフォルダの同名ファイルを参照し、文字列を判別。擬似配列で変数へ格納 3 2022/04/10 03:37
- Visual Basic(VBA) Sheet1のA列にコードB列にメアド、Sheet2のB列にコード一覧とD列にメアド一覧があり、Sh 3 2022/10/19 11:57
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- Visual Basic(VBA) 指定列最終行までのスペースを改行するVBAについて 2 2022/06/01 19:50
- Excel(エクセル) VBA オリジナル関数で選択セルの合計を作成したい 3 2023/03/19 19:45
- その他(プログラミング・Web制作) Pythonでこのプログラミングを作りたいのですが 1 2022/10/24 18:56
- Visual Basic(VBA) VBAでのMATCH関数 3 2022/10/17 19:06
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
配列数式の解除
-
配列変数の添字が範囲外ですと...
-
MATLABにて場合分け関数を定義...
-
1-10をランダムに並べる
-
subの配列引数をoptionalで使う...
-
配列に同じ値を入れる方法
-
AES暗号にて、AES_set_encrypt_...
-
VLOOKUP関数で、一番下...
-
【VBA】配列とWorksheetFunctio...
-
テキストボックスの表示
-
配列の定義
-
配列を任意の数値で埋める方法
-
ビンゴ
-
VBAで近似曲線の係数取得
-
配列の内容に重複をなくすには...
-
教えて下さい
-
エクセルで特定の列が0表示の場...
-
UserForm1.Showでエラーになり...
-
マクロの連続印刷が突然不可能...
-
特定のPCだけ動作しないVBAマク...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
配列数式の解除
-
2つ以上の変数を比較して最大数...
-
VBA 1次元配列を2次元に追加する
-
特定のセル範囲で4文字以上入力...
-
ListViewで、非表示列って作れ...
-
配列変数の添字が範囲外ですと...
-
VB6 配列を初期化したい
-
subの配列引数をoptionalで使う...
-
《エクセル2000》A列・B列の商...
-
2次元動的配列の第一引数のみを...
-
ビンゴ
-
for each の現在の配列ポインタ...
-
配列に同じ値を入れる方法
-
配列を任意の数値で埋める方法
-
配列内の内容を全て表示する方法
-
Excel-VBAの配列「Public Const...
-
エクセルVBAの配列二重ループ処...
-
Array配列の末尾に追加したい。
-
MATLABにて場合分け関数を定義...
-
エクセルで最小値から0を除く方法
おすすめ情報