在 julia 中打印带有绘图的函数

print a function with plots in julia

我目前正在尝试在我的绘图中打印以下函数,但不允许我使用任何导入或其他库:

using Plots
  
amplitude = 1

frequenz_E = 329.63
frequenz_G_SHARP = 415.30
frequenz_B = 493.88

k(t) = amplitude * sin * (2 * pi * frequenz_E * t)

p = plot(0:0.005:0.001, k , label="E = 329.63 Hz", title="Triade sound wave", xlabel="t (seconds)", ylabel="y(t)")

display(p)

我确实想从 0 开始,然后将值增加 0.005,直到 0.01。

现在如果我想打印这个函数,我会收到以下错误:

include("/home/user/Applied_Mathmatics/Assignment_01/templates/waves.jl")
ERROR: LoadError: MethodError: no method matching *(::Int64, ::typeof(sin))
Closest candidates are:
  *(::Any, ::Any, ::Any, ::Any...) at operators.jl:529
  *(::ChainRulesCore.NotImplemented, ::Any) at /home/user/.julia/packages/ChainRulesCore/8NXnp/src/tangent_arithmetic.jl:37
  *(::ChainRulesCore.ZeroTangent, ::Any) at /home/user/.julia/packages/ChainRulesCore/8NXnp/src/tangent_arithmetic.jl:104

我如何解决错误并只打印函数?

输出应该是这样的(我还没有实现所有功能):

如错误所述,您不能将函数与整数相乘。你应该写

k(t) = amplitude * sin(2 * pi * frequenz_E * t)

顺便说一下,范围 0:0.005:0.001 只是一个元素,即 0.。你可以试试

julia> collect(0:0.005:0.001)
1-element Vector{Float64}:
 0.0

在 Julia 中,中间元素是步骤,第三个元素是范围的结尾。因此像 0:0.001:0.005 这样的东西更有意义。