Als «matlab» getaggte Fragen

MATLAB ist eine von MathWorks entwickelte Hochsprache und interaktive Programmierumgebung für die numerische Berechnung und Visualisierung. Verwenden Sie nicht die Tags [matlab] und [octave], es sei denn, die Frage bezieht sich explizit auf die Ähnlichkeiten oder Unterschiede zwischen den beiden. Wenn Sie dieses Tag verwenden, geben Sie bitte die MATLAB-Version an, mit der Sie arbeiten (z. B. R2017a).



5
Wie kann man eine Matrix "kopieren", ohne eine temporäre Matrix im Speicher zu erstellen, die einen Speicherüberlauf verursacht?
Durch Zuweisen einer Matrix zu einem viel größeren zugewiesenen Speicher dupliziert matlab sie irgendwie, während sie "kopiert" wird. Wenn die zu kopierende Matrix groß genug ist, kommt es zu einem Speicherüberlauf. Dies ist der Beispielcode: main_mat=zeros(500,500,2000); n=500; slice_matrix=zeros(500,500,n); for k=1:4 parfor i=1:n slice_matrix(:,:,i)=gather(gpuArray(rand(500,500))); end main_mat(:,:,1+(k-1)*n:1+(k-1)*n+n-1)=slice_matrix; %This is where the memory …
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.