Julia 在函数中使用==
我的函数有问题。 此函数用于计算数组中的某些值,如果等式为真,则应返回该值。 它不起作用了。 这是我的密码Julia 在函数中使用==,julia,Julia,我的函数有问题。 此函数用于计算数组中的某些值,如果等式为真,则应返回该值。 它不起作用了。 这是我的密码 λ = 650*10^-9 # Longitud de onda b = 2*10^-3 #Ancho de una rendija k = 2π/λ #Constante n = 1 #Número de rendijas m = -10:10 max = [] Trash = [] o = -1:0.01:1 function Maximo(A,B,C
λ = 650*10^-9 # Longitud de onda
b = 2*10^-3 #Ancho de una rendija
k = 2π/λ #Constante
n = 1 #Número de rendijas
m = -10:10
max = []
Trash = []
o = -1:0.01:1
function Maximo(A,B,C)
tan(B*sin(A)*C/2) == B*sin(A)*C/2
if true
push!(max,A)
else
push!(Trash, A)
end
end
请注意并原谅我糟糕的英语和编程技能
我只想得到o的值,它的等式为真。”
我不在乎垃圾;这是我在绝望中做出的正义和安排
然后,当我打电话的时候
Maximo.(o,k,b)
它返回一个201元素数组{Array{Any,1},1}
你能帮我一个忙吗?我不太明白你的要求,但我认为这应该是好的
function maximos(A, b, c)
# make a new array of the same type as A, but with size 0
result = similar(A, 0)
for a in A
if tan(b * sin(a) * c/2) == b * sin(a) * c/2
push!(result, a)
end
end
return result
end
请注意,您需要将其命名为max=maximoso,k,b,尽管您不应该将结果命名为max,因为它已经是标准库中现有的函数名
如果你熟悉了高阶函数,你可以开始写一些东西,比如
maximos(A, b, c) = filter(A) do a
tan(b * sin(a) * c/2) == b * sin(a) * c/2
end
非常感谢你,朋友!它现在正在工作。我真的很感谢你的帮助,因为我对这方面非常、非常陌生。