슬라이드 1

Similar documents
PowerPoint Presentation

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

슬라이드 1

Vector Differential: 벡터 미분 Yonghee Lee October 17, 벡터미분의 표기 스칼라미분 벡터미분(Vector diffrential) 또는 행렬미분(Matrix differential)은 벡터와 행렬의 미분식에 대 한 표

PowerPoint 프레젠테이션

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조

Microsoft PowerPoint - chap06-2pointer.ppt

예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = B = >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = >> tf = (A==B) % A

Python과 함께 배우는 신호 해석 제 5 강. 복소수 연산 및 Python을 이용한 복소수 연산 (제 2 장. 복소수 기초)

이 장에서 사용되는 MATLAB 명령어들은 비교적 복잡하므로 MATLAB 창에서 명령어를 직접 입력하지 않고 확장자가 m 인 text 파일을 작성하여 실행을 한다

C 프로그램의 기본

Microsoft Word - PLC제어응용-2차시.doc

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

Visual Basic 반복문

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

OCW_C언어 기초

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

Microsoft PowerPoint - chap06-1Array.ppt

슬라이드 1

10 강. 쉘스크립트 l 쉘스크립트 Ÿ 쉘은명령어들을연속적으로실행하는인터프리터환경을제공 Ÿ 쉘스크립트는제어문과변수선언등이가능하며프로그래밍언어와유사 Ÿ 프로그래밍언어와스크립트언어 -프로그래밍언어를사용하는경우소스코드를컴파일하여실행가능한파일로만들어야함 -일반적으로실행파일은다

Microsoft PowerPoint - chap03-변수와데이터형.pptx

슬라이드 1

OCW_C언어 기초


A Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning


설계란 무엇인가?

목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

PowerPoint 프레젠테이션

1

윈도우즈프로그래밍(1)

PowerPoint Presentation

Microsoft PowerPoint - LA_ch6_1 [호환 모드]

Microsoft PowerPoint - Perpect C 02.ppt [호환 모드]

Columns 8 through while expression {commands} 예제 1.2 (While 반복문의이용 ) >> num=0

PowerPoint Template

Microsoft PowerPoint - MDA 2008Fall Ch2 Matrix.pptx

완벽한개념정립 _ 행렬의참, 거짓 수학전문가 NAMU 선생 1. 행렬의참, 거짓개념정리 1. 교환법칙과관련한내용, 는항상성립하지만 는항상성립하지는않는다. < 참인명제 > (1),, (2) ( ) 인경우에는 가성립한다.,,, (3) 다음과같은관계식을만족하는두행렬 A,B에

Microsoft PowerPoint - [2009] 02.pptx

Microsoft PowerPoint 웹 연동 기술.pptx

Microsoft PowerPoint - chap-02.pptx

Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3

MATLAB for C/C++ Programmers

5장. JSP와 Servlet 프로그래밍을 위한 기본 문법(완성-0421).hwp

Microsoft PowerPoint - e pptx

Microsoft PowerPoint - chap05-제어문.pptx

11장 포인터

<4D F736F F F696E74202D20C1A632C0E520C7C1B7CEB1D7B7A5B0B3B9DFB0FAC1A4>

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

Microsoft PowerPoint - ch07 - 포인터 pm0415

PowerPoint Presentation

PowerPoint 프레젠테이션

목차 1. 시스템요구사항 암호및힌트설정 ( 윈도우 ) JetFlash Vault 시작하기 ( 윈도우 ) JetFlash Vault 옵션 ( 윈도우 )... 9 JetFlash Vault 설정... 9 JetFlash Vault

Microsoft PowerPoint - chap04-연산자.pptx

금오공대 컴퓨터공학전공 강의자료

PowerPoint 프레젠테이션

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2

강의 개요

