Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
Tags
- 삼성 게이밍 모니터
- 유틸리티
- 헤드폰 스피커 자동 전환
- MSA14
- overwatch
- 사전
- 매크로
- 인풋렉 측정
- nircmd
- 모니터 암
- 게이밍 모니터
- XL2430T
- 모니터 개봉기
- 모니터 비교
- CFG70
- 오버워치
- change speaker headset
- Lingoes
- AHK
- headset switch
- switch speaker headset
Archives
- Today
- Total
깐우의 세상 만들기
처음 배우는 MATLAB 본문
매틀랩은 C와 같은 Language가 아니라 툴의 개념을 가진 소프트웨어이다.
희안하게 공대 4년동안 접할 기회가 없었다가 올 여름 유학 준비시 처음으로 접해보고
배우는 중인데 정말 강력한 툴이라는 느낌이 든다.
일단 매틀랩은 기본적으로 행과 열로 이루어진 행렬식을 바탕으로 한다.
단순하게 스칼라라고 생각을 하고 코딩을 한다면 낭패를 보기 쉽다고 한다.
아직까지는 배우는 단계라서 이 말이 썩와닿지는 않지만 나름 재미있는 툴...
일단 프로그램을 시작하면 Current Directory, Command window, Command History
이렇게 세개의 창이 뜬다.
디렉토리창과 히스토리창은 설정이후 별로 사용할 일이 없고
커맨드 윈도우창을 주로 사용한다.
여기서 간단하게 코딩을 하고 결과값을 확인할 수 있지만
이도 역시 M-file을 생성한 이후에는 결과값을 확인할때에만 주로 사용한다.
코딩은 M-file내에서 주로 한다는 말...
그럼 M-file을 생성해 보자.
File->New->M-file
그럼 Editor라는 화면이 하나 더 추가되어진다.
이제부터 본격적인 시작이다.
시작하기에 앞서서 간단한 명령어와 함수들을 알아보자.
help 궁금한명령어 : 궁금한명령어에 대한 설명을 해준다.
lookfor 키워드 : 찾고싶은 명령어들을 찾아준다.
clc : 윈도우 커맨드 창을 깨끗하게 해준다.
clear 변수이름 : 해당 변수를 제거한다. (clear all : 모든 변수 제거)
% : 주석 처리 (C언어에서의 // 기능)
lookfor 키워드 : 찾고싶은 명령어들을 찾아준다.
clc : 윈도우 커맨드 창을 깨끗하게 해준다.
clear 변수이름 : 해당 변수를 제거한다. (clear all : 모든 변수 제거)
% : 주석 처리 (C언어에서의 // 기능)
드래그 후 Ctrl+R : 블록 집단 주석 처리
드래그 후 Ctrl+T : 블록 집단 주석 처리 해체
드래그 후 Ctrl+T : 블록 집단 주석 처리 해체
변수이름 = (A:B:C) : 변수에 A부터 C 까지 B 간격 으로 입력
ex) A=1:2:10 =====>A= [1 3 5 7 9]
rand(n,m) : n 형 m 열의 랜덤한 실수들을 발생시킨다.
Uniform Distribution : Data 생성시 사용
randn(n,m)
Normal Distribution : Noise 발생시 사용
변수이름(n,m) : n번째 행의 m번째 열의 값을 불러온다.
변수이름(x:y, : ) : x 부터 y 까지의 행에 있는 모든 값을 불러온다.
rem(A,B) : A를 B로 나눈 나머지를 불러온다. (C언어의 % 기능과 같다)
disp('홀수입니다') : 작은 따옴표 안의 내용을 커맨드 윈도우에 출력한다.
(C 언어의 printf, cout 기능)
cos(A): cosine funtion
sin(A) : sign funtion
sin(A) : sign funtion
exp(A) : 지수 함수(exponential)
plot(x,y) : x축과 y축을 이용한 그래프 출력
stem(x,y) : plot과 비슷하지만 discrete하게 출력을 한다
figure(x) : x를 1, 2, 3 이런식으로 쓰고 plot명령어를 사용하면 해당 그래프의 창을
여러개 띄어준다
hold on : 하나의 창에 여러개의 그래프 결과값을 출력한다.(x의 범위에 주의)
subplot(x,y,z) : 하나의 창에 각각의 그래프를 분할하여 보여준다.
axis([ x축 시작값 x축 끝값 y 축 시작값 y축 끝값] : 그래프의 범위를 조절한다.
stem(x,y) : plot과 비슷하지만 discrete하게 출력을 한다
figure(x) : x를 1, 2, 3 이런식으로 쓰고 plot명령어를 사용하면 해당 그래프의 창을
여러개 띄어준다
hold on : 하나의 창에 여러개의 그래프 결과값을 출력한다.(x의 범위에 주의)
subplot(x,y,z) : 하나의 창에 각각의 그래프를 분할하여 보여준다.
axis([ x축 시작값 x축 끝값 y 축 시작값 y축 끝값] : 그래프의 범위를 조절한다.
이제 간단한 문법을 배워보자.
1.while문 예시
% Until A becomes 100
A=1;
while (A<100)
A=A+1;
end
A
A=1;
while (A<100)
A=A+1;
end
A
2. for문 예시
1)
% sum of all items
B=0;
for i=1:100
B=B+i;
end
B
B=0;
for i=1:100
B=B+i;
end
B
2)
%Square each items
S=[1:10];
for i=1:10
S(i)=S(i)^2;
end
S
S=[1:10];
for i=1:10
S(i)=S(i)^2;
end
S
3. 응용
1) 1~10이 있는 행렬에 짝수항에는 2를, 홀수항에는 3을 곱해보자
% even item times 2, odd item times 3
Y=[1:1:10];
Y=[1:1:10];
for i=1:10
if(rem(i,2)==0)
Y(i)=Y(i)*2;
else
Y(i)=Y(i)*3;
end
end
Y
if(rem(i,2)==0)
Y(i)=Y(i)*2;
else
Y(i)=Y(i)*3;
end
end
Y
2) 어떤 행렬에 각각의 항에 10씩 곱해보자.
% in some matrix, each items times 10
A=[1:3 ; 4:6];
for(i=1:2)
for(j=1:3)
A(i,j)=A(i,j)*10;
end
end
A
A=[1:3 ; 4:6];
for(i=1:2)
for(j=1:3)
A(i,j)=A(i,j)*10;
end
end
A
3) sin과 cos의 곱에 1~10을 곱한것 합
% cos(i)*sin(j)*C
C=1:10;
Sum=0;
TotalSum=0;
for(i=1:10)
for(j=1:10)
Sum=Sum+C(i)*cos(i)*sin(j);
end
TotalSum=TotalSum+Sum;
end
TotalSum
C=1:10;
Sum=0;
TotalSum=0;
for(i=1:10)
for(j=1:10)
Sum=Sum+C(i)*cos(i)*sin(j);
end
TotalSum=TotalSum+Sum;
end
TotalSum
'Book / Study' 카테고리의 다른 글
Lingoes-강력한 다국어 사전&번역기 설치 방법 (0) | 2009.08.16 |
---|---|
슈퍼메모라이저(영어 단어 암기 프로그램) (0) | 2009.07.12 |
(Matlab) DFT 함수 구현 (6) | 2009.07.08 |
(Matlab) Gibbs Phenomenon(깁스 현상) 확인 (0) | 2009.07.07 |
(C++) 더블 링크드리스트로 구현한 학생 관리 시스템 (1) | 2009.06.24 |