You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Julia中使用Broadcasting按索引计算二维数组对应值的方法

Julia 广播实现二维数组第一列赋值方案

你可以直接构造行号序列后和标量做广播运算,再赋值给数组第一列即可,不需要逐行循环:

实现代码

首先假设你的二维数组a的维度为m行n列,全0初始化代码示例如下:

# 先定义固定标量和初始化数组
l = 5
k = 2
m = 10 # 数组行数
n = 3 # 数组列数
a = zeros(m, n)

# 广播赋值第一列,1:m 就是所有行号i的序列,和标量运算时自动广播为等长向量
a[:, 1] .= (l .* (1:m)) ./ k

代码说明

  • 1:m生成的是从1到m的整数序列,刚好对应所有行的行号i
  • 所有运算都用带点的广播运算符.*、./、.=,全程不会产生额外的中间临时数组,运算效率和手写循环一致
  • 赋值时用.=而不是=,可以直接把计算结果写入a的第一列内存,不需要重新分配数组空间
    如果要直接生成带目标第一列的新数组,也可以用广播一步完成:
a = hcat((l .* (1:m)) ./ k, zeros(m, n-1))

内容的提问来源于stack exchange,提问作者user16570427

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 20:36:03