相关疑难解决方法(0)

MATLAB与命名空间最接近的是什么?

我的实验室里有很多MATLAB代码.问题是没有办法组织它.由于所有函数都必须在同一个文件夹中调用(或者你必须在MATLAB的path环境变量中添加一堆文件夹),似乎我们注定在同一个文件夹中有大量文件,全都在全局命名空间.有没有更好的方法来组织我们的文件和功能?我真的希望有某种模块系统......

matlab namespaces

53
推荐指数
4
解决办法
1万
查看次数

打开太多数字时如何避免MATLAB崩溃?

有时我会启动一个MATLAB脚本并意识到太晚了,它会输出太多的数字.最终我得到了一个

线程"AWT-EventQueue-0"中的异常java.lang.OutOfMemoryError:Java堆空间

这可以很容易地在我的机器上使用

for i=1:inf
  figure;
end
Run Code Online (Sandbox Code Playgroud)

在使用128 MB Java堆的标准设置(首选项/ Java堆内存)崩溃之前,我得到大约90个数字,而将堆加倍到256 MB则给出了大约200个数字.

您是否看到了避免 Java错误消息的方法?如果没有足够的内存供另一个人使用,我希望我的脚本能够被告知而不是崩溃.

也许我可以有一个包装器figure(以某种方式?)检查有多少Java堆可用,如果没有足够的空间,它会拒绝打开一个新的数字?

更新

使用下面的答案,我得到了一个很好的图表,说明Memory Java有多少可用内容:

figure; plot(freeMem/1E6,'x'); ylabel('java.lang.Runtime.getRuntime.freeMemory [MB]'); xlabel('创建的空数字');

这是使用

for i=1:inf
    java.lang.Runtime.getRuntime.gc
    fprintf('%3.0f: %1.0f Byte free\n',i,java.lang.Runtime.getRuntime.freeMemory);
    figure;
end
Run Code Online (Sandbox Code Playgroud)

我假设开头的增加意味着垃圾收集每次调用它时只会做一些努力吗?

更新2 - 我的解决方案

使用我在这里获得的帮助,我实现了以下解决方案作为figure.m重载并调用内置figure命令:

function varargout=figure(varargin)
memcutoff = 10E6; % keep at least this amount of bytes free
memkeyboard= 3E6; % if memory drops below this, interrupt execution and go to keyboard mode
global refuse_new_figures
if refuse_new_figures
    warning('jb:fig:lowjavamem2','Java WAS …
Run Code Online (Sandbox Code Playgroud)

java matlab heap-memory jvm-crash

15
推荐指数
1
解决办法
9152
查看次数

在MATLAB中消除警告消息

有时,根据图像的大小,当我addframe在MATLAB中调用2D图像添加到视频时,我收到以下警告消息.

警告:根据指定的编解码器的要求,帧高已填充为四的倍数.在127的avifile.addframe中

我的问题是:

  1. 有没有办法沉默像这样的特定警告?如果是这样,是否可以在我的代码中的变量中捕获警告(即类似于try&catch异常机制),而不是让MATLAB在命令窗口中打印此警告?

  2. 如果以上是不可能的.有没有办法暂时在MATLAB中静音所有警告

matlab

5
推荐指数
1
解决办法
8815
查看次数

如何在显示非常大的数组时挂断MATLAB IDE?

假设我正在使用MATLAB IDE并且碰巧在我的工作空间中有一些非常大的对象(例如500k +元素的数组).现在,假设我愚蠢地偶然双击其中一个非常大的变量,这会触发对数组编辑器的加载.不幸的是,对于这么大的数组,MATLAB只是挂起.

我尝试过CTRL + C,CTRL + BREAK,CTRL + D,但似乎没有人能够中断IDE的行为.我知道我可以强制matlab退出,但是首先将所有这些变量读入工作区需要花费很多时间,而且我可能在编辑器窗口中有未保存的更改等.

ide matlab hang

2
推荐指数
1
解决办法
2653
查看次数

标签 统计

matlab ×4

hang ×1

heap-memory ×1

ide ×1

java ×1

jvm-crash ×1

namespaces ×1