오늘의 해야 할일은 행렬이었습니다.
4x4 * 3x3 이런 행렬이 아닌 349x1 * 1x349 행렬
349^2 를 계산하면 무려 121801개라는 엄청난 수의 데이터를 만들어야합니다. (벌써 멀미나는데)
추가로 저것을 엑셀로 정리하고 중복되는것은 삭제하고..
방대한 양의 작업;
최대 장애물은 숫자라면 어떻게 엑셀로 해보겠으나,
문자 행렬 -_- (토한다)
예를들어
2x1 행렬 * 1x2행렬 = ...
[ 1 홍길동 xxx yyy zzz [1 홍길동 xxx yyy zzz, 2 고길동 xxx yyy zzz] =
2 고길동 xxx yyy zzz]
아 정리할 엄두가 안나네요 , 저게 무려 349 -_-) 안에 들어가는 내용은 더 많습니다.
행렬 계산은 Matlab 이라는 프로그램을 쓰면 쉽다길래
처음 마주하게 되었습니다.
300백만원 짜리란 소리를 들었지만 그런거야 뭐 별 감흥도 없었고 -_-
딱보니 무슨 java 같이 생긴게 설명서는 온통 영어에 알수없는 소스코드 같은것만 잔뜩 있더군요;
첫인상은 java 나 c 같은 프로그램인 줄 알았습니다.
한참 멍하니 있다가 설명서에 나온 그림(!)만 보고 따라해보니 조금 감이 옵니다.
어느정도 프로그래밍 언어와 비슷한 면도 있구요. (프로그래밍 언어에 대해서 얕은 지식만 있어도 충분히 도움이 되는듯..)
예를 들자면
A = [1, 2, 3, 4, 5]
라고 입력하면 A 라는 것은 [ 1 2 3 4 5 ] 라는 행렬로 정의 됩니다.
B = [1; 2; 3; 4; 5]
이렇게 입력하면 B는 [ 1 라는 5x1 행렬로 정의 되구요 ;
2
3
4
5]
A행렬과 B행렬을 곱하고 싶다!
면, A*B 라고 입력해주면 계산되어서 나옵니다. ㅎㄷㄷ
더 엄청난 것은 A' 이라고 입력하면 이것은 B와 같게 계산한다는 것입니다.
즉 A' = B .. 정말 엄청난 프로그램이군요. (아 이런거에 감동받다니)
이렇게 좋은게 있는데 왜 학교에선 생고생을 해가며 손으로 B4용지를 가득 메웠을까요 ㅠㅠ;;
-----------여기서부턴 신경안쓰셔도 됩니다. 잘나가다가 결국은 파토나는 내용------------
문자열은 A= '문자' 로 지정하면 된다 길래
349개를 정리해서 다 입력하고 계산해 봤으나
out of memory , 아웃오브안중 아닙니다. 계산량이 너무 많아서 안된다는 겁니다.
'
엑셀로 일일히 해야할 듯한 난관에 봉착하고,
'어쩔수 없다 , 힘들지만 행렬을 쪼개서 하자' 라는 생각으로 다시 도전.
* 행렬을 쪼개서 계산한다?
?x1 행렬이기에 해볼만 합니다.
10x1 행렬이라면 일단 5x1, 5x1 로 나눈다음 A, B라 생각하면
각각계산해서 [ AA' AB' 형태로 합쳐주면 되겠지요.
BA' BB']
각설 하고, 결과는 개판;
변수 자체는 문자형태로 정의가 가능한데(String A= "고길동"; 처럼)
이런 변수끼리 계산을 해버리면 결과값은 엉뚱하게 숫자로 나와버립니다.
(String * String = Double 이라니.. 내가 고자라니..)
뭐 처음 프로그램 만져본놈이 뭘알겠느냐 만은 더이상 진전이 안되더군요;
결과 형태를 문자형태로 표현이 안되는가 흐앍..
제가 하고 싶은건 두개의 변수가 붙어서 출력되는건데 말입니다.
(행렬로 만들기 귀찮아서; 그냥 대충 표현합니다)
A1 = "고길동"
A2 = "홍길동"
A1*A2 = 고길동 홍길동
이거 하는 방법이 없나요 ㅠㅠ
내일 출근하면 하루종일 엑셀 노가다 해야될거 같음 흙..