修改Array{Float64}数组最后一位时出现Julia错误如何解决
报错原因
B是通过zeros(N)创建的元素类型为Float64的一维数组,单个索引位置只能存储Float64类型的标量值randn(1)的返回结果是长度为1的Vector{Float64}向量,不属于标量值,赋值时无法自动完成向量到浮点数的类型转换,因此触发报错
解决方法
提供两种可行修改方案:
- 直接生成随机标量赋值,将
randn(1)改为无参数调用的randn(),修改后代码如下:
N = 3 B = zeros(N) B[N] = randn()
- 若必须调用
randn(1)生成向量,取向量的第一个元素赋值即可,修改后代码如下:
N = 3 B = zeros(N) B[N] = randn(1)[1]
内容的提问来源于stack exchange,提问作者Marco Piazza
相关产品推荐
相关产品推荐

