| 查看: 2232 | 回复: 4 | |||
[求助]
matlab如何以循环语句形式将三维数组存储成多个asc格式的文件
|
|
各位大神,我遇到个问题,想将一个三维数组(20*35*16)以循环语句的形式存储成多个二维数组(就是存储成16个20*35的矩阵)的asc格式文件,如何才能实现,请知道的帮个忙,谢谢! 以下是我写的一个小程序,但陷入了死循环。 T=TDEx; %TDEx是20行35列16页的三维数组 n=size(T,3); for ii=1:n b{ii}=T(:,:,ii); xll=20.5; yll=137.5; cellsize=0.004; NODATA_value=-9999; ascWrite('b{ii}.asc',xll,yll,cellsize,NODATA_value,b{ii}); end 其中,ascWrite是自定义的函数 |
» 猜你喜欢
磺酰氟产物,毕不了业了!
已经有4人回复
论文终于录用啦!满足毕业条件了
已经有16人回复
求个博导看看
已经有19人回复
投稿Elsevier的杂志(返修),总是在选择OA和subscription界面被踢皮球
已经有8人回复
libralibra
至尊木虫 (著名写手)
骠骑将军
- 程序强帖: 40
- 应助: 817 (博后)
- 金币: 12914.1
- 红花: 64
- 帖子: 2238
- 在线: 287.3小时
- 虫号: 696514
- 注册: 2009-02-05
- 专业: 计算机软件

2楼2013-06-24 17:47:01
|
网上的代码,直接用了 function ascWrite(fileName, xllcorner, yllcorner, cellsize, NODATA_value, Z) %存储为asc文件 % Example: % Z = peaks(100); % Z(Z < 0.5)=-3721; % xllcorner = 10; yllcorner = -4; cellsize = 0.5; NODATA_value = -3721; % ascWrite('testWriteasc.asc', xllcorner, yllcorner, cellsize, NODATA_value, Z); % 全球 % xllcorner = -180; yllcorner = -80; cellsize = 0.5; NODATA_value = -3721; %% [nx,ny] = size(Z); x1 = xllcorner:cellsize:xllcorner+(nx-1)*cellsize; y1 = yllcorner:cellsize:yllcorner+(ny-1)*cellsize; [xx, yy] = meshgrid(x1,y1); Z(Z == NODATA_value) = NaN; arcgridwrite(fileName, xx, yy, Z); |
3楼2013-06-25 15:44:03
libralibra
至尊木虫 (著名写手)
骠骑将军
- 程序强帖: 40
- 应助: 817 (博后)
- 金币: 12914.1
- 红花: 64
- 帖子: 2238
- 在线: 287.3小时
- 虫号: 696514
- 注册: 2009-02-05
- 专业: 计算机软件

4楼2013-06-25 16:16:32
5楼2017-11-06 18:40:52







回复此楼