- 积分
- 9
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2018-5-10
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
题主区分五千多万个点的极化方式,第一个想到的就是for循环加if else,跑了三天500万,后灵机一动,用逻辑值呀,矩阵运算呀,才领会到什么叫MATLAB,真矩阵实验室。程序如下,很简单,但对经常处理矩阵数据的小伙伴说不定有启发。
clear;
clc;
load('D:\CFOSAT_data\clc_a_b_rr.mat');
%区分垂直和水平极化(sigma_flag二进制第21位,垂直极化为1,水平为0)
clc_a_b_rr=clc_a_b_rr(~isnan(clc_a_b_rr(:,9)),:);%取非nan值
pol=bitget(clc_a_b_rr(:,9),21);%得到所有数据的sigma_flag的第21位值
pol_v=pol==1;%转为逻辑值
cf_r_v=clc_a_b_rr(pol_v,:);%逻辑判断
pol_h=pol==0;
cf_r_h=clc_a_b_rr(pol_h,:);
|
|