1 경영학을 위한 수학 Final Exam 2015/12/12(토) 13:00-15:00 풀이과정을 모두 명시하시오. 정리를 사용할 경우 명시하시오. 1. (각 6점) 다음 적분을 구하시오 Z 1 4 Z 1 (x + 1) dx (a) 1 (x 1)4 dx 1 Solut

MATLAB for C/C++ Programmers

쉽게 풀어쓴 C 프로그래밍

Microsoft Word - src.doc

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호

컴파일러

설계란 무엇인가?

Tcl의 문법

PowerPoint Presentation

17장 클래스와 메소드

Microsoft Word - SPSS_MDA_Ch6.doc

Microsoft PowerPoint 자바스크립트(1).pptx

[INPUT] 뒤에는변수와관련된정보를표기한다. [CARDS;] 뒤에는각각의변수가가지는관측값들을표기한다. >> 위의프로그램에서데이터셋명은 wghtclub 이고, 변수는 idno, name, team, strtwght, endwght 이다. 이중 name 과 team 은

Microsoft PowerPoint - chap06-5 [호환 모드]

Microsoft PowerPoint - chap-02.pptx

2) 활동하기 활동개요 활동과정 [ 예제 10-1]main.xml 1 <LinearLayout xmlns:android=" 2 xmlns:tools="

Microsoft PowerPoint - C프로그래밍-chap03.ppt [호환 모드]

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20C1A633C0E52043C7C1B7CEB1D7B7A5B1B8BCBABFE4BCD2>

Java ...

Microsoft PowerPoint - chap-03.pptx

Studuino소프트웨어 설치

2_안드로이드UI

Convenience Timetable Design

untitled

금오공대 컴퓨터공학전공 강의자료

Microsoft PowerPoint - chap13-입출력라이브러리.pptx

Microsoft PowerPoint - additional01.ppt [호환 모드]

Chapter 연습문제답안. y *sin-*cos*^ep-*/sqrt. y [ ; sinpi/ ; sin*pi ; ] 혹은 [ sinpi/ sin*pi ]. a ais[- ] b et.,., sin. c.. a A는주어진행렬 M의 번째열만을표시하는새로운행렬을나타낸다.

tiawPlot ac 사용방법

R R ...

Multi-pass Sieve를 이용한 한국어 상호참조해결 반-자동 태깅 도구

Microsoft PowerPoint - chap11-포인터의활용.pptx

PowerPoint 프레젠테이션

쉽게 풀어쓴 C 프로그래밍

MATLAB and Numerical Analysis

목차 배열의개요 배열사용하기 다차원배열 배열을이용한문자열다루기 실무응용예제 C 2

아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상

Data Sync Manager(DSM) Example Guide Data Sync Manager (DSM) Example Guide DSM Copyright 2003 Ari System, Inc. All Rights reserved. Data Sync Manager

Microsoft PowerPoint - c2.ppt

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

Transcription:

공학컴퓨터활용입문 강의 4: Matlab 사용법 충남대학교메카트로닉스공학과

2.1 스크립트 m- 파일 2.1 스크립트 m- 파일 줄수가많아지면입력과수정이지루할뿐만아니라라이브러리구축, 디버깅과유지보수면에서도효과적이지못하므로 m- 파일을만들어사용하게된다. m- 파일이란일괄처리하도록 Matlab 명령어들을취합해놓은배치파일을말하며, 문자로시작하는파일명에확장자 (.m) 를가진다. m- 파일은크게스크립트 m- 파일과함수 m- 파일로구분된다. 외형적인차이는함수 m- 파일의첫실행문이반드시 function 으로시작된다는점이고, 내부적인차이는스크립트 m- 파일은명령창이사용하는작업공간과같은기억장소를공유하지만, 함수 m- 파일은별도의기억장소를사용한다는점이다. 때문에스크립트 m- 파일의모든변수들은명령창에서접근이가능하지만, 함수 m- 파일의변수들은접근이불가능하다. 2

