본문 바로가기

프로그램/MATLAB

【MATLAB】 if~elseif 구조 sign 함수 M-파일 개발 문제풀이

-Chapra의 응용수치해석 3판 예제 3.4

[문제]

Q. 스칼라에 대하여 MATLAB의 내장함수인 sign 함수는 인수의 부호에 따라 (-1, 0, 1)의 값을 넘겨준다. 다음은 이 함수가 MATLAB에서 어떻게 수행되는지를 나타낸다.


같은 기능을 수행하기 위한 M-파일을 개발하라.


[문제풀이]

이번 문제는 if ~ else if 구문으로 쉽게 풀이할 수 있습니다.


먼저, 사용자가 값을 입력하기 위해 input 함수를 사용했습니다. (교재 풀이는 함수풀이인데, 저는 input이 편해서 사용했습니다.)


결과는 위와 같이 출력되었습니다. 아무래도 한국인이다보니 한글이 더 편하게 받아들여지네요.

참고로 sign 함수의 설명은 다음과 같습니다.


직역하자면, 입력한 x가 0보다 크면 1을, 0보다 작으면 -1을 출력한다고 합니다. 그리고 추가로, sign(X) = X ./ abs(X). 와 같다고 합니다. 당연히 X값에 그 절대값을 나눠주면 부호와 1만 남게되죠. 이상!



  • 비밀댓글입니다

    • utf8코드로 한글을 출력하는 방법은 저도 자세히 알고있지는 않지만, 대화식으로 코드를 구성하는 방법은 어떤가요? http://engineershelp.tistory.com/252 제가 예전에 대화식 코드 예제를 푼게 있는데 이런식으로 코드작성이 가능하다면 간단한 코드에 경우에는 적용하기 좋을거 같습니다!