查看: 93|回复: 8|关注: 0

[已答复] 矩阵数据处理

[复制链接]

新手

10 麦片

财富积分


050


1

主题

6

帖子

0

最佳答案
发表于 6 天前 | 显示全部楼层 |阅读模式
现有如图数据,分别是纬度、经度、水温。每个点是一一对应的。
请问可以将lat, lon两个矩阵 删除重复值并变成按 “由小到大排列的列向量“ 吗?
然后假设经上述处理后,lat是n*1,lon是m*1,希望同样按对应关系,生成新的n*m水温矩阵。

另:其实这样做的原因是想绘图:'(

微信图片_20200728165345.jpg
回复主题 已获打赏: 0 积分

举报

新手

10 麦片

财富积分


050


1

主题

6

帖子

0

最佳答案
 楼主| 发表于 6 天前 | 显示全部楼层
我知道其实也可以直接出图了,但是我希望筛选经纬度区域,感觉现有数据不好操作。

m_proj('miller');
m_pcolor(lon, lat, sst_kelvin)
回复此楼 已获打赏: 0 积分

举报

MATLAB 基础讨论
版块优秀回答者

中级

514 麦片

财富积分


5001500


1

主题

328

帖子

96

最佳答案
  • 关注者: 7
发表于 6 天前 | 显示全部楼层
oh不 发表于 2020-7-28 17:11
我知道其实也可以直接出图了,但是我希望筛选经纬度区域,感觉现有数据不好操作。

m_proj('miller');

你把数据贴上来啊
回复此楼 已获打赏: 0 积分

举报

新手

10 麦片

财富积分


050


1

主题

6

帖子

0

最佳答案
 楼主| 发表于 6 天前 | 显示全部楼层

抱歉。。。论坛只能传4MB以下的文件,我的数据是1354*2030的矩阵,1个文件有20MB...
回复此楼 已获打赏: 0 积分

举报

新手

10 麦片

财富积分


050


1

主题

6

帖子

0

最佳答案
 楼主| 发表于 6 天前 | 显示全部楼层
lat:  
   34.0367   34.0548   34.0729   34.0909   34.1090   34.1271
   34.0348   34.0528   34.0708   34.0888   34.1068   34.1249
   34.0328   34.0508   34.0688   34.0867   34.1047   34.1226
   34.0309   34.0488   34.0667   34.0846   34.1025   34.1204
   34.0289   34.0468   34.0646   34.0825   34.1003   34.1182
   34.0270   34.0447   34.0625   34.0803   34.0981   34.1159
   34.0250   34.0427   34.0605   34.0782   34.0960   34.1137

lon:
  157.3834  157.3824  157.3814  157.3804  157.3794  157.3785
  157.3313  157.3303  157.3293  157.3283  157.3273  157.3264
  157.2797  157.2786  157.2776  157.2766  157.2756  157.2747
  157.2284  157.2274  157.2263  157.2253  157.2243  157.2234
  157.1776  157.1765  157.1755  157.1745  157.1734  157.1725
  157.1271  157.1260  157.1250  157.1240  157.1229  157.1219
  157.0770  157.0759  157.0749  157.0738  157.0728  157.0718

sst_kelvin:
  290.2150  289.5200  289.3300  289.1300  289.2800  288.9950
  289.2150  289.5700  289.4600  289.2000  289.1800  289.1750
  289.5400  290.1050  290.1900  288.5550  289.1450  289.3150
  289.4750  288.7850  289.5800  288.8050  289.2050  289.1400
  284.2550  283.1650  288.8750  288.0100  288.7100  289.0800
  281.2150  285.1150  288.9300  287.5050  287.9000  289.3200
  283.8500  287.9950  287.4050  287.2150  288.4050  287.9050

3个矩阵都截取了一部分

回复此楼 已获打赏: 0 积分

举报

MATLAB 基础讨论
版块优秀回答者

中级

514 麦片

财富积分


5001500


1

主题

328

帖子

96

最佳答案
  • 关注者: 7
发表于 5 天前 | 显示全部楼层
oh不 发表于 2020-7-28 19:45
lat:  
   34.0367   34.0548   34.0729   34.0909   34.1090   34.1271
   34.0348   34.0528   34.0708  ...

lat是n*1,lon是m*1,希望同样按对应关系,生成新的n*m水温矩阵。
这句话没看懂啥意思啊?生成新的n*m水温矩阵那对应的就有n*m个点,那就就是lat和lon数据都要有n*m个数据啊,你说lat是n*1,lon是m*1?
回复此楼 已获打赏: 0 积分

举报

新手

10 麦片

财富积分


050


1

主题

6

帖子

0

最佳答案
 楼主| 发表于 3 天前 | 显示全部楼层
帕拉代斯 发表于 2020-7-29 08:43
lat是n*1,lon是m*1,希望同样按对应关系,生成新的n*m水温矩阵。
这句话没看懂啥意思啊?生成新的n*m水 ...

对的,也可以lat, lon, 水温都变成n*m。然后lat, lon是按行/列由大到小排序(原数据的行列顺序是:沿卫星扫描轨迹/垂直卫星扫描轨迹)
应该怎样实现呢?
回复此楼 已获打赏: 0 积分

举报

新手

10 麦片

财富积分


050


1

主题

6

帖子

0

最佳答案
 楼主| 发表于 3 天前 | 显示全部楼层
帕拉代斯 发表于 2020-7-29 08:43
lat是n*1,lon是m*1,希望同样按对应关系,生成新的n*m水温矩阵。
这句话没看懂啥意思啊?生成新的n*m水 ...

或者说,请问大神,这种是根据卫星扫描方向生成的经纬坐标,似乎不是一般认知的“网格化数据”,该怎么处理呢?因为我下一步需要筛选区域,比如:
index1 = find (lat>0 & lat<20)
index2 = find (lon>100 & lon<125)
index3 = intersect(index1, index2)
latn = lat(index3)
lonn = lon(index3)
sstn = sst_kelvin(index3)        %新矩阵均为列向量
scatter(lonn, latn, 4, sstn, 'filled')

然而如此作图,均为散点图,效果似乎不理想,因此希望对数据作题目所述的处理
回复此楼 已获打赏: 0 积分

举报

MATLAB 基础讨论
版块优秀回答者

中级

514 麦片

财富积分


5001500


1

主题

328

帖子

96

最佳答案
  • 关注者: 7
发表于 前天 16:19 | 显示全部楼层
oh不 发表于 2020-7-31 22:12
或者说,请问大神,这种是根据卫星扫描方向生成的经纬坐标,似乎不是一般认知的“网格化数据”,该怎么处 ...

还是没明白你意思,你可以把数据传网盘,然后把链接发我
回复此楼 已获打赏: 0 积分

举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

快速回复 返回顶部 返回列表