[HP Prime] Solve 함수
solve 관련 기능은 CAS 모드에서 작동합니다.
1. solve
Syntax:
solve(Expr,[Var])
solve({Eq1, Eq2, ...}, [Var])
solve(Expr, Var=Guess)
solve(Expr, Var=Val .. Val2)
Returns a list of the solutions (real and complex) to a polynomial equation or a set of polynomial equations.
Example: solve(x^2‐3=1) returns {‐2,2}

2. 범위 (interval) 인자
pdf 설명서(manual 문서)에는 2개의 인자(Expr, [Var]) 만 나오지만, 3번째 인자로서 interval 내지 guess 를 추가하면 실질 적용됩니다.
계산기 내부 【Help】 화면에서는 이렇게 나옵니다.
The user is advised to supply a guess or define an interval in which to search for a solution to get the best results in cases where the solution is known to be approximate. To supply a guess, use the syntax Var=Guess. To supply an interval, use the syntax Var=Val1 .. Val2. In the latter case, the search is confined to the closed interval [Val1, Val2].
해가 근사치로 알려진 경우 최상의 결과를 얻으려면, 사용자는 해를 탐색할 추정값(guess)을 제공하거나 구간(interval)을 정의하는 것이 좋습니다.
추정값을 제공하려면 Var=Guess 구문을 사용하십시오.
구간을 제공하려면 Var=Val1 .. Val2 구문을 사용하십시오.
후자의 경우(구간을 지정한 경우), 탐색은 닫힌 구간(closed interval) [Val1, Val2] 내로 제한됩니다.
Examples:
solve(x²-3=1) → {-2,2}
solve(x²-y²=0,x²-z²=0],[x,y,z]) → {[x,x,x],[x-x,-x],[x,x,-x],[x,-x,x]}
solve(x²-(LN(x)+5)=0,x=2) → 2.42617293082
solve(x²-(LN(x)+5)=0,x=2..3) → 2.42617293082

인터벌은 xmin .. xmax 형식으로 입력합니다.
원래는 띄어쓰기가 필요한데, 띄어쓰기가 없으면 자동 추가되는 듯 합니다.
이 때 Ans 형식이 { } 에서 [ ] 로 바뀌는 차이도 있습니다. '닫힌 구간에서 찾았다'는 표시일까요?
3. method, 수치해석 방식 인자?

이(바로 위) 예에서는 같은 2차 방정식인데도,
guess만 입력(x=2)하면 해 1 이 찾아지지만,
구간을 지정하면, 적절한 구간(-1 .. 2) 이더라도 해가 찾아지지 않고 빈칸만 나옵니다. [ ]
찾아지지 않는 이유가 정확한 문서로 나와 있는 것은 아닌데,
구간(interval) 입력시 수치해석 방법(method)으로 bisection(이분법) 방식으로 지정되기 때문인 듯 보입니다.
https://allcalc.org:443/board_hp/55715#comment_55751
* 이분법에서는 구간 양단에서 부호가 바뀌지 않으면 해가 찾아질 수 없습니다.
따라서 solve함수의 수치해석 방식을 지정해 주면 해결될 수도 있는데,
그 방식이 설명으로 나오지 않아 "100% 확신"은 없습니다.
그런데 마지막 인자로 ,3을 입력하면 해가 찾아지니
,3 으로 인해 iterative 방식(아마도 newton-raphson's method)이 지정되었다고
아니면 적어도 bisection 방식과는 다른 방식으로 지정되었다고 일단은 이해할 수 있겠습니다.
댓글1
-
세상의모든계산기
2^x = x^2 의 해
https://h30434.www3.hp.com/t5/Tablets-and-Mobile-Devices-Archive-Read-Only/hp-prime-calculator-Cannot-Solve-simple-equation/td-p/3606687


세상의모든계산기 님의 최근 댓글
불러오기 할 때 변수값을 먼저 확인하고 싶을 때는 VARIABLE 버튼 【⇄[x]】목록에서 확인하고 Recall 하시면 되고, 변수값을 이미 알고 있을 때는 바로 【⬆️SHIFT】【4】로 (A)를 바로 입력할 수 있습니다. 2025 10.24 fx-570 CW 로 계산하면? - 최종 확인된 결과 값 = 73.049507058478629343538 (23-digits) - 오차 = 6.632809104889414877 × 10^-19 꽤 정밀하게 나온건 맞는데, 시뮬레이션상의 22-digits 와 오차 수준이 비슷함. 왜 그런지는 모르겠음. - 계산기중 정밀도가 높은 편인 HP Prime CAS모드와 비교해도 월등한 정밀도 값을 가짐. 2025 10.24 HP Prime 에서 <Home> 73.0495070344 (12-decimal-digits) // python 시뮬레이션과 일치 <CAS> 21자리까지 나와서 이상하다 싶었는데, Ans- 에서 자릿수를 더 늘려서 빼보니, 뒷부분 숫자가 아예 바뀌어버림. 버그인가? (전) 73.0495070584718691243 (21-digits ????) (후) 73.0495070584718500814401 (24-digits ????) 찾아보니 버그는 아니고, CAS에서는 십진수가 아니라 2진수(bit) 단위로 처리한다고 함. Giac uses 48 bits mantissa from the 53 bits from IEEE double. The reason is that Giac stores CAS data (gen type) in 64 bits and 5 bits are used for the data type (24 types are available). We therefore loose 5 bits (the 5 low bits are reset to 0 when a double is retrieved from a gen). 출처 : https://www.hpmuseum.org/cgi-bin/archv021.cgi?read=255657 일단 오차를 놓고 보면 16-decimal-digits 수준으로 보임. 2025 10.23 khiCAS 에서 HP 39gII 에 올린 khiCAS는 254! 까지 계산 가능, 255! 부터는 ∞ fx-9750GIII 에 올린 khiCAS는 factorial(533) => 425760136423128437▷ // 정답, 10진수 1224자리 factorial(534) => Object too large 2025 10.23 같은 방식으로 500! 근사값을 구해보면 1.219933487 × 10^(1134) 1.22013682599111006870123878542304692625357434280319284219241358838 × 10^(1134) (참값, 울프람 알파) 2025 10.23