首先,我有一个叫做渗透率的函数。
# permeabiliy function
# L is short for the Lable
mu_0 = 4 * pi * 10^(-7);
mu_r_core = 50;
mu_r_air = 1;
L = Int16;
function permeability(L)
if L in 1:4
if L !== 3
return mu = mu_r_air * mu_0
else
return mu = mu_r_core * mu_0
end
else
println("null") #print output in a new line
end
end然后,我有一个名为域的矩阵,如下所示,
domain
2392-element Array{Int16,1}:
1
1
3
1
...当我叫渗透率(Domain3)时,输出是,
L = domain[3]
permeability(L)输出是
1.2566370614359177e-6然而,当我简单地称之为渗透率(3)时,
permeability(3)输出是
6.283185307179588e-5因此,从矩阵域传递的值似乎只是"1",但在这种情况下,domain3应该是3,在这2种情况下,结果应该是相同的。
有人能告诉我我哪里错了吗?
发布于 2021-03-02 21:47:23
问题是,数组存储Int16,而3存储Int64。L!==3要求L与3 ie Int64具有相同的类型。你想要的是L!=3。您的困惑可能来自于这样一个事实:!=是==的反义词,而!==是===的逆
https://stackoverflow.com/questions/66447585
复制相似问题