检查MATLAB需要多少内存

检查MATLAB需要多少内存,matlab,memory,Matlab,Memory,我想知道是否有一种方法可以知道一个函数或MATLAB中的一个会话需要多少内存 例如,当MATLAB发送内存不足的错误时,操作系统(Windows和/或Linux)是否注册了MATLAB请求超出操作系统所能提供的内存的事件 一种选择是调用: dbstop if error 当抛出错误时,MATLAB将进入调试模式并跳转到有问题的行,这样您可以找到请求的内存量…一个选项是调用: dbstop if error 当抛出错误时,MATLAB将进入调试模式并跳转到有问题的行,这样您可以找到请求的内存量

我想知道是否有一种方法可以知道一个函数或MATLAB中的一个会话需要多少内存

例如,当MATLAB发送内存不足的
错误时,操作系统(Windows和/或Linux)是否注册了MATLAB请求超出操作系统所能提供的内存的事件

一种选择是调用:

dbstop if error
当抛出错误时,MATLAB将进入调试模式并跳转到有问题的行,这样您可以找到请求的内存量…

一个选项是调用:

dbstop if error

当抛出错误时,MATLAB将进入调试模式并跳转到有问题的行,这样您可以找到请求的内存量…

谢谢@Amro,您介意再详细说明一下您的答案吗?基本上,这是一种在出现错误(如“内存不足”)时告诉MATLAB进入调试模式的方法。一旦发生这种情况,它将打开指向导致错误的行的编辑器。然后,您可以用调试时的相同方式进行交互;例如,如果行是
x=rand(N)
您可以使用命令提示符或将鼠标悬停在变量
N
上,找到
N
的值-在本例中,让我们假设类似
N=10000
这样的大值,从而尝试分配10000*10000*8字节。内存函数应该告诉我们有多少内存可用@Amro占用很多内存。我不知道dbstop出错了,这是一个很棒的技巧!我经常使用
键盘
进入调试模式,并在其中有机地增长代码。我想我还是很好奇,是否有更直接的方法来检查MATLAB在内存不足时会询问多少内存。
dbstop if error
相当于菜单项Debug->Stop if Errors/Warnings,它显示所有与出错相关的
dbstop
/
dbclear
命令。它可能是我最常用的菜单项。我不相信有什么方法可以直接从MATLAB获得关于它试图分配多少内存的答案。我刚刚试着在
上使用
profile-memory对一个
rand(10000)
进行评测,没有分配失败的行的内存统计信息。(感谢未记录的MATLAB提供此分析器提示。)感谢@Amro,您介意再详细说明一下您的答案吗?基本上,这是一种在出现错误(如“内存不足”)时告诉MATLAB进入调试模式的方法。一旦发生这种情况,它将打开指向导致错误的行的编辑器。然后,您可以用调试时的相同方式进行交互;例如,如果行是
x=rand(N)
您可以使用命令提示符或将鼠标悬停在变量
N
上,找到
N
的值-在本例中,让我们假设类似
N=10000
这样的大值,从而尝试分配10000*10000*8字节。内存函数应该告诉我们有多少内存可用@Amro占用很多内存。我不知道dbstop出错了,这是一个很棒的技巧!我经常使用
键盘
进入调试模式,并在其中有机地增长代码。我想我还是很好奇,是否有更直接的方法来检查MATLAB在内存不足时会询问多少内存。
dbstop if error
相当于菜单项Debug->Stop if Errors/Warnings,它显示所有与出错相关的
dbstop
/
dbclear
命令。它可能是我最常用的菜单项。我不相信有什么方法可以直接从MATLAB获得关于它试图分配多少内存的答案。我刚刚试着在
上使用
profile-memory对一个
rand(10000)
进行评测,没有分配失败的行的内存统计信息。(感谢未记录的MATLAB提供此分析器提示。)