- TI nspire
[TI-nspire] nsolve() : 솔브 함수, 방정식의 해를 구하는 함수
1. 개요
- nsolve() 함수는 solve 함수의 일종입니다.
- 방정식이나 부등식의 실수해(real solutions)를 추정하여 반환하는 함수입니다. 결과가 딱 떨어지는 일반 함수들과는 달라서 사용에 조금 주의를 할 필요가 있습니다.
- CAS 기종에서는 solve(), csolve(), nsolve(), linsolve() 함수를 모두 내장하고 있으므로, 필요에 따라 적당한 것을 사용합니다.
- 하지만 Non-CAS 기종에서는 nsolve() 와 linsolve() 뿐이므로, 어쩔 수 없이 nsolve() 를 주로 사용합니다.
2. 사용 방법
ⓐ nsolve(Equation, Var[=Guess]) ⇒ number or error_string
ⓑ nsolve(Equation, Var[=Guess],lowBound) ⇒ number or error_string
ⓒ nsolve(Equation, Var[=Guess],lowBound,upBound) ⇒ number or error_string
ⓓ nsolve(Equation, Var[=Guess])|lowBound<Var<upBound ⇒ number or error_string
- 'var' 만 넣어도 되고, 'var=guess' 로 결과 추정 값을 같이 넣어도 됩니다.
아무 추정값도 넣지 않으면 0으로 자동대입됩니다만, 0이 아닌 아무런 값이라도 추정값을 넣는 것이 더 바람직합니다. - guess 값에 따라 반환되는 결과값이 달라질 수도 있습니다.
- solve() 함수와 달리 1개의 변수에 대한 실수범위의 수치해를 딱 1개만 찾습니다.
다른 해는 guess 값을 변경시켜가면서 찾아야 합니다.
그래서 보통의 경우 solve(), zeros() 보다 훨씬 빠릅니다. (그래봐야 체감하긴 어렵습니다만)
3.
주의 사항
- 답이 나오지 않는 경우 = false
- 입력한 식이 그대로 나온 경우
- 답이 표시됐으나 원하는 답이 아닌 경우
등등 문제가 발생하는 경우는 다양합니다. 이 때는 다음의 순서로 해결 방법을 모색해 보세요.
(근사값 모드)로 풀어보기
- 입력한 식의 재확인
특히 "a×(괄호) 같은 수식에서 곱하기 생략한거 없는지?" 확인, "함수형식 맞는지?" 등 - 추정값(Guess) 변경하여 입력해가면서 재계산
- nsolve(~~~) | a<x<b 꼴로 범위 지정하여 재계산
- 그래도 안되면, 최종 단계로 그래프로 그려보고 확인
- 단일 변수에 대해 잘 정리를 하였는지 확인
※ solve() 항목을 참조. (세세한 사용 방법은 다를 수 있습니다)
http://www.allcalc.org/3448
댓글2
-
1
세상의모든계산기
solve 는 ⓒ solve({Eqn1, Eqn2 [,...]} {VarOrGuess1,VarOrGuess2 [, … ]}) ⇒ Boolean expression
의 형식으로 입력이 가능하지만,
nsolve 는
질문하신대로 하나의 변수에 대해서만 계산이 가능합니다.1차식의 경우 linsolve() 를 이용하실 수 있고,
그 외의 경우에는 변수에 조건식(constraint operator)을 추가한다거나 하셔야 합니다.
Non CAS의 경우 solve 사용에 매~우 많은 제약이 있다고 할 수 있습니다.
세상의모든계산기 님의 최근 댓글
낮에 TV에서 영화 '말모이' 해주더라구요. 그래서 한번 물어 봤습니다. 2025 10.10 마지막 발언이 마지막 힌트이자 문제의 핵심이군요. 처음 들은 달이 8월이었다면 (15일인지 17일인지 확신할 수 없어서) 마지막 대사를 할 수 없지만, 처음 들은 달이 7월이었다면 (선택지가 16일 하나라서 확신이 가능하므로) 마지막 대사를 할 수 있다. 대사를 했으니 7월이다. 이제 이해되었습니다. 지금 보니까 이해가 되는데, 당시에는 왜 이해가 안됐을까요? 세가지 전제 하에 문제를 풀면 A는 마지막 대화 2줄만으로 C의 생일을 알 수 없어야 정상인데, 무슨 이유에서인지 "그럼 나도 앎!"이라고 선언해 버립니다. 알게 된 이유를 대화 속에서 찾을 수는 없습니다. 이 편견에 사로잡혀 빠져나오지 못하고 다른 길로 계속 샜나봅니다. 2025 10.09 (장*훈)님 (+10,000원) 계좌 후원(2025/10/09) 감사 드립니다. 2025 10.09 원래 식이 풀어진 상태에서는 두번째 인수 v가 분모, 분자에 섞여 있어서 계산기가 처리하지 못하는 듯 합니다. 이 때는 위에서와 반대로 분모 부분만 다른 문자(w)로 치환한 다음 completesquare(,v^2) 처리를 하면 일부분은 묶이는 듯 합니다. 하지만 여기서 처음 모양으로 더 이상 진행되진 않네요. 2025 10.08 전체 식에서 일부분(분모, 루트 내부)만 적용할 수는 없습니다. 번거롭더라도 해당 부분만 따로 끄집어 내서 적용하셔야 합니다. https://allcalc.org/30694#comment_30704 2025 10.08