Пытается получить линейное уравнение 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
для массивов, но не для сложения?