内存管理函数
- emory:显示可用内存
- hos:显示给工作区分配了多少内存
- pack:把已经存在的变量保存到磁盘
- clear:从内存中删除变量
- save:有选择的把变量保存到磁盘
- load:把已经保存的数据文件用load函数重新载入。
- quit:退出MATLAB,并返回所有分配的内存到系统中。
怎么高效使用内存
压缩内存的使用
1.仅导入需要的文件大小
2.以块为单位处理数据
3.避免建立较大的临时数组
4.使用嵌套函数来传递数据
使用适当的数据存储方式
- 适当的数据类型
- 读入文件时选择适当的数据类型(默认读入的按double保存)
fid=fopen('large_file_of_uint8s.bin','r');
a=fread(fid,le3,'uint8');
a=fread(fid,le3,'uint8=>uint8');
-尽可能使用稀疏矩阵(只存储非零元素和它们的位置)
避免数据碎片状存储
多用pack()函数
内存回收
自己用
clear Var1,Var2…
回收。
或者通过PC的系统和存储硬件来解决“Out of Memory”问题
程序调试和优化
使用直接调试法
- 去掉怀疑语句的分号
- 在疑问语句附件添加显示某些关键变量的语句、
- 在程序适当位置添加keyboard,K>> 可以查看或者修改变量的数值。在提示符输入return命令之后继续执行。
- 利用echo命令,运行程序时在命令窗口逐行显示正在执行的代码。
遇到更复杂的就需要
使用Debugger窗口调试
实际就是M文件编辑器,使用函数折叠和断点设置。会出现k>>,输入想查看值的符号即可查看。
在命令行窗口调试
懒的写了
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)