提示出错的问题也许是当前内存不足或者页面交换区被其他程序占用导致的。试试重启电脑,然后只运行 matlab 试试。如果问题依旧,那应该是矩阵太大造成的。两个解决方法:
1. 如果你只对部分数据进行操作,而非整个矩阵,则不需要申请那么大的空间来存放整个矩阵。例如,如果你每次只对 1*18000 的数据进行处理,则只需要申请 1*18000 大小的矩阵来存储,大不了用循环罢了。这是用时间换取空间的方法(事实上,大型矩阵处理时使用循环未必比不用循环慢)
2. 如果整个矩阵的数据是关联的(针对你的处理来说),可以考虑
稀疏矩阵进行申请、存取,这时候数据中的 0 不被存储下来,不过对于原始数据,这种方法不一定作用很大(0 元素不多),你试试吧