三维图像生成问题 Out of memory
为了将数据生成三维曲面图,我写了下面程序;mk=importdata('D:\789\data0.txt'); xx = mk(:,1); yy = mk(:,2);
= meshgrid(xx,yy); zz = mk(:,3); mesh(xx,yy,zz)
不过运行后提示错误:
>> ??? Out of memory. Type HELP MEMORY for your options.
Error in ==> C:\MATLAB6p5\toolbox\matlab\elmat\meshgrid.m
On line 42==> yy = yy(:,ones(1, nx));
Error in ==> C:\MATLAB6p5\work\mypeaks.m
On line 4==> = meshgrid(xx,yy);
不知道是为什么,希望高手帮忙。
附上数据
[ 本帖最后由 ChaChing 于 2010-4-30 00:04 编辑 ] 内存不够,重启 matlab 试试。若问题依旧,请搜索版面寻找解决方法
[ 本帖最后由 ChaChing 于 2010-4-4 22:28 编辑 ] 理解错了,应该是数据量太大的问题,建议先清空下。
[ 本帖最后由 ChaChing 于 2010-4-30 00:05 编辑 ] 如果清空也不行呢? 在mesh之前
clear mk
实在没有办法,那就一块一块的画. 谢谢各位指点,。
不是可以理解为,要是我换台性能好的机器就可以运行了 ?而且还可以达到我的目的呢 ? 这个当然是治本的方法:lol
[ 本帖最后由 ChaChing 于 2010-4-29 22:12 编辑 ] 问题: zz = mk(:,3)得到的是向量, 用mesh(xx,yy,zz)会出错.
所以应该先拟合,再画图. 如楼上说,问题出现。不知如何修改,zz与xx,yy的关系是未知的啊 ...
[ 本帖最后由 支承点 于 2007-6-14 15:31 编辑 ] 用griddata或样条曲面拟合试试,应该是没有问题了.
观察了一下你的数据特点,建议用delaunay拟合后,再用trimesh画图,速度最快,效果也不错.
(用法自己一下help即可)
[ 本帖最后由 ChaChing 于 2010-4-30 00:02 编辑 ] 原帖由 xjzuo 于 2007-6-14 16:04 发表 http://www.chinavib.com/forum/images/common/back.gif
观察了一下你的数据特点,建议用delaunay拟合后,再用trimesh画图,速度最快,效果也不错.
(用法自己一下help即可)
26946
trimesh需要拓扑结构,有什么方法快速生成拓扑结构么?就是每个网格的节点号. 谢谢11楼的高手,我照你说的做了...写了下面一段:
clear all
clc
mk=importdata('D:\789\newsj.txt');
xx = mk(:,1);
yy = mk(:,2);
= meshgrid(xx,yy);
tri=delaunay(x,y);
z = mk(:,3);
clear mk
trimesh(tri,x,y,z)
grid on
还是提示错误,55555
不过这回错误变成是:
??? Error using ==> horzcat
All matrices on a row in the bracketed expression must have the
same number of rows.
数据的行数不同?我检查了啊,都是一样的行数啊...再请指教。
ps:如何直接发图啊 ?怎么没有看到?会了 .....
[ 本帖最后由 支承点 于 2007-6-15 08:42 编辑 ] 建议自己调试一下即可
[ 本帖最后由 ChaChing 于 2010-4-29 22:00 编辑 ]
页:
[1]