1

V_t*ei 番目の列がV_t = 1000*10^((i-1)/20)で構成されるようなサイズ 121x101 のベクトルを作成しようとしていますe

明らかiに 1 から 1 億 100 万まで変化させる必要がありますが、結果の最終値を生成するだけでなく (コマンドを繰り返さずにすべての列にこれを適用する)、マトリックスに適用するにはどうすればよいでしょうか?

4

1 に答える 1

2

あなたの質問から、各行は同じように見えます。したがって、次のようにREPMATを使用して 1 行だけを計算できます。

iRow = 1:101;
V_t = 1000*10.^((iRow-1)/20);
V_te = repmat(V_t,121,1);

e行 1 を 1、行 2 を 2 などにしたい場合は、NDGRID を使用しei出力(i,j)と同じサイズの 2 つの配列を作成できます。

[ee,ii] = ndgrid(1:121,1:101);
V_te = 1000*10.^((i-1)/20) .* ee;

または、BSXFUNを使用して拡張を行うeことができiます。

iRow = 1:101;
V_t = 1000*10.^((iRow-1)/20);
V_te = bsxfun(@times,V_t,(1:121)');
于 2011-03-02T13:09:33.747 に答える