今天在处理数据的时候,发现一个维度特别奇怪的矩阵,琢磨半天,原来是中间有个环节多出来一个没用的维度。就用上squeeze
这个函数。
我用load
函数从.mat文件里把数据给捣鼓出来,结果发现,诶,这矩阵的维度怎么跟我预想的不一样?多个1,像个小尾巴一样,挂在那儿,看着就别扭。
我寻思着,这肯定不行,数据维度不对,后面咋处理?于是我就开始翻MATLAB的文档,想找个法子把这个多余的维度给去掉。
你猜怎么着?还真让我给找到!就是这个squeeze
函数,简直就是为这种情况量身定做的。
我赶紧试试,把我的数据矩阵,假设叫data_matrix
,往这函数里一放:
new_data_matrix = squeeze(data_matrix);
你还别说,真管用!
这new_data_matrix
立马就变得“苗条”,那个多余的维度,就像被橡皮擦擦掉一样,消失得无影无踪。
我再仔细瞅瞅,这下数据的维度终于是对的!
这squeeze
函数,说白,就是把矩阵里那些长度是1的维度给“挤”掉。你想,一个维度长度是1,那不就相当于没有嘛留着它干占地方不说,还容易让人误会。
- 你看,我这原来有个矩阵,形状可能是1x5x3,
- 用
squeeze
, - 立马变成5x3的,
- 多清爽!
总结一下
这回用squeeze
函数,算是解决一个小麻烦。以后再遇到这种数据维度不对的情况,我就知道该咋办。把多余的维度给它“挤”掉,数据处理起来才更顺手嘛
今天就分享到这。希望你遇到类似问题的时候,也能想起来matlab中squeeze函数,轻松的解决困扰,今天的分享就到这里,希望能给到大家帮助。
免责声明:由于无法甄别是否为投稿用户创作以及文章的准确性,本站尊重并保护知识产权,根据《信息网络传播权保护条例》,如我们转载的作品侵犯了您的权利,请您通知我们,请将本侵权页面网址发送邮件到qingge@88.com,深感抱歉,我们会做删除处理。