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