作为一个单行答案,我建议 DirModel2 = mod(DirModel,360) + ~mod(DirModel,360)*360;
DirModel2 = mod(DirModel,360) + ~mod(DirModel,360)*360;
mod(DirModel,360) 单独将增加360到任何负数,但它也会带来 360 至 0 。为了避免这种情况,我们添加360如果结果 mod(DirModel,360) 是0(即 ~mod(DirModel,360) 是 1 )。
mod(DirModel,360)
360
0
~mod(DirModel,360)
1
使用来自OP的新信息,初始数据介于-180和180之间,如果0更改为360则没有问题,我只是建议
DirModel2 = mod(DirModel,360);
你可以通过使用逻辑索引将它全部烧成一个单行程:
DirModel(DirModel<0) = DirModel(DirModel<0) + 360