2.1 스크립트 m- 파일 2.1.1 편집기의호출 Matlab 은스크립트파일을만들수있는자신의편집기를가지고있다. 새스크립트파일을작성하려면데스크탑창에서 < 새스크립트 > 나 < 새로만들기 > 에서스크립트를누르거나명령줄에서 edit 를실행하면되고기존의파일을열어편집하려면 < 열기 > 를누르면된다. 편집기와관련해서는 3 개의탭 ( 편집기탭, 퍼블리시탭, 보기탭 ) 이새로만들어진다. 편집기탭에는대부분의주기능들이들어있으며, 보기탭에는편집기창을분할하고결합해주는아이콘들이들어있다. 3

2.1 스크립트 m- 파일 2.1.2 스크립트파일편집 스크립트를입력하거나수정할때몇가지유의할점은다음과같다. 명령어입력시맨앞에프롬프트 (>>) 를넣을필요가없다. 여러개명령어입력 (, ;) - 명령어와명령어사이에콤마 (,) 또는세미콜론 (;) 를둠으로써한줄에여러개의명령어들을입력할수있다. 출력억제 (;) - 명령어의마지막에 ; 를붙이면출력이화면에표시되지않는다. 명령어연결 ( ) - 명령어가길어서한줄에다적을수없을경우에는각줄의마지막에마침표세개 ( ) 를붙이고 <Enter> 키로줄바꿈을한다음이어서입력. 주석문입력 (%) - 퍼센트기호 (%) 를입력하면거기서부터그줄의마지막까지는주석으로간주되고실행되지않는다. 여러줄의일괄적주석처리 - 주석처리할줄들을선택하고를누르면되고, 반대로해제할경우에는를누르면된다. 4

2.1 스크립트 m- 파일 2.1.2 스크립트파일편집 5

2.1 스크립트 m- 파일 2.1.3 스크립트파일저장 새스크립트가완성되면저장할수있다. 저장버튼또는 < 다른이름으로저장 > 을누르면파일명을입력하라는별도의창이나타나며여기에파일명을입력하고 < 저장 > 버튼을누르면저장된다. 파일명을정하는규칙은변수명을정하는것과같다. 파일저장시입력한파일명에는확장자 (.m) 가자동첨부되고, 사용자가별도로폴더를지정하지않으면현재폴더에저장된다. 기존파일을불러와서수정한다음실행만해도자동적으로저장된다. 6

2.1 스크립트 m- 파일 2.1.4 스크립트파일실행 스크립트를실행하는방법은두가지가있다. 하나는편집기에서, 다른하나는명령창에서실행하는방법이다. 편집기 : 스크립트를완성하고저장한다음상단의실행버튼을누르면실행된다. 7

2.1 스크립트 m- 파일 2.1.4 스크립트파일실행 명령창 : 명령줄에스크립트파일명을입력하고 <Enter> 키를누르면실행된다. 이때확장자는생략해도된다. 8

2.1 스크립트 m- 파일 2.1.5 디버깅 스크립트를작성하다보면숙련된프로그래머들조차도가끔문법오류와논리오류에직면하게된다. 문법오류는정해진규칙에따라스크립트를작성하지않았을때생기는오류이며, 논리오류보다더빈번히발생한다. 이오류는 Matlab 번역기가알려준다. 한줄의명령어를완성중이거나또이전에입력한줄에서문법상의경고나오류가발견되면, 그수준에따라오른쪽상단의녹색사각형의색이점점빨간색으로변한다. 노란색은경고로서해당프로그램을수정하지않아도실행은되지만최대한수정할필요가있고, 빨간색은오류를찾아수정해야만정상적인실행이가능하다. 실행을해도번역기가오류메시지를명령창에반환하고그위치를알려준다. 9

