当前位置: 首页 > news >正文

福永附近做网站公司广州公共资源交易中心交易平台

福永附近做网站公司,广州公共资源交易中心交易平台,胶州网站建设规划,固原网络推广需求:计算凸轮相位角误差 关于凸轮的相位角误差计算直接需求是求取凸轮的实际最大升程点与理论最大升程点的角度误差,所以写出了下面的程序 def calculate_phase_error(self):"""计算实际曲线与理论曲线的相位角误差"""…

需求:计算凸轮相位角误差

关于凸轮的相位角误差计算直接需求是求取凸轮的实际最大升程点与理论最大升程点的角度误差,所以写出了下面的程序

def calculate_phase_error(self):"""计算实际曲线与理论曲线的相位角误差"""if self.theory_r is None or self.r is None:return# 找到实际曲线和理论曲线的最大升程点actual_max_idx = np.argmax(self.r)theory_max_idx = np.argmax(self.theory_r)# 获取对应的角度actual_max_angle = self.theta[actual_max_idx]theory_max_angle = self.theory_theta[theory_max_idx]# 计算相位角误差(转换为度)self.phase_error = (actual_max_angle - theory_max_angle) * 180 / np.pi# 确保误差在 -180 到 180 度之间while self.phase_error > 180:self.phase_error -= 360while self.phase_error < -180:self.phase_error += 360

这种方法通过比较实际曲线和理论曲线的最大升程点对应的角度来计算相位角误差,但是这种方法的局限性在于:

  1. 仅依赖于单个点(最大升程点)的位置,对噪声和局部偏差敏感

  2. 如果实际凸轮存在磨损或加工误差,最大升程点可能不是最具代表性的特征点

  3. 没有考虑整个凸轮轮廓的相位关系,仅关注峰值位置

考虑一些相对专业的相位角计算方法

在凸轮分析中相位角误差可以通过以下几种方法计算:

  1. 特征点匹配法:除了最大升程点外,还可以考虑缓冲段起点、工作段起点等特征点的角度偏差,然后取平均值或加权平均

  2. 曲线对齐法:使用优化算法将实际曲线与理论曲线在角度域上进行最佳对齐,计算所需的旋转角度

  3. 傅里叶分析法:将凸轮轮廓转换到频域,比较实际曲线和理论曲线的相位谱差异

综合考虑选择了第二种方式(加权比较均衡):实际上就是曲线计算的最佳拟合通过形状拟合反向找到旋转角度,如下图:

def minimize_normal_error(x_ref, y_ref, x_actual, y_actual):# 目标函数:最小化法向误差def objective(params):tx, ty, angle = paramsx_transformed, y_transformed = transform_points(x_actual, y_actual, tx, ty, angle)return compute_normal_least_squares_error(x_ref, y_ref, x_transformed, y_transformed)# 初始猜测:基于质心的平移和零旋转center_ref = (np.mean(x_ref), np.mean(y_ref))center_actual = (np.mean(x_actual), np.mean(y_actual))tx_initial = center_ref[0] - center_actual[0]ty_initial = center_ref[1] - center_actual[1]angle_initial = 0initial_guess = [tx_initial, ty_initial, angle_initial]# 优化result = minimize(objective, initial_guess, method='SLSQP')if result.success:tx, ty, angle = result.xmin_error = result.funreturn tx, ty, angle, min_errorelse:raise ValueError("法向误差最小化失败")

http://www.dtcms.com/a/609220.html

相关文章:

  • 深入理解 Swift TaskGroup:从基础用法到性能优化的完整指南
  • csharp通过对象和模板字符串解析模板
  • MYSQL结构操作DDL指令1.数据库操作
  • 为什么会有免费制作网站wordpress建站腾讯云
  • 仓颉迁移实战:将 Node.js 微服务移植到 Cangjie 的工程化评测
  • Redis(六)——哨兵
  • 网站错敏词整改报告,如何整改后如何定期自查自检
  • 网站验收时项目建设总结报告网站建设与维护本科教材
  • 【Java】使用国密2,3,4.仿照https 统一请求响应加解密
  • 华为对象存储:nginx代理临时访问地址后访问报错:Authentication Failed
  • 【2025-11-13】软件供应链安全日报:最新漏洞预警与投毒预警情报汇总
  • 【玩转多核异构】T153核心板RISC-V核的实时性应用解析
  • 单周期Risc-V指令拆分与datapath绘制
  • Java+EasyExcel 打造学习平台视频学习时长统计系统
  • 【PHP】使用buildsql构造子查询
  • 防火墙主要有哪些类型?如何保护网络安全?
  • 在线商城网站制作如东住房和城乡建设局网站
  • Java 与 PHP 开发核心良好习惯笔记(含通用+语言特有)
  • AI 电影制作迈入新阶段:谷歌云Veo 3.1模型发布,实现音频全覆盖与精细化创意剪辑
  • C++函数式策略模式中配置修改
  • [MCP][]快速入门MCP开发
  • 为食堂写个网站建设免费毕业设计的网站建设
  • 云原生数据平台(cloudeon)--核心服务组件扩展
  • 字典或者列表常用方法介绍
  • 计算机网络中的地址体系全解析(包含 A/B/C 类地址 + 私有地址 + CIDR)
  • SpringBoot教程(三十四)| SpringBoot集成本地缓存Caffeine
  • 专业摄影网站推荐专业做卖菜的网站
  • Hadess V1.2.5版本发布,新增推送规则、制品扫描等,有效保障制品质量与安全
  • 华清远见25072班单片机高级学习day1
  • Apache Flink运行环境搭建