![]() |
求高手帮看下~高程数据导入矩阵的问题出在哪里
用的是GTOPO30的高程数据,每1弧度距离采样120次,m文件就是这样了
fullfile(matlabroot,'E:\MATLAB7\work'); file1 = 'E060N90.DEM';%指定数字高程文件 [map1,maplegend] = GTOPO30(file1,2,[40 50],[70 100]); %文件名,采样系数,纬度范围,经度范围 fullfile(matlabroot,'E:\MATLAB7\work'); file2 = 'E100N90.DEM'; [map2,maplegend] = GTOPO30(file2,2,[40 50],[100 140]); fullfile(matlabroot,'E:\MATLAB7\work'); file3 = 'E060N40.DEM'; [map3,maplegend] = GTOPO30(file3,2,[15 40,[70 100]]); fullfile(matlabroot,'E:\MATLAB7\work'); file4 = 'E100N40.DEM'; [map4,maplegend] = GTOPO30(file4,2,[15 40],[100 140]);%4个截取的矩阵合起来就是“中国”E70~E140,N50~N15 high = [map1,map2;map3,map4]; 到最后一步合并的时候问题就来了,报告说“矩阵列数不对,加不了” 看了一下四个map矩阵分别是[600x1800],[600x2400],[1501x[color=Red]2400[/color]],[1501x2400] 不知道为什么会这样,上面明明限定了E70~E100,算下来应该是30°x60=1800 怀疑过map2的数据的影响,分开执行过,中间也清空过workspace,结果还是这样的,mat文件还是没有办法叠加。 2关于矩阵分类运算,还是问实际一点吧 比如上面的那个high[1000x1000]矩阵出来了,怎样才能将里面的里面的数小于400的筛选出来 生成一个新的[1000x1000]矩阵,小于400的就保持原值,大于400的就置0 本来是考虑用if&eles,一个一个的判断,看到有帖子说要多用矩阵,不要老是C语言的思维。 想了许久还是一筹莫展 |
回复: 求高手帮看下~高程数据导入矩阵的问题出在哪里
顺便发一下那四个高程数据
E060N90:[url]http://edc.usgs.gov/products/elevation/gtopo30/e060n90.html[/url] E100N90:[url]http://edc.usgs.gov/products/elevation/gtopo30/e100n90.html[/url] E060N40:[url]http://edc.usgs.gov/products/elevation/gtopo30/e100n40.html[/url] E100N40:[url]http://edc.usgs.gov/products/elevation/gtopo30/e060n40.html[/url] 下下来是tar.gz的压缩包,winrar就可以解压了。 每个包里面是8个文件,matlab在导入.DEM文件的时候 还要手动指定相应的.HDR文件 |
所有时间均为北京时间。现在的时间是 03:03。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.