2.1 스크립트 m- 파일 2.1.5 디버깅 논리오류는문법적으로는오류가없어실행은되지만결과가틀리거나무한루프 (infinite loop), 오버플로 (over flow) 오류와같은예측할수없는동작을유발하는프로그래밍상의오류를말한다. 이런오류는일반적으로찾아내기가쉽지않으며, 편집기의디버깅기능을이용하여변수값들을단계적으로추적할수밖에없다. 문제가있을것으로생각되는위치에서실행이멈추도록마우스로문장번호옆 - 부분을클릭하여브레이크포인트를설정하고, 실행버튼을누르면다음슬라이드의그림과같은화면이나타난다. 예로빨간원 의위치가설정한브레이크포인트이고 가현재까지실행된스탭이다. 브레이크포인트는실행가능한명령문에서만설정할수있다. 실행된문장의변수위에마우스를갖다대면값이나타난다. 프로그램을한줄한줄씩실행하는 < 스텝 > 기능, 피호출함수안으로끼어들거나빠져나오는 < 스텝인 > 과 < 스텝아웃 > 기능등다양한기능들이있다. 10

2.1 스크립트 m- 파일 2.1.5 디버깅 편집기에서디버깅실행 11

2.2 변수와예약어 2.2.1 변수 변수는정수, 실수, 문자등의데이터를담을수있도록사용되는이름을말한다. 새로운변수가정의되고, 여기에값이할당되면컴퓨터메모리공간이할당되며, 이후로명령어나수식등에사용할수있다. Matlab 은내부적으로모든변수를배열로취급하며, 다음규칙에따라정할수있다. 1) 변수는문자, 숫자, 밑줄 (_) 의조합으로이루어지며, 그길이는 64 개까지가능하다. 2) 반드시문자로시작해야하며공백, 마침표, 콤마, 세미콜론을포함해서는안된다. 3) 대문자와소문자는구별되어야한다. 예를들어 value, Value, VALUE 는서로다른변수를의미한다. 4) Matlab 내장함수명 (sin, exp, sqrt 등 ) 과명령어 (for, if, plot 등 ) 를가급적변수로사용하지않도록한다. 일단이들을변수로사용하게되면, 처음정의된함수나명령어의의미는사라지게된다. 12

2.2 변수와예약어 2.2.1 변수 13

2.2 변수와예약어 2.2.1 변수 변수에문자열을할당할때에는작은따옴표 ( ) 내에글자, 숫자, 기호, 공백들의조합으로된문자를두면된다. 변수에문자열을할당하면문자들은배열에저장되며, 각문자는배열의한원소가된다. 원소의위치정보로각문자에접근할수있다. 14

2.2 변수와예약어 2.2.2 예약어 다른컴퓨터언어와마찬가지로 Matlab 도 for, if, sin, cos, case 등많은예약어를가지고있다. 자세한정보는도움말창에서 <reserved keywords> 로찾으면된다. 다음예약어들은프로그램중에서재정의해서쓸수있지만, 이렇게되면처음정의된그변수의의미는사라지게된다. pi : 원주율로정의된다. i : 복소수연산자로정의된다. j : i 와같다. eps : 상대적정밀도를의미하는작은값으로서이다. Inf : 무한대로정의된다. NaN : 수가아님 (Not-a-Number) 을뜻한다. 15

2.2 변수와예약어 2.2.2 예약어 다음은 x = cos(2π) 계산에예약어 pi 의사용예이다. 복소수는다음과같이입력할수있지만, 별표 (*) 없이입력한경우에는 I 또는 j 가반드시숫자다음에와야한다. 16

2.2 변수와예약어 2.2.2 예약어 두복소수 z1 = 3+4j, z2 = 7j 의곱셈과나눗셈을계산해주는예를보자. 위의경우는원하는값을얻을수있다. 하지만예약어 i 또는 j 를변수로미리사용하게되면복소수기호로서의효력이사라진다. 17

2.2 변수와예약어 2.2.2 예약어 i 와 j 는복소수연산이없는프로그램에서자주 for-end 문과함께재정의해서사용되기도한다. 극한연산에서는이지만, 현재우리가쓰는컴퓨터는그한계상 sin(0)/0 을연산할수없다. 이연산을실행하면 Matlab 은 NaN 을되돌리는데, 이때 eps 를사용하면원하는결과를얻을수있다. 다음연산결과는무한대임을보여준다. 18

