zhanglele10的个人博客分享 http://blog.sciencenet.cn/u/zhanglele10

博文

MATLAB中squeeze命令的用法

已有 5749 次阅读 2018-2-3 16:12 |个人分类:Matlab学习心得|系统分类:科研笔记

批量提取nc数据的格点,需要提取的变量Tem的维数是800x400x8,其中800是经度,400是纬度,8是时间。需要实现的功能是提取单个格点对应的所有时间数据,存放到新变量Tem1中。

直接输入以下命令:

Tem1=Tem(100,100,:);

发现生成的Tem1的维数是1x1x8,并不是自己想要的8x1。

通过以下循环可以达到效果:

Tem1=[];

for 1=1:8

   tem=Tem(:,:,i);

   tem1=tem(100,100);

   Tem1=[Tem1;tem1];

end

但是因为自己在批量读取文件名称时已经使用了多个for循环,经过查找百度,发现squeeze命令可以轻松实现想要的结果。命令如下:

Tem1=squeeze(Tem(100,100,:));



https://blog.sciencenet.cn/blog-1103122-1098303.html

上一篇:解决MATLAB写入excel时“服务器出现意外情况”的报错
下一篇:GIMMS NDVI3g数据下载与处理
收藏 IP: 42.92.156.*| 热度|

1 李毅伟

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-19 09:56

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部