arrays - 在 Julia 中将标量添加到数组中

标签 arrays julia scalar

试图获得线性方程y = m*x + c。我有以下几行代码,试图向数组添加标量。

m = 1.1; c = 0.11;
x = rand(1,2)
  1×2 Array{Float64,2}:
  0.920045  0.660015

y = m*x + c
ERROR: MethodError: no method matching +(::Array{Float64,2}, ::Float64)
Closest candidates are:
  +(::Any, ::Any, ::Any, ::Any...) at operators.jl:502
  +(::Bool, ::T<:AbstractFloat) where T<:AbstractFloat at bool.jl:112
  +(::Float64, ::Float64) at float.jl:395
  ...
Stacktrace:
 [1] top-level scope at none:0

当前使用Julia 1.0。直接向数组添加标量不起作用。我认为在以前的版本中这可以正常工作。

标量乘法工作
m*x
 1×2 Array{Float64,2}:
 1.01205  0.726016

但是我必须定义另一个数组,然后如图所示执行加法。
c = [0.11 0.11]
y = m*x + c
1×2 Array{Float64,2}:
 1.12205  0.836016

这不是开销吗?当我可以对数组执行标量乘法m*x但不能对加法执行时,它有什么区别?

最佳答案

我想这已经变得更加严格了。
Julia语法中(类似于MATLAB),+*对全等数组进行操作。

对于按元素操作,应使用.+.*
奇怪的是,这对于*似乎无关紧要,但对于+则无关紧要。

无论如何,以下两项工作均可:

y = m * x .+ c

和:
y = m .* x .+ c

关于arrays - 在 Julia 中将标量添加到数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52334857/

相关文章:

javascript - 在angularjs中的另一个数组中调用json数组

c - Malloc 结构数组的数组

dataframe - 如何使用 julia 将数据框的列乘以日志?

julia - 如何使用对 linspace 的推导来创建矩阵

perl - 在 Perl 中传递标量引用

创建 JavaScript 函数以根据某些信息计算价格(示例 - 商店报价)

c - 循环重复scanf和printf

julia - plots.jl 中是否有任何 ax.view_init(elev, azim) 等效函数?

arrays - Perl:如何解释数组和标量的否定?

sql-server-2008 - 如何在sql server 2008中创建和调用标量函数