2.3 데이터저장하고불러오기 2.3 데이터저장하고불러오기 명령줄이나스크립트파일에서변수에값을할당하면이는 Matlab 작업공간이라는메인메모리영역에저장되어남아있게된다. 작업공간에저장된변수들은 clear 명령어를사용하거나 Matlab 을종료하면지워지므로여러가지방법으로출력하거나물리적저장매체에저장할수있다. 19

2.3 데이터저장하고불러오기 2.3.1.1 MAT- 파일로저장하기 작업공간에저장되어있는변수값을 MAT- 파일, 즉정형화된이진파일로저장하고싶을때에는 save 명령어를사용하면된다. save fname var1 var2 : 두변수 var1, var2 의값, 변수명, 유형등을파일명 fname 에저장해준다. 저장할변수가더있으면공백을두고추가하면된다. save( fname, var1, var2 ) : 위의명령어와같다. 이명령어를실행시키면자동적으로확장자.mat 가붙는이진파일 (binary file) fname.mat 가생성된다. 한가지유념해야할것은 MAT- 파일은텍스트파일에비해입출력전달속도가빨라대용량의데이터를처리할때효과적이지만, 일반적인파일편집기로는열어볼수없다는점이다. 20

2.3 데이터저장하고불러오기 2.3.1.2 ASCII 파일로저장하기 명령어 save 는 ASCII 또는텍스트형식의파일저장에도쓸수있으며, 이때는다음과같은형식으로쓰면된다. save fname var1 var2 ascii : 두변수 var1, var2 의값을파일명 fname 에 ASCII 형식으로저장해준다. save( fname, var1, var2, -ascii ) : 위의명령어와같다. 결합된변수 buf 의값을파일명 fname2 에 ASCII 형식으로저장하고싶을때에는다음과같이하면된다. 저장된 ASCII 형식의파일내용은 type 명령어로볼수있다. 21

2.3 데이터저장하고불러오기 2.3.2.1 MAT- 파일불러오기 save 의반대개념으로서 load 는저장된파일로부터데이터를읽어주는명령어이다. MAT- 파일을읽기위해서는다음형식을사용하면된다. load fname : fname.mat 파일로저장된변수들을읽어준다. 실행되면파일의모든변수들이저장당시의이름, 유형, 값을가지고작업공간에추가된다. 확장자.mat 는생략가능하다. load( fname ) : 위의명령어와같다. fname 에어떤변수가저장되어있는지를알고싶을때에는 who 명령어를사용하면된다. 22

2.3 데이터저장하고불러오기 2.3.2.2 ASCII 파일불러오기 ASCII 또는텍스트파일을읽는방법은 MAT- 파일을읽을때와유사하며, 그형식은다음과같다. load fname : ASCII 또는텍스트파일 fname 에서데이터를불러온다. 불러온데이터는파일명과같은이름의변수에할당된다. load( fname ) : 위의명령어와같다. var = load( fname ) : fname 에서불러온데이터가 var 에할당된다. 다음예는 buf 의내용을 ASCII 형식으로파일 fname2 에저장한다음, 이를다시읽고그내용을확인해준다. 23

2.4 벡터와행렬의입력과조작 2.4 벡터와행렬의입력과조작 Matlab 은내부적으로모든변수를배열형태로표시하며, 단순변수는 1x1 배열로, 벡터는 1 x n 또는 n x 1 배열로, 2 차원행렬은 n x m 배열로간주된다. 이배열에는값또는문자가저장된다. 2.4.1.1 벡터입력 ( 직접입력 ) 벡터는변수에원소를할당함으로써생성되고, 생성방법으로는몇가지가있다. 직접입력 : 벡터를직접입력할때에는대괄호 ([ ]) 안에원소들을나열하는식으로입력하면된다. 이때원소와원소간에공백이나콤마 (,) 를두어야한다. 특히열벡터를만들때에는원소사이에세미콜론 (;) 을두어야한다. 다음슬라이드의예는행벡터와열벡터를만드는방법을보여준다. 행벡터를열벡터로, 다시열벡터를행벡터로변환할때에는전치 (transpose) 를의미하는기호 ( ) 를사용하면된다. 24

