매트랩을 공부하던 중 의문이 생겼습니다.
disp, fprintf, sprintf 함수는 모두 기본적으로 명령창에 입력한 정보를 나타내는 명령어입니다.
찾아보니 각 함수마다 사용방법과 출력 방식에 차이가 있었습니다.
* 검수자 : 티비보는 무지 님
1. disp
- disp는 단순히 명령 창에 변수 또는 문자열의 내용을 표시
- 큰 따옴표 / 작은 따옴표(string / char)에 따라 출력 형식 차이
→ string/char는 문자열 결합 방식의 차이로 인해 결과값의 차이가 나게 된다. - 자동 줄바꿈 적용
name = 'Duna';
age = 15;
x = [name,' is my dog, he is ',num2str(age),' years old'];
y = [name," is my dog, he is ",num2str(age)," years old"];
disp(x)
disp(y)
|
2. fprintf
- 형태
fprint(str, var1, var2) - 차이점
- 지정된 텍스트를 명령 창에 직접 출력
- 세미콜론(;)의 유무와 상관없이 출력
- 기본적으로 자동 줄 바꿈이 적용되지 않기 때문에 문자열 끝에 '\n'을 붙여준다.
- 출력값을 변수에 저장 / 출력 시, 텍스트가 아니라 숫자가 출력.
→ 출력에 쓰여진 byte 수를 반환 - fprintf - 명령 창에 직접 출력
format = '%s is my dog, he is %d years old\n';
name = 'Duna';
age = 12;
fprintf(format,name,age);
fprintf('hello\n')
fprintf('hello\n');
x = fprintf('hello\n')
disp(x)
|
3. sprintf
- 형태
sprintf(str,var1,var2) - 차이점
- 지정된 텍스트의 변수 생성
- 자동 줄 바꿈 적용
→ 윗줄 글은 명령창을 기준으로 설명
→ 둘의 출력 방식에 근본적으로 차이가 있기 때문에 줄바꿈이 여부를 설명하기에는 애매하다.
→ sprintf - ans 변수에 저장 후 ans 변수 출력 - 세미콜론(;)에 따라 출력 값 표시 여부 지정 가능
- 출력값을 변수에 저장 / 출력 시, 텍스트 문자열이 출력.
sprintf(format,name,age)
sprintf('hello\n')
sprintf('hello\n'); % 출력 생략
y = sprintf('hello\n')
disp(y)
|
- fprintf / sprintf공통점
- 문자열 형태를 지정하고 양식에 맞춰 문자열을 출력하는 방식
- 텍스트 형식 지정 시, 큰 따옴표와 작은 따옴표 간의 차이 X
- %d : 정수
%f : 실수
%s : 문자열
추가
매트랩은 C 기반 언어이기 때문에 관련 같은 함수에 관환 내용 첨부
- fprintf
- 파일 스트림에 서식화된 문자열 출력 함수
- sprintf
- 문자열 서식 및 매개변수를 사용
- char 형 변수 출력
- 배열로 이루어진 변수에 일련의 서식 문자열 입력 함수
→ 파일이나 화면에 출력하는 것이 아니라 변수에 문자열을 출력
참고 사이트
- mathwork_manual
https://kr.mathworks.com/help/matlab/ref/disp.html
https://kr.mathworks.com/help/matlab/ref/fprintf.html
https://kr.mathworks.com/help/matlab/ref/sprintf.html - mathwork_answer
https://kr.mathworks.com/matlabcentral/answers/178581-the-uses-of-fprintf-and-sprintf
https://kr.mathworks.com/matlabcentral/answers/16009-difference-between-sprintf-and-fprintf - blog_(c language)
https://haruhiism.tistory.com/8#footnote_link_8_2
'다락방' 카테고리의 다른 글
[winscp, filezilla ] 외부 서버를 접속 데이터 다운로드 프로그램 (공사중) (0) | 2023.03.15 |
---|---|
원노트 구분선 (0) | 2023.02.06 |
[win + e 단축키] 설정 바꾸기 (0) | 2023.01.25 |
chrome 단축키 (0) | 2023.01.25 |
window 단축키 (0) | 2023.01.25 |