Как я могу использовать логическое условие для этого массива?

Мне нужно сравнить 2 элемента массива следующим образом

V=([-180.0 -117.0; -67.5 -111.0], [-117.0 -36.0; -111.0 -244.5])

когда я использую следующее условие

if (V[1][:,2] != V[2][:,1])

Это становится правдой. Но V[1][:,2] = [-117.0;-111.0] и V[2][:,1] = [-117.0;-111.0] так они

равны, и условие должно быть ложным.

не могли бы вы помочь мне, почему он отвечает так?

спасибо


person Soma    schedule 25.12.2018    source источник
comment
V[1][:,2] != V[2][:,1] это false. Почему вы думаете, что это правда?   -  person Bogumił Kamiński    schedule 25.12.2018
comment
подскажите в чем проблема? У меня есть 2 балла V[1][:,2]=[-117.0;-111.0] , V[2][:,1] = [-117.0;-111.0]. Они такие же. поэтому if (V[1][:,2] != V[2][:,1]) должно быть ложным. но это правда, несмотря на то, что они одинаковы.   -  person Soma    schedule 25.12.2018
comment
Я нашел в чем проблема. это было из-за десятичных знаков этих точек. Я использовал round(V[1][:,2],5). так моя проблема решилась. если (раунд(V[1][:,2],5) != раунд(V[2][:,1],5))   -  person Soma    schedule 25.12.2018
comment
Похоже на stackoverflow.com/questions/51366825/ . Если ошибка связана с арифметикой с плавающими числами, , вероятно, является еще одним вариантом, набираемым \napprox, затем нажмите клавишу Tab. см. docs.julialang.org/en/v1/base/math/ #Base.isприблизительно   -  person 张实唯    schedule 26.12.2018