2.4 벡터와행렬의입력과조작 2.4.1.1 벡터입력 ( 직접입력 ) 25

2.4 벡터와행렬의입력과조작 2.4.1.1 벡터입력 ( 명령어로생성하기 ) 명령어로생성하기 : 벡터의차원이클경우에는수작업으로벡터를입력하는것자체가불가능할때가있다. 이런경우에는다음과같은방법으로생성하면된다. x = xmin:step:xmax : 첫원소가 xmin 이고, 간격이 step 이며, 마지막원소 xmax 를초과 ( 또는미달 ) 하지않는벡터를생성한다. x = [xmin:step:xmax] : 위의명령어와같다. x = linspace(xmin,xmax,n) : xmin 과 xmax 를포함해서간격이일정한 1xn 벡터를생성한다. x = logspace(a,b,n) : 10^a 와 10^b 을포함해서대수적으로간격이일정한 1xn 벡터를생성한다. step 이 1 이면생략가능하고 xmin, step 과 xmax 는수식이되어도된다. 26

2.4 벡터와행렬의입력과조작 2.4.1.1 벡터입력 ( 명령어로생성하기 ) 27

2.4 벡터와행렬의입력과조작 예제 2.1 다음 G(s) 의주파수전달함수의크기를구해보자. 28

2.4 벡터와행렬의입력과조작 2.4.1.2 2 차원행렬입력 ( 직접입력 ) 행렬도벡터와같이변수에원소를할당함으로써생성되고, 그외몇가지방법으로도생성할수있다. 직접입력 : 행렬을직접입력할때에는벡터와같이하면되지만, 행을구분하기위해서는행과행사이에세미콜론 (;) 을두어야한다. 다음은행렬을입력하는예를보여준다. 29

2.4 벡터와행렬의입력과조작 2.4.1.2 2 차원행렬입력 ( 명령어로생성하기 ) 명령어로생성하기 : 원하는행렬을명령어로만드는것자체가쉬운일은아니지만행렬이특수한형태인경우에는 Matlab 에서제공하는내장함수를활용하면쉽게만들수있다. zeros(n), zeros(n,n) : 모든원소가 0 인 n x n 행렬을생성한다. ones(n), ones(n,n) : 모든원소가 1 인 n x n 행렬을생성한다. eye(n), eye(n,n) : n x n 항등행렬을생성한다. B = reshape(a,n,m) : p x q 행렬을 n x m 행렬로재정렬시킨다. 단두행렬의원소개수가같아야한다 ( 즉 pq = nm). 30

2.4 벡터와행렬의입력과조작 2.4.1.2 2 차원행렬입력 ( 명령어로생성하기 ) 31

2.4 벡터와행렬의입력과조작 2.4.1.2 2 차원행렬입력 ( 행렬정보얻기 ) 행렬의차원, 원소의개수등과같은정보를얻는명령어는다음과같다. size(a) : 행렬 A의행과열의크기를알려준다. size(a,1) : A의행의크기를알려준다. size(a,2) : A의열의크기를알려준다. length(a) : A의행또는열의크기중큰값을알려준다. numel(a) : A의원소의개수를알려준다. 32

2.4 벡터와행렬의입력과조작 2.4.1.2 2 차원행렬입력 ( 행렬정보얻기 ) 33

