ding6860138 发表于 2014-5-18 07:59

关于大数据量的MATLAB绘图问题

小弟这几天在做三维谱图的时候需要绘制一个400×32768个点的三维图,用mesh画出来之后在关闭图形窗口或者调整图形角度的时候总是陷入死循环,提示是too many objects created while deleting axes children;removing DeleteFcnof all descendants to prevent infinite loop。是因为数据量过大造成的问题吗?求解决方法啊,拜谢。

梦夕丶 发表于 2014-5-18 11:24

不懂,互勉之

牛小贱 发表于 2014-5-18 14:05

请LZ将数据及相关程序上传,方便大家解答~

ding6860138 发表于 2014-5-18 21:30

牛小贱 发表于 2014-5-18 14:05
请LZ将数据及相关程序上传,方便大家解答~

程序是做HHT分析中的toimage.m,程序本身没有问题,进过程序之后得到一个矩阵im是400×32768个点的,然后简单mesh(im)就出现了上面的问题

ChaChing 发表于 2014-5-19 14:18

随便试下
clc;clear; aa=rand(400,32768); mesh(aa)
没试出LZ所说的情况及报错误!

直觉猜测, 是否是内存问题造成!?
要不LZ试下一较小矩阵, 看是否情况一样?

ding6860138 发表于 2014-5-19 22:21

ChaChing 发表于 2014-5-19 14:18
随便试下
clc;clear; aa=rand(400,32768); mesh(aa)
没试出LZ所说的情况及报错误!


刚刚用您说的步骤试了下,还是死机。小矩阵就没有问题,大矩阵就死机。我是4G内存,32位的win7系统。2009b的matlab,请问您是用的多大内存呢?系统呢?下面是截图。

猫头鹰先生 发表于 2014-5-20 09:16

你这样是不能解决问题的,把数据传上来啊,一起解决。{:{39}:}

ChaChing 发表于 2014-5-20 10:49

ding6860138 发表于 2014-5-19 22:21
刚刚用您说的步骤试了下,还是死机。小矩阵就没有问题,大矩阵就死机。我是4G内存,32位的win7系统。2009 ...

早上google了下,并上官网搜索了一下,好像还没很好解决
但可以确定个人猜测很接近,就是内存不足了
早上又单位年轻人帮我试下,400*33000在64位元机械,是慢但还没死机,不过更大一样死
供参考下

ChaChing 发表于 2014-5-20 10:51

猫头鹰先生 发表于 2014-5-20 09:16
你这样是不能解决问题的,把数据传上来啊,一起解决。

应该与数据无关
clc;clear; aa=rand(400,33000); mesh(aa)

Posion 发表于 2014-5-20 11:10

我的配置和你也差不多,也是32bit的
可以执行下面的语句,画出图来,但是关闭figure的时候出现和你一模一样的问题
换64位的机器看看

clc;clear; aa=rand(400,33000); mesh(aa)

ding6860138 发表于 2014-5-20 15:42

ChaChing 发表于 2014-5-20 10:49
早上google了下,并上官网搜索了一下,好像还没很好解决
但可以确定个人猜测很接近,就是内存不足了
早上 ...

非常感谢您,看来果然是数据量太大,只能考虑截断或者降低分辨率了。

ding6860138 发表于 2014-5-20 15:44

Posion 发表于 2014-5-20 11:10
我的配置和你也差不多,也是32bit的
可以执行下面的语句,画出图来,但是关闭figure的时候出现和你一模一 ...

看来果然是通病啊,但是如果用imagesc把矩阵画成平面图就没有问题,也有可能是mesh命令太占内存了吧。

ding6860138 发表于 2014-5-20 15:47

猫头鹰先生 发表于 2014-5-20 09:16
你这样是不能解决问题的,把数据传上来啊,一起解决。

这个貌似和数据真的没啥关系,应该还是matlab本身的问题

yghit08 发表于 2014-5-20 16:38

Matlab自身有最大数据限制,也和版本以及系统有关,貌似

sir88 发表于 2014-5-23 13:59

真是个好问题,研究研究{:{03}:}
页: [1]
查看完整版本: 关于大数据量的MATLAB绘图问题