广播可以简单理解为用于不同大小数组的二元通用函数(加减乘等)的一组规则
二元运算符是对相应元素逐个计算
广播允许这些二元运算符可以用于不同大小的数组
更高维度的数组
更复杂的情况,对俩个数组的同时广播
a + b
广播可视化
浅色的盒子代表广播的值, ps:额外的内存并没有在实际操作中分配。
## 广播的规则
规则1: 如果俩个数组的维度数不相同,那么小维度数组的形状将会在最左边补1,
规则2: 如果俩个数组的形状在任何一个维度上都不匹配,那么数组的形状会沿着维度为1 的维度开始扩展 ,(维度必须是1开始)直到所有维度都一样, 以匹配另一个数组的形状,
规则3: 如果俩个数组的形状在任何一个维度上都不匹配,并且没有任何一个维度等于1,那么会引发异常
示例1
示例2
俩个数组均需要广播
示例3 ,俩个数组不兼容的示例
如果 a 从右边补1,是不是就可以了,但是这样会导致结果模糊,如果希望右边补全,可以变形数组,
广播的实际应用
数组的归一化
輸出
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统