1

これを Matlab コードに変換する必要があり、「テーブル」機能なしで苦労しています。

Table[{i,1000,ability,savingsrate,0,RandomInteger[{15,30}],1,0},{i,nrhhs}];

基本的に、これらの値はすべて単なる数値であり、関数ハンドルまたは for ループを使用する必要があると思います。私は専門家ではないので、本当に助けが必要ですか?

4

2 に答える 2

0

あなたが与えた「テーブル」の例は、nrhhs サブリストのリストを作成します。それぞれに 8 つの数字 (i、1000、能力、貯蓄率、0、15 から 30 までのランダムな整数、1、および 0) が含まれます。これは本質的に (厳密ではありませんが) nrhhs x 8 行列と同じです。

ただし、行列を出力したいだけだと仮定すると、Matlab の類似の for ループは次のようになります。

result = zeros(nrhhs,8); % preallocate memory for the result
for i = 1:nrhhs
    result(i,:) = [i 1000 ability savingsrate 0 randi([15 30]) 1 0];
end

この方法は、yuk の回答 (for ループを回避するためにベクトルをより効率的に使用する) よりも遅い可能性がありますが、Matlab にどれだけ精通しているかによっては、少し簡単に分離できる場合があります。

于 2013-04-16T21:26:06.523 に答える