2.4 벡터와행렬의입력과조작 2.4.2.1 부분배열생성하기 변수가정의되면그이후에배열크기나유형을마음대로바꿀수있다. 예로스칼라를벡터나행렬로바꾸거나, 벡터를스칼라나행렬로, 또행렬을스칼라나벡터로바꿀수있다. 이러한변형은원소를더하거나, 삭제하거나또어떤범위의원소를취함으로써이루어진다. 벡터내의어떤범위의원소들을선택할경우에는다음과같이콜론 (:) 을사용하면된다. end 는마지막원소의위치를의미한다. x(:) : 모든원소를선택한다. x(n:m) : n 번째부터 m 번째까지의원소를선택한다. x(end) : 마지막원소를선택한다. 34

2.4 벡터와행렬의입력과조작 2.4.2.1 부분배열생성하기 행렬의경우에도콜론 (:) 을사용하면된다. end 는행과열의마지막원소의위치를나타내준다. A(n, :) : n 번째행에속한모든열의원소를선택한다. A(:, m) : m 번째열에속한모든행의원소를선택한다. A(n1:n2, :) : n1~n2 번째행에속한모든열의원소를선택한다. A(:, m1:m2) : m1~m2 번째열에속한모든행의원소를선택한다. A(n1:n2, m1:m2) : n1~n2 번째행과 m1~m2 번째열에속한모든원소를선택한다. 35

2.4 벡터와행렬의입력과조작 2.4.2.1 부분배열생성하기 36

2.4 벡터와행렬의입력과조작 2.4.2.2 원소수정및제거하기 만약벡터나행렬의특정위치의원소를수정할경우에는아래와같이입력하면된다. 벡터의특정위치의원소를제거하려면빈대괄호 ([ ]) 를입력하면된다. 37

2.4 벡터와행렬의입력과조작 2.4.2.2 원소수정및제거하기 행렬의특정위치의원소를제거할때에는다음과같이입력하면삭제되고, 차원이줄어든다. 38

2.4 벡터와행렬의입력과조작 2.4.2.3 원소추가하기 벡터의길이를넘어서는위치의원소에새로운값을할당하면확장된벡터를만들수있고, 마지막원소와새원소사이에는 0 이할당된다. 39

2.4 벡터와행렬의입력과조작 2.4.2.3 원소추가하기 같은차원의두벡터를결합해서다른길이의벡터를만들수있고또같은차원의두벡터를결합해서행렬을만들수있다. 40

2.4 벡터와행렬의입력과조작 2.4.2.3 원소추가하기 행렬의차원을넘어서는위치의원소에새로운값을할당하면새로운행과열이추가되고, 나머지추가된원소에 0 이할당된다. 행렬에열벡터를추가할때에는세미콜론 (;) 으로분리한다음적어주면되고, 행벡터를추가할때에는뒤에추가해주면된다. 이때추가되는행이나열의길이가행렬의행또는열의길이와같도록해주어야한다. 41

2.4 벡터와행렬의입력과조작 2.4.2.3 원소추가하기 어떤행렬의행에다른행렬을추가할때에도세미콜론 (;) 으로분리한다음적어주면되고, 열에추가할때에는뒤에추가해주면된다. 이때추가되는행이나열의길이가행렬의행또는열의길이와같아야한다. 42

2.4 벡터와행렬의입력과조작 예제 2.2 0 t 4π 동안 sin(t) 와 cos(t) 의그래프를그려보자. 43

2.4 벡터와행렬의입력과조작 2.4.3.1 문자열의조작 앞서변수에는문자열을저장할수있고또문자열은작은따옴표 ( ) 안에문자, 숫자, 기호와공백의조합으로표시될수있음을간단히살펴보았다. 문자열도대괄호 ([ ]) 와세미콜론 (;) 을사용하여한문자열에다른문자열을추가시킬수있다. 44

2.4 벡터와행렬의입력과조작 2.4.3.2 문자열의삭제 문자열내의임의문자를삭제할때에는아래와같이빈대괄호 ([ ]) 를입력하면삭제되고, 문자열의길이는제거한문자수만큼줄어든다. 45