python3 range跟np.arange异同

range,np.arange都可用于迭代,arange 还支持小数,range返回的是range object,arange返回的是numpy.ndarray。

range(start, stop, step)
返回的是一个可迭代对象(类型是对象)

参数:
start:计数起始,默认从0开始。
stop:计数结束,不包括stop。
step:步长,默认为1
在这里插入图片描述
np.arange
在这里插入图片描述

staPoseArrs = np.asarray(staPoseArrList) # 总体RMS误差 errRmsAll = np.linalg.norm(staPoseArrs[:, :, :3] - pointsRT[:, np.newaxis, :3], axis=2).flatten() # 各点的平均偏差 absBiasArr = np.linalg.norm(pointsRT - staPosAvg, axis=1) # 3D RMS精度 rmsBias = np.sqrt(np.vdot(absBiasArr, absBiasArr) / len(absBiasArr)) # 3D RMS Accuracy # 各点的重复性误差和RMS误差 errReps = np.zeros(n) # points RMS Repeatability errRMSs = np.zeros(n) # points RMS for i in range(n): errRepOne = 0 errRmsOne = 0 m = len(staPoseArrList[i]) for staPose in staPoseArrList[i]: # 计算与平均位置的偏差(重复性) errRepOne += pow(np.linalg.norm(staPose[:3] - staPosAvg[i]), 2) # 计算与参考位置的偏差(精度) errRmsOne += pow(np.linalg.norm(staPose[:3] - pointsRT[i]), 2) errReps[i] = np.sqrt(errRepOne / m) errRMSs[i] = np.sqrt(errRmsOne / m) # 综合误差指标 rmsRep = np.sqrt(np.vdot(errReps, errReps) / n) # 3D RMS Repeatability #3D RMS重复性 absRMS = np.sqrt(np.vdot(errRMSs, errRMSs) / n) # 3D RMS #3D RMS 精度 rmsMax = np.max(errRMSs) #最大误差 rms99CI = np.quantile(errRMSs, 0.95) #95%置信区间 rmsMed = np.median(errRMSs) #中值误差 errResult = ("error[mm]: bias={:.2f}, rep={:.2f}, rms={:.2f}, rmsMax={:.2f}, 95%CI={:.2f}, median={:.2f}" .format(rmsBias, rmsRep, absRMS, rmsMax, rms99CI, rmsMed)) print(errResult) # 5. 计算方向误差 m = staPoseArrs.shape[1] staPoseArrsFlat = np.vstack([staPoseArrs[:, mi, :] for mi in range(m)]) errOriArr = np.std(staPoseArrsFlat[:, 3: 6], axis=0) errOri = np.linalg.norm(errOriArr) * 180 / np.pi print("ori std={:.2f}[deg]".format(errOri)) # 6. 保留中间数据 if boolSave: pointsXYRms = np.zeros((16, 3), dtype=float) for i in range(n): pointsXYRms[i] = staPosAvg[i] pointsXYRms[i, 2] = errRMSs[i] pointsPd = pd.DataFrame(pointsXYRms) outFile = fileDir + ".txt" pointsPd.to_csv(path_or_buf=outFile, sep=',', index=False, header=False) 这段代码是pdvMeas函数中生成这些参数的部分
最新发布
07-30
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值