행렬의 원하는 부분을 치환하기 위해서는 치환하고자 하는 행렬의 원소에 값을 입력한다. 먼저 다음과 같이 행렬 A를 생성하자
>> A = [ 1 2 3 4 5;6 7 8 9 10;9 9 9 9 9;0 0 0 0 0;1 1 1 1 1]; |
이제 행렬 A에 대해서 다음 예제들과 같이 조작할 수 있다.
>> A(1,2) = 100 % (1,2) 원소가 100이 된다.A =1 100 3 4 56 7 8 9 109 9 9 9 90 0 0 0 01 1 1 1 1>> A(:,2) = [1 1 1 1 1]' % 2열의 원소들을 치환한다.A =1 1 3 4 56 1 8 9 109 1 9 9 90 1 0 0 01 1 1 1 1>> A(1:4,2) = [2 2 2 2]' % 1행~4행의 2열 원소들을 2로 치환A =1 2 3 4 56 2 8 9 109 2 9 9 90 2 0 0 01 1 1 1 1>> A(1,2) = 100 % (1,2) 원소가 100이 된다.A =1 100 3 4 56 7 8 9 109 9 9 9 90 0 0 0 01 1 1 1 1>> A(:,2) = [1 1 1 1 1]' % 2열의 원소들을 치환한다.A =1 1 3 4 56 1 8 9 109 1 9 9 90 1 0 0 01 1 1 1 1>> A(1:4,2) = [2 2 2 2]' % 1행~4행의 2열 원소들을 2로 치환A =1 2 3 4 56 2 8 9 109 2 9 9 90 2 0 0 01 1 1 1 1 |
아직 생성되지 않은 행렬의 특정한 요소에 값을 대입할 수 있다. 이때 지정되지 않은 원소는 모두 0 으로 출력된다. 예를 들어 아직 작업 공간에 D라는 변수가 없는 경우 다음과 같이 명령을 내리면,
>> D(3,3)=3 D =0 0 00 0 00 0 3 |
와 같이 D가 새로 생성되고 (3,3)자리에 3이 대입되며 지정되지 않은 다른 자리에는 0으로 채워진다. 만약 이 상태에서 다음과 같이 추가적으로 명령을 내리면
>> D(5,5)=5 D =0 0 0 0 00 0 0 0 00 0 3 0 00 0 0 0 00 0 0 0 5 |
지정되지 않은 위치의 요소들은 0으로 초기화되는 것을 알 수 있다.
또 다른 예로서, C라는 행렬을 새로 생성시키는데, 두 번째 행을 [1 2 3]으로 하고 싶으면 다음과 같이 한다.
>> C(2,:)=[1 2 3] C =0 0 01 2 3 |
이때 지정되지 않은 첫 번째 행의 값은 0으로 초기화됨을 알 수 있다. 만약 A라는 행렬이 3X3 크기의 행렬로 작업공간에 존재한다면
>> a=A(4,4) ??? Index exceeds matrix dimensions. |
는 보다시피 에러가 발생한다. 하지만 다음 명령어는 새로운 변수가 생성되는 것과 비슷한 규칙이 적용된다.
>> A(4,4)=10 A =1 2 3 04 5 6 07 8 9 00 0 0 10 |
즉, 지정된 위치를 만들어 값을 대입하고 값이 없는 위치에는 0을 대입한다.
'프로그래밍언어.Lib > MATLAB' 카테고리의 다른 글
MATLAB의 특수 행렬을 생성하는 함수들 (1) | 2015.06.25 |
---|---|
MATLAB 행렬의 크기 구하기 (3) | 2015.06.25 |
MATLAB 의 행렬의 인덱싱 방법 (part 2) (0) | 2015.06.24 |
MATLAB 의 행렬의 인덱싱 방법 (part 1) (0) | 2015.06.24 |
MATLAB 의 행렬 기본 입력 (part 4) : 벡터와 콜론(:) 연산자 (0) | 2015.06.24 |