大きな配列にメモリを事前に割り当てていますが、データを上書きするのではなく、新しいデータが配列の最後に追加されます。これを修正するにはどうすればよいですか。そのため、大きな配列にメモリを事前に割り当てることができます。
配列は 44101x5001 であることに注意してください。この例では、より小さな数値を使用しています。
例:
clear all
xfreq=zeros(10,10); %allocate memory
for ww=1:1:10
xfreq_new = xfreq(:,1)+1+ww;
xfreq=[xfreq xfreq_new]; %would like this to over write and append the new data where the preallocated memory of zeros are instead of appending to the end of it.
end
これを実行すると、ゼロを上書きするのではなく、1 を追加することがわかります。
アロハ・リック
うまくいけば、これは物事をよりよく説明します 割り当てられた配列
1)ゼロの割り当てられたメモリ
[0 0 0 0 0
0 0 0 0 0
0 0 0 0 0]
2)割り当てられたゼロのメモリを数字で上書きします。数字は数字の1だけでなく、何でもかまいません。例として数字の1を使用しました
[1 0 0 0 0
1 0 0 0 0
1 0 0 0 0]
3)割り当てられたメモリのゼロを数字でまだ上書きしています。数字は数字の1だけでなく、何でもかまいません。例として数字の1を使用しました
[1 1 0 0 0
1 1 0 0 0
1 1 0 0 0]
問題はこの行にあります xfreq=[xfreq xfreq_new]; 新しいデータの末尾に追加するのではなく、事前に割り当てられたゼロのメモリがある場所に新しいデータを上書きして追加することを希望します。終わり