대중에게 알려진 가장 유명한 방정식은 아인슈타인의 에너지와 질량의 동등성을 나타내는
e == m c^2
일 것 같다. 여기서
m은 물체의 질량,
c는 진공에서 빛의 속도, 그리고
e는 이 질량에 저장된 에너지를 뜻한다. 이 방정식을
m에 관해 정리하려면, 즉 m만 좌변에 남기고 모두 우변으로 옮기려면 어떻게 해야 할까? 방정식을
m에 관해 풀면 된다.
e == m c^2
% // Solve[#, m] &
결과는 방정식이 아닌
Rule로 주어진다. 이걸 방정식으로 바꾸려면, 아래와 같이 리스트(
List)를 벗겨 내고, 헤더를
Equal로 바꿔주면 된다.
e == m c^2
% // Solve[#, m][[1, 1]] & // Equal @@ # &
그럼,
c^2에 관해 정리하려면 어떻게 해야 할까? 위와 같은 방법으로 하면
c^2가 적절한 변수가 아니라는 오류 메시지를 보게 될 뿐이다. 이럴 땐,
c^2를 잠시
HoldForm으로 잡아두면 문제를 해결할 수 있다.
e == m c^2
% /. c^2 -> HoldForm[c^2] // Solve[#, HoldForm[c^2]][[1, 1]] & //
ReleaseHold // Equal @@ # &
Solve로 항을 정리한 후에
ReleaseHold를 사용하면 간단하게
HoldForm을 제거할 수 있다.
댓글 없음:
댓글 쓰기