| 查看: 2243 | 回复: 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是自定义的函数 |
» 猜你喜欢
最失望的一年
已经有12人回复
拟解决的关键科学问题还要不要写
已经有8人回复
存款400万可以在学校里躺平吗
已经有29人回复
求推荐英文EI期刊
已经有5人回复
请教限项目规定
已经有4人回复
国自然申请面上模板最新2026版出了吗?
已经有20人回复
26申博
已经有3人回复
基金委咋了?2026年的指南还没有出来?
已经有10人回复
基金申报
已经有6人回复
疑惑?
已经有5人回复
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













回复此楼