BK사업단에서 단기 과정으로 MatLab 강좌를 해준다.
기간: 2004년 1월 12일 ~ 16일
==== MatLab은 무엇인가? ====
MatLab의 이용범위
* 수학과 관련된 계산
* 알고리즘 개발
* 상황 모델링과 data분석
* 여러가지 과학과 공학적인 그래프적 표현
데이타 기본요소
차원의 제한이 없는 array
==== 시작 ====
'''기본 명령어'''
데이타(2개의 원소를 갖는 벡터:행렬(1행 2열)로 표현)를 표현하는 format
>> format short %소수점 아래 4자리까지 표시
>> x=[4/3 12345e-6]
x =
-3333 0.0123
>>
format short e %부동소수점 표시방법으로 short표현
format long
format bank
format rat
format hex
help 함수 % 함수설명
lookfor 주제 % MatLab에서 지원하는 그 주제에 대한 함수정보 제공
clear 변수 % 변수 지우기 all은 workspace의 전체변수 지우기
save data.mat % workspace의 환경을 data.mat에 저장
load data.mat % 불러오기
clc % Command Window clear
'''행렬연산'''
보통 연산자는 행렬전체의 연산이다.
Colon(':')을 잘 사용하는게 중요
배열의연산(각 요소의 연산) "Dot(.)연산자" 을 사용
==== 그래프 ====
모든 데이터는 행렬로 표현된다. 그래프로 표현하기가 참 쉽다.
행렬의 위력이 참 대단하다.
행렬은 데이터를 이산적으로 추출된것 을 가공하는 ''선형연산자''가 된다.(기본unit으로 뭐든 표현: 방향,크기)
이산 데이타는 연속 데이터로 서로 변환 가능(?보간)하기 때문에 행렬은 연속적인 데이터에서도 훌륭한 도구가 된다.
''선형미분방정식도 간단히 푸는군''
%원그리기
function circledraw(R)
x=-R:R/100:R;
Py=+sqrt(R^2-x.^2);
Ny=-sqrt(R^2-x.^2);
plot(x,Py,'r',x,Ny,'r');
원에 대한 이해가 없어서, 왜 저런지 모르겠다. 찾아봐야지
==== M-Files ====
반복문 없이도 벡터(입력)자체가 반복자가 된다. 반복문을 사용하는것 보다 10배 정도 빠르다고 한다.
''매트랩 다운 프로그램을 만들려면 이걸 잘 이용해야 한다. 훨씬 간단해짐!''
==== simulink ====
단위별로 블럭화 되어있어서 기존의 블록은 끌어다가 쓰고 필요한 블록(s-function)을 작성 하면된다.
scope로 블록 단위별로 출력 신호를 확인 할 수 있다. (M-Files 환경에서는 단위 테스트 할려면 좀 힘들다고 한다.)
----
toolbox , simulink
==== 참고 ====
[[ISBN(8970852859,kr,noimg)]]
==== 궁금한점 ====
Matrix를 사용하는 목적이 뭘까?
* 많은 데이터의 계산을 간소화 할려구? 또다른 목적은 뭘까?
* [[http://www.mathlove.org/pds/mathqa/faq/matrix/matrix02.html|행렬이 발생하게된 이유]] from MathLove
* [[http://www.mathlove.org/pds/mathqa/faq/matrix/matrix01.html|행렬과 컴퓨터의 관련성]]
----
나는 도구로서의컴퓨팅 강의에서 매트랩의 기본 패러다임은 "벡터"라는 것을 가르쳤다. 이걸 잘 이해하면 매트랩을 사용하는 방법이 크게 바뀔 것이다. --JuNe
''어떻게 생각해야 할지 감이 잘 안옵니다. 벡터공간에서 단위요소의 변형을 통해 모든객체가 표현 가능하다는걸 이야기 하시는건가요? --동희''
엘레멘트라는 것도 사실 길이가 하나짜리 벡터이다. 매트릭스도 사실 벡터 여러개를 이어 붙인 것이다. --JuNe