11. 10. 23.

MatLab 사용하기

스크립트 m파일 만들기
File - new - Script
스크립트 파일은 유닉스의 쉘스크립트나 윈도우 배치파일처럼 콘솔상에 치는 내용을
그대로 텍스트로 저장한 거에 불과함
스크립트 m파일의 확장자를 제외한 이름을 콘솔창에 쓸 경우 해당 스크립트가 실행된다.


함수 m파일 만들기
File - new - Function

함수 만드는 법
Function 출력변수 = 함수이름(입력변수)
해당연산.
MatLab에서의 함수만드는 법은 리턴 값을 어떤 변수로 주고
해당 변수에 값을 넣는 식으로 되어있다.

함수 실행 방법
Function m파일의 확장자 제외한이름
sum(a,b)
와 같이 사용한다

커맨드 라인에서 편집
위아래 방향키로 이전 커맨드를 불러올수있다 마치 도스처럼
Ctrl+P 또는 Ctrl+N 으로도 가능하다
Esc를 누르거나 Ctrl+U를 누르면 커맨드 라인을 지운다

clc - 커맨드 윈도우를 초기화한다
clear - workspace를 초기화한다. 현재 선언되어있는 변수등의 값이 지워진다

MatLab에는 계산기 모드와 변수 할당 모드가 있다
계산기모드는 변수 선언뒤에 세미콜론을 붙이지 않고
변수 할당모드는 세미콜론을 붙인다
세미콜론을 붙일때는 화면상에 해당 내용이 출력되지 않는다

긴 문장 입력하는법

a = 1+2+3+4+5+...
6+7+8+9+...
+11

어디에 사용되는지는 모르겠지만 이렇게 더할수 있다.
그냥 한번에 길게 늘어지게 더해도 되는 듯하다

행렬 생성하기

1.

1 2 3
4 5 6 -> [1 2 3; 4 5 6; 7 8 9]
7 8 9

로 표현

a = [1 2 3; 4 5 6; 7 8 9]
해당 행렬을 a라는 이름으로 부르기로 한다

2.

b(1,5) = 2
라고 표현할땐 해당 값이 들어갈수 있는 행렬이 만들어지고 지정하지 않은 위치에 자동으로
0이 들어간다

b =
0 0 0 0 2

3.
a = [처음값:값 증가량:끝값]

ex)
c = [1:1:5]
c =
1 2 3 4 5
d = [1:5; -2:2:6; 3:-1:-1]
d =
1 2 3 4 5
-2 0 2 4 6
3 2 1 0 -1
e = [1, 1:3, 5]
e =
1 1 2 3 5

특수 행렬 생성방법 (기본으로 제공되는 함수인 모양) n은 수, mat은 행렬
zeros(n) nxn의 영행렬
ones(n) nxn의 원소가 모두 1
eye(n) nxn행렬의 단위행렬
repmat(mat, n) 배열을 복제하고 붙인다
rand(n) nxn 행렬의 균일 분산된 불규칙수
magic(n) 마방진
pascal(n) pascal 행렬

행렬 출력
행렬(i,j)
행렬의 i,j 원소 출력
행렬(p:q, r:s)
행렬의 p행에서 q행까지 r열에서 s열까지 출력
행렬(:, j)
:은 행이나 열의 모든 원소를 의미
j번째 열의 모든 원소를 출력
행렬(end,2)
end는 지정한 행이나 열의 마지막 원소 출력
2열의 마지막 원소 출력

행렬을 수정하고 싶을때
workspace에서 해당 변수를 더블클릭하면 마치 엑셀같은
그리드가 나온다

행렬의 연산

행렬 측면 예 벡터 측면(각 원소에 대해서) 예
더하기 + a + b + a + b
빼기 - a - b - a - b
곱하기 * a * b .* a .* b

왼쪽 \ a \ b .\ a .\ b
나누기
(A\B = inv(A)*B)

오른쪽 / a / b ./ a ./ b
나누기
(A/B = A*inv(B))

누승 ^ a ^ b .^ a .^ b

오른쪽 나누기, 왼쪽 나누기의 개념은 행렬에서 역행렬을 곱하는 것을 나누기로 생각하는 것이다
역행렬을 왼쪽에 곱하면 왼쪽나누기 오른쪽에 곱하면 오른쪽 나누기로 생각한다.
더하기 빼기를 제외한 나머지 연산들은 각 원소끼리 연산하는 벡터측면에 .(연산기호)를 사용함으로
구분한다

주석처리
% 이것은 주석임
matlab에서의 주석 표시 %로 사용한다

행렬의 함수
역행렬: inv(mat)
행렬값: det(mat)
전치행렬: mat'
고유치와 고유벡터 구하기: [V, D] = eig(mat)
벡터의 내적과 외적
내적 dot(mat)
외적 cross(mat)

행렬의 내적 구하는 함수
a = [1,2,3]
b = [2,4,5]

dot(a,b) =
25

MatLab을 이용하여 그래프 그리기

x = 0 : 0.01 : 2*pi;
y = cos(x);
plot(x,y);

plot이 아마 그래프 그리는 기능인 것 같다
hold on
z = sin(x);
plat(x,y,'r')

마지막 plat의 'r'이 가리키는게 뭔지는 모르겠지만
그래프가 또 그려지는데 hold on 명령어를 먼저 쓰지 않으면 앞의 코사인그레프가
지워지고 생긴다 hold on 명령어 사용시 그래프가 겹쳐진다

MatLab에서 설정할수 있는 그래프 속성
(이라는데 무엇을 나타내는 건지 잘모르겠다)

기호(데이터 점을 표시)
. 점
v 삼각형
x x표
^ 삼각형
o 원
< 삼각형 + 플러스 기호 > 삼각형
* 별표
p 오각형
s 정방형
h 육각형
d 다이아몬드
색(8종류)
b 파란색
r 빨강색 'r'이 그래프를 빨강색으로 표시하라는 뜻인 모양이다.
g 녹색
c 청록색
m 자홍색
y 노란색
w 흰색
k 검은색
선 모양(4종류)
- 실선
: 점선
-. 반점선
-- 긴점선

MatLab으로 미분 적분 하는 법

syms a b c x f
f = a*x^2 + b*x + c
g = diff(f)

int(x)

diff(f)의 경우 f를 미분한 값이 나온다
int(x)의 경우 x를 적분한 값이 나온다


도움말 활용방법

콘솔창에
help cos
help sin
치면 해당 내용에 대한 간단한 도움말이 출력됨

lookfor cos
lookfor sin

치면 관련 함수와 설명을 보여준다

댓글 없음:

댓글 쓰기