테스트 프로그램에서 생성된 일부 매개변수 데이터를 확인하는 스크립트를 작업 중입니다. 제가 가지고 있는 표는 단일 SpectralPeak와 Left 및/또는 Right Side Peaks가 있는 일부 레이저 스펙트럼에 대한 것입니다. JMP에서 데이터를 시각화하고 싶어서 이 플롯을 만들었습니다.

간단한 공식을 사용하여 SpectralPeakPower(RED)에서만 행을 채우는 열로 스펙트럼의 피크를 강조 표시할 수 있습니다.
If( :YValues == Col Max(:SpectralPeakPower, :LampWfr, :serial, :"LaserCurrent[mA]"n), :SpectralPeakPower)
그러나 동일한 개념을 사용하여 좌측 피크의 거듭제곱을 계산하면 동등성 진술이 실패하여 좌측 피크 거듭제곱이 행에 채워지지 않고 플롯에서 강조 표시되지 않습니다.

이 문제를 디버깅해보니 == 문이 1이 되지 않는 논리적인 이유는 없는 듯합니다.
(-46.81 == -46.81) = 1 맞죠!?!?! 디버깅하는 게 좀 미칠 것 같아요...
==가 1이 아닌 다른 이유는 무엇일까요?
스크립트에 반올림 오류가 있는 다른 인스턴스도 있고 ~== 대략적으로 동등한 함수를 사용하고 싶습니다. 그런 함수가 이미 있나요?
JMP 파일을 직원들에게 비공개로 공유하여 검토할 수 있습니다.
감사해요,
부동 소수점 수학 으로 인한 것일 수 있습니다.
Show(0.1 + 0.2, 0.1 + 0.2 == 0.3);
//0.1 + 0.2 = 0.3;
//0.1 + 0.2 == 0.3 = 0;
Round(), Floor() 또는 Ceiling()을 사용하여 값을 반올림할 수 있습니다.