24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1844  |  回复: 7

yixiansheng

银虫 (小有名气)

[求助] 求助--输入数据画三维立体图

附件中的二进制文件是一个512*512的二维数组,每个元素4个字节。
我想做个三维图,x,y都是从0到511,每个元素的值就是高。
请高手帮忙,有代码最好了。
回复此楼

» 本帖附件资源列表

  • 欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
    本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com
  • 附件 1 : data.dat
  • 2012-04-04 23:33:36, 1 M

» 收录本帖的淘帖专辑推荐

申请留学

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dbb627

荣誉版主 (著名写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
xiegangmai: 金币+1, 专家考核, 谢谢应助! 2012-04-05 11:42:37
yixiansheng: 金币+10, 有帮助, 多谢热心帮忙,已曲线解决问题 2012-04-06 17:53:24
>> [x,y]=meshgrid(0:511);
>> Z=rand(512);%这里应该是data的矩阵,你的data文件有点问题,matlab不认。
>> mesh(x,y,Z)
The more you learn, the more you know, the more you know, and the more you forget. The more you forget, the less you know. So why bother to learn.
2楼2012-04-05 09:36:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yixiansheng

银虫 (小有名气)

引用回帖:
2楼: Originally posted by dbb627 at 2012-04-05 09:36:41:
>> =meshgrid(0:511);
>> Z=rand(512);%这里应该是data的矩阵,你的data文件有点问题,matlab不认。
>> mesh(x,y,Z)

你好,请问我将文件转化成什么样子,matlab才能顺利读入?
3楼2012-04-05 10:02:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xiegangmai

版主 (职业作家)

我没头衔

优秀版主优秀版主优秀版主


臭水沟: 金币+1, 谢谢交流~~ 2012-04-05 14:33:05
引用回帖:
3楼: Originally posted by yixiansheng at 2012-04-05 10:02:22:
你好,请问我将文件转化成什么样子,matlab才能顺利读入?

数据是什么格式的啊?
在matlab中导入是空的。
明德厚学、求是创新
4楼2012-04-05 11:46:47
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yixiansheng

银虫 (小有名气)

引用回帖:
4楼: Originally posted by xiegangmai at 2012-04-05 11:46:47:
数据是什么格式的啊?
在matlab中导入是空的。

4个字节一个数据
5楼2012-04-05 12:01:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yixiansheng

银虫 (小有名气)

引用回帖:
5楼: Originally posted by yixiansheng at 2012-04-05 12:01:28:
4个字节一个数据

是用C语言生成的一个二维矩阵。
6楼2012-04-05 12:12:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yixiansheng

银虫 (小有名气)

引用回帖:
6楼: Originally posted by yixiansheng at 2012-04-05 12:12:03:
是用C语言生成的一个二维矩阵。

我在百度上(http://zhidao.baidu.com/question/175906491.html?si=9)找了一种方法,但是好像只能应用于少量数据。附件中是转化后的数据,文本保存,x,y,z值。

A=load('E:\matlab.dat');
x=A(:,1);y=A(:,2);z=A(:,3);
[X,Y,Z]=meshgrid(x,y,z,linspace(0,511),linspace(0,511),'v4');
figure,surf(X,Y,Z)

运行后显示:
??? Maximum variable size allowed by the program is exceeded.

Error in ==> griddata>gdatav4 at 229
d = xy(:,ones(1,length(xy)));

Error in ==> griddata at 96
    zi = gdatav4(x,y,z,xi,yi);

如何解决这个问题啊???????

=========================================
附:
内存信息
>> feature memstats

    Physical Memory (RAM):
        In Use:                              470 MB (1d65a000)
        Free:                                553 MB (22922000)
        Total:                              1023 MB (3ff7c000)
    Page File (Swap space):
        In Use:                              385 MB (1813c000)
        Free:                               1307 MB (51b69000)
        Total:                              1692 MB (69ca5000)
    Virtual Memory (Address Space):
        In Use:                             1232 MB (4d00a000)
        Free:                                815 MB (32fd6000)
        Total:                              2047 MB (7ffe0000)
    Largest Contiguous Free Blocks:
         1. [at 4c280000]                    235 MB (0eb40000)
         2. [at 68e40000]                    139 MB (08bd0000)
         3. [at 62c29000]                     97 MB (061f7000)
         4. [at 5fe25000]                     45 MB (02dfb000)
         5. [at 5adf7000]                     35 MB (02379000)
         6. [at 5d20a000]                     29 MB (01d06000)
         7. [at 746cc000]                     28 MB (01c34000)
         8. [at 7dd84000]                     25 MB (0196c000)
         9. [at 0e941000]                     22 MB (016bf000)
        10. [at 7a9c8000]                     22 MB (01678000)
                                            ======= ==========
                                             682 MB (2aa58000)

--------------------------------------------------------------
>> java.lang.Runtime.getRuntime.maxMemory

ans =

   264634368

>>

» 本帖附件资源列表

  • 欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
    本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com
  • 附件 1 : matlab.dat
  • 2012-04-05 20:20:17, 6 M
7楼2012-04-05 20:28:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yixiansheng

银虫 (小有名气)

引用回帖:
7楼: Originally posted by yixiansheng at 2012-04-05 20:28:09:
我在百度上(http://zhidao.baidu.com/question/175906491.html?si=9)找了一种方法,但是好像只能应用于少量数据。附件中是转化后的数据,文本保存,x,y,z值。

A=load('E:\matlab.dat');
x=A(:,1);y=A(:,2) ...

[X,Y,Z]=meshgrid(x,y,z,linspace(0,511),linspace(0,511),'v4');
应为:
[X,Y,Z]=griddata(x,y,z,linspace(0,511),linspace(0,511),'v4');
8楼2012-04-05 20:29:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 yixiansheng 的主题更新
信息提示
请填处理意见