我已经阅读了几个关于同一主题的类似问题,但我仍未设法解决我的问题。 因为有一段时间我得到了OUT OF MEMORY错误;
这很奇怪,因为我总是在Matlab上工作,即使是比现在更大的矩阵和数据(~3百万行),也从未经历过这个问题;相反,从昨天开始,即使我尝试制作一个简单的零矩阵,我也会收到此错误。 顺便说一下,正如我告诉过你的,我看到了Mathworks的推荐 http://nl.mathworks.com/help/matlab/matlab_prog/resolving-out-of-memory-errors.html以及在此处发现的一些问题。 所以我 : 1)增加了分页大小设置初始大小10000 MB,最大大小12150 MB 2)将Java堆内存增加到2025 MB 3)再次写出将矩阵分成非常小的部分的代码
我的前提是我有一个8 GB RAM的Windows 64位机器。 如果我输入内存命令,我会得到:
有没有人知道我该怎么办?我有一种感觉,它与计算机有关,而不是与Matlab本身有关,但我想听听比我更有经验的人的意见:)
提前谢谢!!
谢谢Rollen Dsouza对你的评论,你是对的,这是我的罪名:
%% Investigation of negative peaks
%% main
clear all
close all
clc
cd('C:\Users\jemy\Downloads\CURRENT PROJECTS\SPIKE\code');
filename= 'Du-181014_D-ch27-Spikes_TimeStamps';
load(strcat('C:\Users\jemy\Desktop\SpikeS\', filename), 'Spikes');
load(strcat('C:\Users\jemy\Downloads\CURRENT PROJECTS\SPIKE\parameters\stend_', filename));
%% Splitting matrices
dim= size(Spikes, 1);
% First quarter of the file
sub_Spikes= double(Spikes(1:round(dim/16), :));
sub_stend= stend(1:round(dim/16), :);
clear Spikes;
clear Stend;
% Window where double minima will be searched
s= sub_stend(:, 14);
e= sub_stend(:, 5);
% Inizialization of results matrices
minima= zeros(size(sub_Spikes, 1), size(sub_Spikes, 2));
dev= zeros(size(sub_Spikes, 1));
注意:当前大小(sub_Spikes)为145377x46。
答案 0 :(得分:2)
您确定需要dev= zeros(size(sub_Spikes, 1))
还是忘了...,1)
?这是2.1134e + 10(145377 * 145377)元素,我的电脑也无法处理。
没有足够的声誉来评论。