在 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
这样的东西更有意义。
我目前正在尝试在我的绘图中打印以下函数,但不允许我使用任何导入或其他库:
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
这样的东西更有意义。