如何矩阵中列向量以0.5为步长求平均值?
数据格式如下:
speed_rise power_rise
0.495656877756119 0.0234839245676994
0.496294677257538 0.0234839245676994
0.527468264102936 -0.0824048444628716
0.570255398750305 -0.0425977930426598
0.661090493202210 -0.105171300470829
0.763295292854309 0.0342547222971916
0.763361394405365 0.0803183540701866
0.777373433113098 -0.144597142934799
0.805050075054169 0.150962144136429
0.864718139171600 0.0846787169575691
0.869710147380829 0.0559586808085442
.......
13.3765316009521 1194.66088867188
13.4244184494019 1307.84057617188
13.5161561965942 1290.40466308594
13.5486421585083 1471.26831054688
13.7097320556641 1519.48657226563
13.7219238281250 1536.99035644531
13.8658952713013 1525.36352539063
13.9755229949951 1447.72802734375
14.2025432586670 1234.72387695313
14.4362773895264 1494.33813476563
14.5991411209106 856.103637695313
14.9655580520630 1521.17504882813
15.4029436111450 1515.50683593750
15.7833843231201 1451.05541992188
16.0562763214111 1521.66113281250
即第一列0-0.5,0.5-1,1-1.5......16.0-10.5这个区间内有多少个数,均值是多少,第二列根据数据个数相应求均值。然后把第一列均值,第二列均值及数据个数分别放到矩阵B的第1 2 3列。求方法
我是这么做的,感觉此方法太繁琐,求指导!
actual(1,1)=mean(speed_rise((3.0000<=speed_rise) & (speed_rise<3.5000)));
actual(1,2)=mean(power_rise((3.0000<=speed_rise) & (speed_rise<3.5000)));
actual(1,3)=length(find((3.0000<=speed_rise) & (speed_rise<3.5000)));
.....
actual(27,1)=mean(speed_rise((16.0000<=speed_rise) & (speed_rise<16.5000)));
actual(27,2)=mean(power_rise((16.0000<=speed_rise) & (speed_rise<16.5000)));
actual(27,3)=length(find((16.0000<=speed_rise) & (speed_rise<16.5000)));