首页 > 解决方案 > 没有方法匹配^

问题描述

UnitRange在 Julia 中创建了一个并试图创建一个x关于x和的情节x ^ 2。我已经编写了以下代码。

x = [-10:10]
p1 = plot(x, x)
p2 = plot(x, x.^2)

我收到以下错误:

MethodError: no method matching ^(::UnitRange{Int64}, ::Int64)
Closest candidates are:
  ^(!Matched::Float16, ::Integer) at math.jl:795
  ^(!Matched::Missing, ::Integer) at missing.jl:120
  ^(!Matched::Missing, ::Number) at missing.jl:93
  ...

Stacktrace:
 [1] _broadcast_getindex at ./none:0 [inlined]
 [2] getindex at ./broadcast.jl:515 [inlined]
 [3] copy at ./broadcast.jl:790 [inlined]
 [4] materialize(::Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Nothing,typeof(Base.literal_pow),Tuple{Base.RefValue{typeof(^)},Array{UnitRange{Int64},1},Base.RefValue{Val{2}}}}) at ./broadcast.jl:756
 [5] top-level scope at In[18]:3

我的代码有什么错误?

标签: plotjuliaijulia-notebook

解决方案


你可以改变:

x.^2

至:

x[1].^2

推荐阅读