푸리에 변환(Fourier Transformation) #2
벡터는 공간에서 어떤 점들을 갖고 덧셈을 하고 싶을 때 쓰는 개념이다. 공간은 점을 많이 모아둔 것인데, 점마다 이름이 있다. 점들이 갖고 있는 이름을 좌표라고 부르는데, 흔히 숫자를 많이 쓴다. 굳이 숫자를 쓰지 않아도 되지만 무한히 많은 대상을 표현하는데는 숫자를 사용하는 것이 아무래도 편리하다. 매번 특정 숫자를 놓고 얘기를 할 수 없으므로 수학자들은 아무 숫자나 갖다 놔도 된다는 뜻에서 $$a,b,c…x,y,z, \alpha,\beta…$$등의 이상한 문자들을 숫자 대신 적어둔다. 아무튼, 공간에 있는 점들이 벡터가 되면 그 공간은 벡터 공간(Vector Space)이라고 부른다. 잠깐. 그 전에 벡터가 뭔지 알아야 하는것 아닌가.
수학적으로 벡터는 다음과 같이 정의된다.(좀 더 엄밀한 정의는 선형대수학 책을 참고하기 바란다)
어떤 공간을 V라고 하고, 그 안에 x, y, z가 있다고 하면,
- x+y가 V안에 있다
- x+y = y+x (교환법칙)
- x+(y+z) = (x+y)+z (결합법칙)
- V안에 0이 있다. 0은 V안에서 x+0=0+x=x인 특징을 가져야 한다. ()
-
V안에 있는 아무 x에 대하여, x+(-x) = 0이 되도록 하는 “-x”라는 것이 존재한다. (역원이 있다)
여기까지 만족하면 V는 Abelian Group이 된다. (덧셈이 잘된다는 뜻)
또한 아무 벡터 x, y와 그냥 숫자 a, b에 대해서 - ax가 V안에 있다
- (a+b)x=ax+bx
- a(x+y)=ax+ay
- (ab)x=a(bx)
- 1x=x (1은 곱셈에 대한 항등원)
여기까지를 만족하면 V는 Scalar Multiplication이 잘된다.
위의 열가지 조건을 모두 만족하면 V가 벡터 공간이 된다. 요약하자면,
덧셈 잘되고 길이를 바꿀 수 있으면 벡터 공간이라는 뜻이다.
이것은 우리가 길찾기 할 때 동쪽으로 가고 남쪽으로 가든, 남쪽으로 가고 동쪽으로 가든 상관 없다는 것을 의미한다.
참고로 $$f:\mathbb{R}^n\rightarrow\mathbb{R}^m$$인 함수를 모두 모아둔 공간도 벡터 공간이다. 이것은 아주 중요한 얘기이다.
1.사영(Projection)
벡터에 대해서 공부하다보면 “내적(inner product)”이라는 개념이 등장한다. 이것은 그냥 두 벡터 사이에 어떤 연관성이 있는지 알아보기 위해서 등장한 것인데, 계산은 단순하다.
$$\vec{a} = (a_1, a_2, a_3)$$ 이고 $$\vec{b} = (b_1, b_2, b_3)$$ 라고 하면, 이제 두 벡터에서 숫자 한개를 만들어 낼 수 있다.
$$\vec{a} \cdot \vec{b} = a_1b_1 + a_2b_2 + a_3b_3$$
이런식으로 각각의 성분 순서대로 짝을 지어서 더한 것을 그냥 내적이라고 부른다. 저 가운데의 점 찍은건 그냥 두 벡터 사이의 연관성이라는 뜻을 갖고 있다고 보면 된다.
수학적으로 내적은 다음과 같이 정의된다. 그냥 a와 b가 벡터 공간에 있는 두 벡터라고 하면 x, y가 벡터이고 k가 그냥 숫자일 때,
$$
$$
$$
$$
내적이 잘 정의되는 공간을 내적 공간(Inner product space)라고 부른다.
내적이 잘 이해가 안된다면,
한 벡터에서 다른 벡터로 빛을 쐈을 때 보이는 그림자의 길이
를 내적이라는 숫자로 생각하면 된다.
2.벡터 공간의 기저
basis : 기저
3차원 공간에는 방향이 3개 있다. 물론 n차원 공간에는 방향이 n개 있다. 이렇게 말할 수 있는 이유는 적당한 벡터 3개만 있으면 3차원 공간에 있는 모든 벡터를 그 3개의 1차 결합으로 표현할 수 있기 때문이다.
1차 결합이란 다음과 같다. a와 b가 숫자이고, x와 y가 벡터이면 ax+by는 당연히 벡터 공간 안에 있는 다른 벡터인데, ax+by는 x와 y의 1차 결합으로 표현된 벡터이다.
앞서 예를 들었듯이 함수를 모아둔 공간도 벡터 공간이다. 예를들어 sin(x)와 cos(x)가 실수에서 실수로 가는 함수라면, sin(x)+4cos(x)도 실수에서 실수로 가는 함수이므로, 벡터로서 잘 더해진 것이다. 그런데 이런 공간에서 방향을 찾는다는 것은 어떤 것일까? 한가지 우리가 생각해볼 수 있는 힌트는 3차원 공간에서 방향 3개는 서로 독립적이라는 것이다. 예를들어, 남쪽 방향에 있는 집은 때려 죽여도 동쪽으로 가서 찾을 수 없다. 벡터에서 이런 것을 서로 독립이라고 말하며, x, y가 벡터이고 a가 숫자일 때 y=ax인 a가 한개도 없는 것을 말한다.
가령, 남쪽 2층 집은 “남쪽” 벡터와 “위” 벡터 두개를 적당히 조합하여 만들 수 있다. 그러나 동쪽집은 남쪽 벡터와 위쪽 벡터로는 절대 도착할 수가 없다. 만약 남쪽, 동쪽, 위쪽 벡터를 갖고 있으면 우리는 어느 집이나 갈 수 있다. 남쪽으로 100미터, 동쪽 반대(서쪽)로 50미터, 위로 4층 등등. 이렇게 되는 경우 3차원 공간은 3개의 벡터로 완전히 표현된다고 말한다.
함수들에서도 이런 관계를 찾을 수 있는데, sin(x)에 어떤 숫자를 곱하더라도 cos(x)가 나오지는 않는다. 따라서 이 두 함수는 서로 독립이다. 그렇다면, 함수로 이루어진 벡터 공간은 방향이 몇개일까? 어려운 얘기지만, 일반적으로 무한히 많은 방향을 가질 수 있다. 감히 서너개 정도의 방향으로 상상해볼 범주가 아닌 것이다. 그래서 수학자들은 이러한 방향에 대해 생각하다가 규칙을 찾게 되었다.
무한히 미분 가능한 매끄러운 함수들을 표현하는데 가장 편한 것은 테일러 급수이다. 여기서는 $$x^n$$형태의 함수들이 방향을 표현하는 기본적인 함수가 된다. 이것들은 마치 (1,0)이나 (0,1)처럼 함수 공간을 표현해주는 기본 함수가 된다. 하지만 이런 함수들은 문제가 있는데, 서로 직각을 이루지 않는다는 것이다. 엥? 직각? 눈에 뵈지도 않는 함수 공간에서 웬 직각?
sin(x)와 sin(2x)는 서로 다른 방향을 가리키는 함수다. 이것은 앞서 얘기한대로 어떤 숫자를 곱하더라도 어느 하나를 다른 하나로 바꿀 수 없다는 뜻이다. 수학자들은 이 두가지 벡터 사이의 각도를 재는 방법을 고심하다가 이 함수라는 것이 무엇인지 깨달았다. 함수는 수열의 확장판인데, 수열은 벡터인 것이다. 즉 벡터를 (1,2,4)처럼 유한한 것만이 아니라 (3,4,1,4,5,2,7,7,8,…)등으로 무한 차원에서는 무한히 길게 적을 수 있으므로 저 각각은 수열이다. 그런데, 수열은 첫번째, 두번째 등으로 순서를 매겨서 그 순서에 해당하는 숫자를 정해준 것이다. 그리고 함수는, 조금 단순히 말하자면 그 첫번째, 두번째의 사이사이에 모든 숫자를 다 넣어준 것이라고 보면 된다. 따라서, 벡터의 내적을 찾을 때 첫번째 끼리 곱하고, 두번째 끼리 곱해서 짝맞춰서 곱한걸 모두 더했으므로 함수도 마찬가지 방법을 이용하면 된다. 그리하여 두 함수 f(x)와 g(x)사이의 내적은, x번째 짝을 맞춰서 곱한 f(x)g(x)를 모두 더한 $$\int dx f(x)g(x)$$ 가 되는 것이다. 이 내용이 어렵다면, 아무튼
두 함수 사이의 각도를 잴 수 있다
는 것만 알아두자.
어떤 두 벡터를 내적시키면 다음의 관계가 성립한다.
$$\vec{A}\cdot\vec{B} = \mid A\mid \mid B \mid \cos\theta$$
따라서 각도 $$\theta$$를 알아낼 수가 있으며, 만약 내적이 0이면 두 벡터는 직각을 이룬다고 부른다. 다른건 몰라도 직각인지 아닌지는 확실히 알 수 있다.
직각인 두 벡터는 서로 끼어들어가는 성분이 없다. 즉, A에다가 B를 백날 비춰봐야 그림자가 생기지 않는다는 뜻이다. 쉽게 말해서, 남쪽으로 달려가면 아무리 달려가도 동쪽으로는 단 한발짝도 움직여지지 않는다는 뜻이다.
함수공간에서는 이러한 직교하는 기저 벡터들을 찾아내는 것이 아주 중요한데, 수학자들이 여러가지를 찾아내서 자기 이름을 붙여놨다. Legendre, Laguerre, Hermit, Hankel…
그리고 우리의 영웅 Fourier도 직교하는 기저 벡터들을 찾았는데, 안타깝게도 Fourier가 찾아낸 것은 삼각함수들이라 그냥 삼각함수라고 부르게 되었다. 너무 오래전부터 써 오던거라 이름을 바꿀 수가 없었다. sin 함수를 Fourier 1번 함수라고 부르면 어색하잖아.
sin(ax)*sin(bx)라는 함수를 모든 구간에서 적분하면, a와 b가 같지 않으면 반드시 0이 된다. cos끼리 곱한 것도 마찬가지이다. sin과 cos을 곱한 것은 a와 b에 상관 없이 반드시 0이다. 따라서 삼각함수는 모든 함수를 표현할 수 있는 직교 기저가 된다!
푸리에의 정리 : 모든 연속함수는 삼각함수의 선형 결합으로 표현할 수 있다.
푸리에 변환 : 주어진 함수를 삼각함수의 선형 결합으로 표현할 때, 그 결합을 표현하는 계수만 골라내서 새로운 함수로 간주한다. 이것을 푸리에 변환이라고 부른다.
(3편에서 이어집니다…)
영어 블로그를 시도해 볼까
그리하여, 남아있는 티스토리 초대장으로 분점을 내볼까 생각중인데, 도메인 이름으로 무엇이 멋지려나.
melotopia.tistory.com
: melotopia니까
snowall2.tistory.com
: 단순히 snowall 2호점이라는 뜻으로
nambach.tistory.com
: 미국에서 쓸 예정인(?) 닉네임. 남-박 이라 불러주세요.
nam.tistory.com
: 그냥 성만 따서?
susy.tistory.com
: super-symmetry의 약자 susy. 외우기도 쉽다. 이쁜 이름이기도 하고.
내 개인적인 선호도 순서로 적긴 했는데, 사실 짧은 주소가 외우기도 쉽고 좋은데. 댓글로 투표좀 해주세요.
—————-
투표 결과에 따라
susy.tistory.com
으로 낙찰되었습니다. ㅋㅋ 투표에 참여해주신 모든 분들께 감사드립니다.
일곱하기 일
일곱하기일곱하기일은일
일곱하기일곱하기일곱하기일은일
일곱하기일곱하기일곱하기일곱하기일은일
일곱하기일곱하기일곱하기일곱하기일곱하기일은일
일곱하기일곱하기일곱하기일곱하기일곱하기일곱하기일은일
일곱하기일곱하기일곱하기일곱하기일곱하기일곱하기일곱하기일은일
10명중 7명은 직장에 들어간다~
세상은 일의 시대 ~
일곱하기일곱하기일곱하기일곱하기일곱하기일곱하기일곱하기일곱하기일은일
일곱하기일곱하기일곱하기일곱하기일곱하기일곱하기일곱하기일곱하기일곱하기일은일
일곱하기일곱하기일곱하기일곱하기일곱하기일곱하기일곱하기일곱하기일곱하기일곱하기일은일
일을 하라.
일
—————————–
해보고 싶었다. 이런거.
이걸 수학 카테고리에 넣을지 감상/노래 카테고리에 넣을지 전략에 넣을지 잡담에 넣을지 20초간 고민했다.
결국 일은 항등원이므로 수학에 넣었다.
미래는 지식 사회가 아니다
말장난이 될 수도 있지만, 미래는 지식 기반이 아니라 지혜 기반의 사회가 될 것이다.
지식이라는 것은 지혜와 다르다. 예를 들어, 대상 A에 관한 지식은 A가 어떤 특성을 갖는지 알고 A를 잘 다룰 수 있도록 하는 정보를 말한다. 대상 A에 관한 지혜는 A가 어떤 특성을 갖는지 살펴볼 수 있는 능력을 말한다.
지혜 기반의 사회란 사람들이 행동할 때 지식뿐만 아니라 지혜를 동원하여 자신의 단기적인 이익만 추구하지 않고 자신의 행동으로부터 도출될 수 있는 많은 결과들을 예상하여 지속 가능한 이익과 다른 사람과 함께 성장하는 것을 모두 추구하는 사회를 뜻한다.
지금은 안그러냐고? 글쎄. 대통령 선거판을 보고 있다보면 그런 느낌은 안드는데. 블로고스피어에 터져 나오는 이슈를 봐도 그런 느낌은 안들고. 인터넷 뉴스를 봐도 그런 느낌은 안든다.
멀리 보고 크게 생각하라고 맨날 강조하는데, 강조만 하고 보지는 못하는 것 같다. 아무튼, 지혜로운 사람이 성공하는 시대가 올 것이다. 아니, 지혜로운 사람은 성공할 것이다.
갈색추억 (한혜진)
태터툴즈 건의사항 : 댓글 저작권
집단지성 : 보이지 않는 손
사람들은 항상 무언가를 소유하고 싶어한다. 그것이 무엇이 되었든, 사람들은 자신이 원하는 것을 얻기 위해서 노력한다. 직접 만드는 사람도 있고, 누가 만들어준 것을 받아서 쓰는 사람도 있다. 누군가 만든 것을 받아서 쓰는 경우에는 만든이에게 적절한 댓가를 주는데, 이 과정에서 경제가 탄생한다. 만든이가 댓가를 받는 이유는 그 역시 무언가를 갖고 싶어하기 때문이다. 그리고 같은 물건을 만든이가 여럿이면 그 각각이 원하는 것을 갖기 위해서는 자신이 만든 것을 팔아야 하고, 자신이 만든것을 팔기 위해서는 상대방이 구입해야 한다. 상대방이 구입하게 하려면 그것은 오직 가격으로 승부해야 한다.
1
또한 소비자 역시 만들어지는 물건을 구하는데 한계가 있으며, 자신과 같은 것을 구하는 사람이 많아지면 가격은 올라간다. 이것은 누가 말하지 않아도 적정선에서 가격을 결정하게 하는 요인이 되고, 소비자와 판매자 모두가 불평할 수 없는 방법이 된다. 왜냐하면, 그렇게 결정된 적정가격보다 비싸면 소비자가 사지 않거나 살 수 없을 것이고, 적정가격보다 싸면 판매자가 팔지 않거나 팔 수 없을 것이기 때문이다.
2
이 설명은 내가 이해하고 있는
보이지 않는 손
의 내용이다.
보이지 않는 손은 이제 “집단 지성”이라는 이름으로 화폐경제 바깥으로 나온 것 같다. 지식의 축적이 일부 지식인들의 통제에서 벗어나 개인들의 지식 추구로 이루어지게 된 것이다.
자, 이제 패러디 해보자.
사람들은 항상 무언가를 궁금해 하는데, 그것이 무엇이 되었든 그 답을 알아내기 위해서 노력한다. 직접 연구해서 알아내는 사람도 있고, 누가 연구한 것을 참고해서 공부하는 사람도 있다. 누군가가 연구한 것을 공부하는 경우에는 그 연구한 사람에게 적절한 반응
3
을 해줘야 하는데, 이 과정에서 지식이 탄생한다. 연구자가 독자로부터 반응을 받는 이유는 그 역시 궁금하기 때문이다. 만약 같은 분야를 연구하는 사람이 여럿이면 그 각각이 자신이 주장하는 바가 옳다고 인정받기 위해서는 많은 사람들이 수용해야 하고, 많은 사람들이 받아들이도록 하려면 자신의 주장을 알려야 한다. 자신의 주장을 받아들이도록 하려면 오직 논리로 승부해야 한다.
4
또한 받아들이는 사람들 역시 연구 결과를 이해하는데는 한계가 있으며, 이해 못하는 사람이 많아질수록 연구 결과는 인정되기 힘들어진다. 이것은 누가 말하지 않아도 적절한 난이도 수준에서 설명의 내용이 결정되도록 하는 요인이 된다. 만약 너무 어려운 설명이라면 아무도 이해하지 못할테니 인정받지 못할 것이고,
5
너무 쉬운 설명이라면 연구 결과를 모두 담는데 한계가 있다.
6
7
사실 집단지성이나 시장경제나 큰손이 좌지우지 할 수 있긴 하다. 학계의 대가가 쓴 논문은 대충 쓴 것 같아도 별 탈 없이 학술지에 게제되고, 초보가 쓴 논문은 아주 뛰어나지 않으면 학술지에 실리기 힘들다. 돈이 아주 많은 사람은 원하는 것을 쉽게 얻지만 돈이 없는 사람은 각고의 노력 끝에 얻어야 한다. 쉽지 않다. 이것이 조절되지 않으면 시장 실패 / 지적 실패가 나타난다. 시장 실패는 시장이 적정 가격을 조절하는데 실패하는 것이고, 지적 실패는 진리를 밝히는데 실패하는 것이다.
8
내 견해는, 집단지성은 시장경제보다 좀 더 포괄적인 개념이고 시장경제라는 개념을 포함한다고 본다.
http://snowall.tistory.com/131
에서 예를 들었듯이, 개인의 참여가 정답을 만들어낼 수 있는 것이다. 물론 이정도로 확장하려면 “지성”이라는 것이 아니라 다른 용어를 쓸 필요가 있겠지만. 따지고보면 민주주의 투표 방식도 집단지성의 예가 될 수 있다.
9
10
물론 집단지성의 위력은 참여집단이 아주 클 때 나타난다. 우리나라에서 군부가 권력을 장악했어도 국민 전체가 요구하는 민주주의적인 개혁을 막아내지 못했고, 위키피디아의 많은 내용은 전세계의 수많은 사람들이 참여했기 때문에 가능했다. 슬래시닷은 글에 대한 평가 권력을 대중에게 넘겨서 세계에서 가장 큰 인터넷 커뮤니티 중의 하나로 성장했다.
11
리눅스의 성공은 오픈소스 커뮤니티의 수많은 사람들이 자발적으로 참여했기에 거대기업의 운영체제인 윈도우즈나 맥OS와 당당히 경쟁할 수 있는 것이다. 한두명 갖고 어찌할 계제가 아니다. 역설적으로, 집단지성의 어두운 면이 모두가 모두의 빅브라더가 되는 인터넷 세상을 만들었다.
12
요건은 참여다. 보이지 않는 손이 성공하고 싶어도 개개인이 가격 조정에 참여하지 않으면 시장은 실패한다. 물건 값이 비싸다면 구입하지 않아야 하는데 그래도 그냥 그러려니 하고 항의도 없이 사니까 값이 내려가지 않는다.
13
즉, 상품 가격이 적정한가에 대한 검증은 소비자의 몫이라는 것이다. 마찬가지로 지식 사회에서도 지식이 진리에 가까운 것인지 검증하는 것은 대중의 몫이다. 지식 자체를 만드는 것은 전문가가 필요할 것이다. 예를 들어보자. 입자물리학이나 중성미자 실험에 관한 내용을 아무나 쓸 수는 없다. 그러나 이것에 관한 자세한 이해를 요구하면서 대중은 지식을 검증해 나갈 수 있다. 전문가가 만든 지식이라고 하더라도 대중에 의해 논리적 오류가 발견될 수는 있다. 전문가는 지식을 창조해 낼 때 대중에 의해 오류가 발견되지 않도록 세심한 주의를 기울이게 될 것이다.
14
글을 다시 읽어보니 마치 모든 것을 집단에게 맡기고, 보이지 않는 손에 확실한 자유를 보장하면 뭐든지 성공할 것 같이 얘기했는데 사실이다. 다만 전제 조건으로서, 현상의 조절자 역할을 담당하는 집단 속에 반드시 좀 많이 아는 전문가가 함께 참여하여 배가 산으로 가는 것을 막아야 하는 것이 필요하다.
15
* 글을 쓰는데
http://econoblog.tistory.com/39
을 많이 참고하였음을 밝혀둔다.
-
서비스로 경쟁할 수도 있지만, 이것은 추상적 의미에서는 “더 많은 양”을 같은 가격에 제공하는 것이므로 같은 양에 대해서는 더 싸게 제공하는 것과 같다.
[본문으로]
-
독점 등의 경우에도 마찬가지로, 판매자가 적기 때문에 가격이 끝도없이 올라가는 것이다. 물론 이 경우 독점자는 경쟁자가 등장하지 못하도록 막는다는 점이 윤리적으로 나쁘긴 하지만.
[본문으로]
-
feedback의 적절한 표현을 찾기가 힘들다.
[본문으로]
-
감성으로 경쟁할 수도 있지만, 이것은 추상적 의미에서는 직관을 따르는 것이므로 결국은 논리로써 증명해야 한다.
[본문으로]
-
아인슈타인의 일반 상대성 이론이나 앤드루 와일즈의 페르마의 마지막 정리에 관한 증명이다. 발표 즉시 받아들여지지 않고 인정되는데 시간이 좀 걸렸다.
[본문으로]
-
브라이언 그린의 “엘러건트 유니버스”를 보면 양자역학, 상대성 이론, 초끈 이론 등이 정말 쉽게 설명이 되어 있고 이공계 대학생 정도라면 충분히 이해할 수 있을 정도이다. 하지만 그것이 초끈이론의 전부라고 생각하면 엄청나게 곤란한 것이다.
[본문으로]
-
만약 관련 분야의 연구자가 한명 뿐이라면, 그가 속임수를 써도 아무도 모르고 심지어 경쟁 연구 그룹 등이 결성되지 못하게 방해하는 등의 윤리적인 문제가 발생할 수 있다. 이건 우리나라에서 황우석 씨의 사건으로부터 잘 알 수 있다.
[본문으로]
-
물론 황우석씨의 연구 결과를 놓고 논란이 많았던 예로부터 알 수 있는 부분이다. 황우석밖에 연구할 사람이 없다고 믿는 것이 결국 연구 전체의 실패를 초래했다.
[본문으로]
-
물론 권력자의 강요라든가, 언론의 왜곡된 보도라든가 등등에 의해 민주주의도 실패할 수는 있다.
[본문으로]
-
예외라고 해야할 것 같은 부분인데, 다수에 의한 소수의 억압이 가능하다는 점에서 무조건 다수결은 집단 지성과 약간 차이가 있다. 선거 제도는 그 형식상 한명만 뽑는 제도라 어쩔 수 없는 것 같다. 맘에 안드는 사람이 선출될 수도 있는 것 아닌가.
[본문으로]
-
http://snowall.tistory.com/273
[본문으로]
-
http://snowall.tistory.com/282
[본문으로]
-
이는 어떤 물건의 가격이 부당하게 책정된 것의 책임을 모두 소비자에게 돌리려는 의도의 문장이 아님을 명시한다. 그 책임은 일단 가격을 결정한 제조사에 있다. 다만, 이걸 고치기 위해서는 제조사가 윤리적으로 적절한 가격을 결정하기도 해야 하겠지만 수많은 소비자의 자발적 참여 또한 요구된다.
[본문으로]
-
대충 넘어가도 아무도 눈치채지 못한다면, 지성의 실패가 될 수는 있지만 지식은 지식이다. 가령 창조론이 그 예가 될 수 있겠다. 창조론이 한참 받아들여지던 시기에는 아무도 이의를 제기하지 않았고, 그 결과 창조론은 진리일 수 있었다.
[본문으로]
-
http://econoblog.tistory.com/39#comment1915940
[본문으로]
beamer
\documentclass{beamer}
\usepackage{beamerthemesplit}
\title{Example Presentation Created with the Beamer Package}
\author{Till Tantau}
\date{\today}\begin{document}
\frame{\titlepage}
\section[Outline]{}
\frame{\tableofcontents}\section{Introduction}
\subsection{Overview of the Beamer Class}
\frame
{
\frametitle{Features of the Beamer Class}\begin{itemize}
\item<1-> Normal LaTeX class.
\item<2-> Easy overlays.
\item<3-> No external programs needed.
\end{itemize}
}
\end{document}
을 TeX화일에 붙여넣고 컴파일해 보면 알 것이다.
\documentclass{beamer}로 beamer를 쓴다고 알려주고
\usepackage{beamerthemesplit}는 beamer 쓴다고 하니까 갖다 쓰라고 알려주고
나머지는 TeX문서 만들듯이 치면 된다. 그리고서 \frame으로 나누면 된다. 일단 예제를 받아보자.
http://latex-beamer.sourceforge.net/beamerexample1.pdf
http://latex-beamer.sourceforge.net/beamerexample4.pdf
http://latex-beamer.sourceforge.net/beamerexample5.pdf
아무튼 쓰면 된다.
http://latex-beamer.sourceforge.net/
가 공식 홈페이지이다.
오늘의 일기 : g_strsplit
일단 사용법은 다음과 같다.
gchar** g_strsplit (const gchar *string,
const gchar *delimiter,
gint max_tokens);
http://developer.gnome.org/doc/API/2.0/glib/glib-String-Utility-Functions.html#g-strsplit
저거 쓰기 전에 일단 2중 포인터 **string를 선언해야 한다.
char **string;
이렇게 하면 string이라는 이름의 문자열 배열을 “여러개”가질 수 있는 2중 포인터가 선언된다.
char xxxx=”abc/123″;
string=g_strsplit(xxxx,/,2);
이렇게 하면 string이라는 곳에는 2개의 공간이 확보되어 각각 “abc”와 “123”이라는 문자열이 하나씩 들어간다. 즉, *(string+0) = “abc” 하고 *(string+1)=”123″이 실행된 것이다.
즉, xxxx라는 문자열을 /라는 글자를 기준으로 2개로 자르라는 뜻이다. 물론 앞에서부터 자르므로, 뒤에 /가 여러개 있으면 있어도 무시된다. 2대신에 더 큰 숫자를 넣으면 더 여러개로 잘라진다. 만약 max_tokens를 -1을 넣게 되면 /가 나오는데마다 다 잘라준다.
물론 구분자는 /말고 아무거나 써도 된다. 1이든 g든 ^이든.
다행인지 불행인지, 선언만 해놓고 memory allocation은 안해도 된다. 알아서 해준다.
그리고 더불어서 앞에 g_가 말해주듯이 저것은 glib2.0에서 제공하는 함수이다. glib 설치는 알아서 하시고, 컴파일 옵션에
`pkg-config –cflags glib-2.0` `pkg-config –libs glib-2.0`
를 넣어줘야 한다. 역따옴표` 포함이라는 사실에 주의!
만약 구분자를 여러개 쓰고 싶으면 g_strsplit_set을 쓰면 된다. 이건 delimeter자리에 여러개의 문자를 넣어도 되는데, 그 여러개 중 아무거나 하나 있으면 거기서 잘라준다. 나머지는 똑같다. 예를들어 !@#를 넣으면 !나 @나 #가 나오기만 하면 잘라준다는 뜻.
