- 2009/10/26 18:52
- suakii.egloos.com/2458367
- 덧글수 : 0
푸리에 급수랑 변환을 난 계속해서 보고 있다. 저기 아래 글에서는 이해하고 그래프를 그렸는데 변환에서 좀 이해를 제대로 못해서 다시금 제대로 처음부터 공부를 하기로 마음먹었다. 이유는? 궁금해서 그리고 이 정도는 이해를 해주어야 한다. 보통 학부2-3학년에서 배우는 과정이 아니란 말인가.ㅠ.ㅠ
암튼
주기가 T인 함수 f(t)를 삼각 함수의 급수로 표현하고 있는 삼각푸리에 급수에서 중요한 것은 아래와 같은 집합에 있는 각 함수의 요소를 사용하고 그 사용한 함수의 계수를 구해야 하는 것이다.
{1, coswt, sinwt, cos2wt, sin2wt, ....cosnwt, sinnwt,....}
그리고 삼각함수의 급수로 표현한 형태는 아래와 같다(워드 수식편집기 쓰기 어려워서 한글에서 대신 썻다.ㅠ.ㅠ)
a0 값을 1/2a0라고 표현하는것도 있지만 저렇게 써도 큰 상관 없으리.
위의 함수 집합은 직교성(Orthogonal)을 형성하고 있다. 즉, 서로 곱한 다음 1주기에 걸쳐서 적분을 해주면 0 이 나온다. 아래와 같은 기본적인 연산의 성질을 이용한다면 계수를 구하는 수식을 이해하기가 훨씬 편해지는 것 같다. 물론 직교성에 기반한다면 당연한 결과이겠지만 말이야.
그 다음 계수를 구하는 방법은 a0항은 f(t)의 양변을 구간[-T/2, T/2]로 적분하면 구할 수 있고, an, bn은 f(t)의 양변에 cos항과 sin항을 따로 곱한 다음 다시금 같은 구간에 걸쳐 적분을 해주면 된다. 결과값은 아래와 같다.

p.s 복소 푸리에 급수는 오일러의 공식을 이용하여 복소수 형태로 표현할 수 있다. 전체식을 한글 수식기에서 입력하다가 gg쳤다.
다음 그림은 위키피디아의 그림이다. 결국 같은 이야기를 하고 있는거다.


암튼
주기가 T인 함수 f(t)를 삼각 함수의 급수로 표현하고 있는 삼각푸리에 급수에서 중요한 것은 아래와 같은 집합에 있는 각 함수의 요소를 사용하고 그 사용한 함수의 계수를 구해야 하는 것이다.
{1, coswt, sinwt, cos2wt, sin2wt, ....cosnwt, sinnwt,....}
그리고 삼각함수의 급수로 표현한 형태는 아래와 같다(워드 수식편집기 쓰기 어려워서 한글에서 대신 썻다.ㅠ.ㅠ)

위의 함수 집합은 직교성(Orthogonal)을 형성하고 있다. 즉, 서로 곱한 다음 1주기에 걸쳐서 적분을 해주면 0 이 나온다. 아래와 같은 기본적인 연산의 성질을 이용한다면 계수를 구하는 수식을 이해하기가 훨씬 편해지는 것 같다. 물론 직교성에 기반한다면 당연한 결과이겠지만 말이야.


p.s 복소 푸리에 급수는 오일러의 공식을 이용하여 복소수 형태로 표현할 수 있다. 전체식을 한글 수식기에서 입력하다가 gg쳤다.
다음 그림은 위키피디아의 그림이다. 결국 같은 이야기를 하고 있는거다.


태그 : 푸리에급수
- 2009/10/24 20:06
- suakii.egloos.com/2456856
- 덧글수 : 2
진작부터 공부하고 있는 모습을 사진으로 올려보고 싶었다. 그냥 내가 지내고 있는 곳이니 말이야. 대략적인 크기는 사실 독서실의 독서대보다 작은 크기이다. 다만 위로 책장이 좀 높을 뿐이고 노트북 그리고 LCD모니터 연결하고 키보드 놓으면 끝이다. 내가 쓰는것의 2배를 쓰고 있는 사람들도 있지만 책 많다고 공부 잘 하는 것도 아니고 책상크다고 공부잘하는 것도 아니니 그런것은 부러워할 필요는 없다. 그냥 나 한테 주어진 환경에서 최선을 다하고 또 최고의 결과를 만들어 내면 되는것이 아니겠는가. 자 그리하여 사진을 올려본다.
1. 학기초에 모니터를 추가로 구입했다. 사실 노트북을 산것을 후회할 때도 많았지만 노트북은 또 필요한 경우가 따로 존재하는 경향이 있으니 말이야. 암튼 데스크탑처럼 쓰고 있는 환경.. 책상위는 청소와 싱크율 100%를 이루어서 말끔한 상태....

2. 와우 평소와 다르게 일부러 정리하고 찍은 티가 너무 나는 사진이지만 저 작은 공간이 내가 가질 수 있는 공간의 전부이다. 그리고 꽃혀있는 책들의 반에 반에도 못 미치는 지식을 가지고 있으니 공간은 중요한것이 아님이 분명하다. ^^

p.s 이 작은 공간에서 보내고 있는 시간의 소중함을 분명히 알고 있기에 헛되이 써버리거나 망가지면 안된다는 생각 늘 하지만 결코 쉽지많은 않은것이 현실이다. 그냥 모니터 속의 깨끗한 그림처럼 그렇게 살아갈 수 있음 좋겠다.
1. 학기초에 모니터를 추가로 구입했다. 사실 노트북을 산것을 후회할 때도 많았지만 노트북은 또 필요한 경우가 따로 존재하는 경향이 있으니 말이야. 암튼 데스크탑처럼 쓰고 있는 환경.. 책상위는 청소와 싱크율 100%를 이루어서 말끔한 상태....

2. 와우 평소와 다르게 일부러 정리하고 찍은 티가 너무 나는 사진이지만 저 작은 공간이 내가 가질 수 있는 공간의 전부이다. 그리고 꽃혀있는 책들의 반에 반에도 못 미치는 지식을 가지고 있으니 공간은 중요한것이 아님이 분명하다. ^^

p.s 이 작은 공간에서 보내고 있는 시간의 소중함을 분명히 알고 있기에 헛되이 써버리거나 망가지면 안된다는 생각 늘 하지만 결코 쉽지많은 않은것이 현실이다. 그냥 모니터 속의 깨끗한 그림처럼 그렇게 살아갈 수 있음 좋겠다.
- 2009/10/24 14:49
- suakii.egloos.com/2456685
- 덧글수 : 0
블로그의 스킨을 바꾸는 작업은 이래저래 시간이 많이 걸리지만 확실히 재미있는 작업이다. 뭐 처음부터 완전히 창조적으로 할 수없으니 그냥 이글루스에서 제공해주는걸로 써야겠다. 그나마 마음에 드는것을 골라봤다. 난 확실히 심플한 스킨이 좋다. 오랜만에html, css등을 잠깐 만져보니 즐겁기도 하고 말이야. 오늘은 대학원 시험이 있는 날이라서 그런지 학교에 사람들이 많다.내일 토익시험이지만 난 지금 나가고 싶을 뿐이다. 엑셀 작업도 어제보다 조금 진도가 나갔고 날씨도 좋고 하니 연구실에 있기가답답할 뿐이다. 지금 나가야지. 어디로... 글쎄다.
- 2009/10/23 22:11
- suakii.egloos.com/2456321
- 덧글수 : 0
인지주의 학습이론의 태동Tolman의 의도적 행동주의학습에 대한 인지주의 이론의 두 가지 관점
형태주의 심리학
언어학습 연구전달적 관점학습의 과정과 기억: 정보처리 이론
구성적 관점
인지주의 학습이론의 교육적 적용
어느덧 교육심리 교재의 6장을 읽고 있다. 6장은 팀 세미나 시간에 조금 더 깊게 다루었던 정보처리이론이 언급되고 있는 인지론적관점에 대해 설명하고 있는 단원이다. 바로 앞의 단원인 행동주의와의 차이점이 있겠지만 제일 중요한것은 그 어떤 하나의 이론이 절대적으로 맞지 않는다는 것이다. 왜 그럴까? 인간이 가지고 있는 다양한 특성을 설명하는데 있어서 아직까지는 명확히 하나의 정립되고 통일된 이론이 없어서 일 것이다. 그럼에도 수업시간에 교수님은 이런 말씀을 하셨다. "연구자라면 어느 한쪽의 이론에 서서 자신의 의견을 피력해야 한다. 이것도 맞고 저것도 맞고 그것은 일반인들이 하는 것이다."라는 어떤 또 다른 교수님의 말을 인용하시면서 말이야. 그렇다면 이것도 그리고 저것도 맞는 면이 있다면 그 두 이론은 모두 틀린것이 아닐까? 물론 하나의 이론으로 설명가능한 측면들이 있고 그 이론이 설명하지 못하는 것을 또 다른 이론이 설명함에도 불구하고 두 이론을 믿는 사람들은 서로 다른 관점을 가지고 인간을 바라보고 자신의 연구를 해 나간다. 무엇이 맞는 것일까? 왜 하나의 통일된 이론으로 정립되지 못하는 것일까 . 하나를 설명할 수 있는 대 통합 이론 이런것은 결코 나올 수 없단 말인가. 그래서 인지 누군가 나에게 행동주의적인 입장, 인지주의적인 입장 두 입장중에 어떤 입장에 속하냐라는 질문에 대한 답은 쉽게 나오지가 않는다.
왜 명확한 공식은 존재하지 않는 것일까. 그래서 난 공학이 더 좋다. 이상한 결론이긴 하지만 말이야.
아무튼 이번장의 내용은 분량이 작아서 인지 훨씬 더 쉽게 읽힌다. 그리고 정보처리 이론을 하도 빡빡하게 세미나시간에 준비를 해서 인지 이제 이 심리학 책이 결코 깊은 내용을 다루고 있지 않고 쉽게 쉽게 읽을 수 있도록 쓰여졌다는 것을 볼 수 있는 작은 시각을 갖게 되었음이 그나마 다행이랄까. 인간 내부에서 이루어지고 있는 현상에 초점을 맞추어 학습의 이론을 설명하고 있는 인지주의, 당연히 내부적인 요소에 관심을 가지다 보니 그 요소들을 잘 고려해야지만 학습이 더 효과적으로 일어날 수 있지 않겠는가. 레포트를 위한 정리글은 잠시 뒤로 미루면서 ...
태그 : 인지주의
- 2009/10/23 20:44
- suakii.egloos.com/2456263
- 덧글수 : 0

자 이번에 주어진 문제 상황은 위와 같다.
위에는 총 15*5=75개의 체크박스 양식 컨트롤이 존재하며, 위의 버튼을 클릭할때 마다 또 다른 시트에 컨트롤 서식에 연결된 셀에 그 박스의 체크여부가 기록이 되며 이러한 단위의 체크박스들이 수십 여개가 존재하고 있는 상황이다. 어떻게 할 것인가?
1. 컨트롤을 배치시키고 오른쪽 클릭하여 서식에서 작업을 해준다.
그래 제일 단순하고 쉽게 할 수 있으나 정말 시간이 너무 걸리고 지루해질 수 밖에 없다.
2. VBA를 이용한다.
본인은 VBA를 이용해서 작업을 하였으나 처음 보는 문제 상황으로 인해 당황을 좀 하였고 결국은 손이 많이 가는 작업을 할 수 밖에 없었다. 컨트롤들은 이름을 가진다. 이름은 한글이 형태인 "확인란 1" 혹은 영어로 "Check Box 1"이런 형태로 나타나게 된다. 영어와 한글을 선택할 수 있는 옵션이 따로 있는지는 모르겠지만 일단 버튼을 배치한 상황을 보면 아래와 같다.

확인란1 을 배치하고 VBA 코드에서 Name 속성값을 뽑아보면 위와 같이 확인란 1 이라는 한글 이름으로 이름상자에나타남에도 불구하고 실제 이름은 "Check Box 1"로 나타나는 것을 알 수 있다. 그래서 "확인란 1"이라고 보여지는 이름상자에 이름을 바꾸기 위해 직접 "확인란 20"이라고 입력해본다. 결과는 다음 그림과 같다.

체크박스의 이름이 번호 뿐만 아니라 영어 이름에서 한글로 결과가 바뀌게 된다. 자 그렇다면 저 상태에서 다시 이름 상자에 "확인란 1"을 입력하면 어떻게 될까? 이름은 다시 확인란 1로 변경이 되지 않는다. 즉 이전에 가졌던 번호로 돌아가지 않는다. 원래 영어 이름으로 1번 이었으니 이번엔 "Check Box 1"을 입력해본다. 역시 이름은 되돌아 가지 않는다. 내 생각에는 이전에 가졌던 번호를 유지한체로 새로운 번호를 부여해서 일어나는 현상 같은데 자세히는 모르겠다.ㅠ.ㅠ.
아무튼 현재 작업하고 있는 엑셀 문서의 버튼 이름들은 이런식으로 한글로 나오는 경우와 영어로 나오는 경우가 있다. 이 문서가 원래 제작된 곳이 외국이긴 하지만 직접 한글로 이름을 바꾸어주면 또 한글로 되는걸로 봐서는 다시 외국에 배포할때는 버튼 이름이 영향을 미칠지 또 모르는 상황이다.
마지막으로 위의 초기 문제를 해결하기 위하여 버튼의 이름을 모두 오름차순으로 부여해주었다. 물론 그렇게 바꾸는 시간역시 만만찮게 들기도 하지만, 만약 초기 작업이라면 이름은 자동적으로 증가해서 그러한 수고를 덜 수는 있다. 아래는 이름을 바꾼 버튼들을 셀 연결 시켜주는 간단한 VBA 코드다.
Public Sub CheckCheckBoxes()
Dim shp As Shape
Dim btnIndex As Integer
btnStart = 100
cellStart = 562
For Each shp In Workbooks(1).Worksheets(5).Shapes'첫번째 워크북의 5번재 시트의 모든 Shape
If shp.Type = msoFormControl Then 'Shape타입 체크
If shp.FormControlType = xlCheckBox Then 'CheckBox
btnIndex = Val(Right(shp.Name, 3))'버튼의 인덱스 참조(이름)
If btnIndex >= 100 And btnIndex <= 128 Then
shp.ControlFormat.Value = xlOn '체크 해주고
shp.ControlFormat.LinkedCell = "연결시트이름!$F" & "$" & (cellStart + btnIndex - btnStart) 'LinkedCell 속성으로 연결
End If
End If
End If
Next
End Sub
p.s 적어놓고 보니 정말 간단한 코드이지만 이번 작업을 하면서 몰랐던것도 새롭게 알고 되고 나름 지루하고 머리가 맑아지는 작업이긴 하지만 말이야. VBA는 할 수록 여전히 어렵다. 학교에 있을때 성적처리 프로그램 학급관리 프로그램 만들때도 그랬지만 말이야. 암튼 작업할 것은 많고 그렇다...
태그 : VBA, ExcelCheckBox
- 2009/10/23 19:11
- suakii.egloos.com/2456200
- 덧글수 : 0
현재 지극히 반복적이고 지루한 엑셀 문서 작업을 하고 있기에 작업의 반복적 요소를 최대한 줄이려는 노력으로 VBA코드를 계속 적용중이다. 간단하게 현재 적용된 팁을 적어보려고 한다. 다른 요소들은 또 다른 글에서 언급해 보기로 하고 일단.
1. 아래 그림은 다른 시트에 있는 참조해야할 셀들이다. 시작셀의 위치가 "E10"부터 시작된다고 가정하고 참조하려고 하는 셀의 주소는 세로 방향이 아닌 가로 방향 즉 E10 부터 M10 방향으로 증가한다. 그리고 다시 E11부터 M11의 순서로 변화한다.
2. 아래 그림은 위의 가로 방향의 참조 셀 주소를 가져야 하는 또 다른 시트이다. 그렇다면 F393이 시작위치라고 하였을때 첫 번째 칸에 들어가야할 수식은 "='참조시트이름이름'!E10" 형태가 되어야 하며 아래의 그림에서는 그 수식을 아래쪽으로 끌기에 그냥 수식을 끌어버린다면 F394 즉, 두번째 들어가는 수식은 E11이 되어버린다. 상대참조의 수식(E$10)을 적용한다고 해도 수식을 아래로 끌게 되면 열의 값은 기본적으로 변하지 않기에 원하는 대로 적용이 되지 않는다.
즉 우리가 원하는 것은 E10~M10, E11~M11 의 형태로 나와야 하는 것이다. 그렇다고 이 수식을 그대로 끌고서 값을 매번 수정해주어야 할까 그렇다면 너무 너무 너무나도 번거롭고 반복적이고 비생산적이 될 수 밖에 없다.
3. 아래와 같은 간단한 VBA 코드로 그 작업을 단순화 할 수 있다.
i 값은 참조대상의 행의 수 이며 j값은 참조 대상의 열의 수 이다.
그리고 작업하려고 선택한 셀의 Formula 속성에 참고 시트의 이름과 열 그리고 행위 위치를 적어주면 된다.
p.s 이렇게 코드를 이용하지 않고 작업이 가능할까? 난 모르겠다.ㅠ.ㅠ
1. 아래 그림은 다른 시트에 있는 참조해야할 셀들이다. 시작셀의 위치가 "E10"부터 시작된다고 가정하고 참조하려고 하는 셀의 주소는 세로 방향이 아닌 가로 방향 즉 E10 부터 M10 방향으로 증가한다. 그리고 다시 E11부터 M11의 순서로 변화한다.

즉 우리가 원하는 것은 E10~M10, E11~M11 의 형태로 나와야 하는 것이다. 그렇다고 이 수식을 그대로 끌고서 값을 매번 수정해주어야 할까 그렇다면 너무 너무 너무나도 번거롭고 반복적이고 비생산적이 될 수 밖에 없다.

Sub LinkTextCell()
With ActiveCell
For i = 0 To 13 '행의 수
For j = 0 To 8 '열의 수
.Offset(i * 9 + j, 0).Formula = "='참조시트이름'!" & Chr(69 + j) & (10 + i)
Next
Next
End With
End Sub
i 값은 참조대상의 행의 수 이며 j값은 참조 대상의 열의 수 이다.
그리고 작업하려고 선택한 셀의 Formula 속성에 참고 시트의 이름과 열 그리고 행위 위치를 적어주면 된다.
p.s 이렇게 코드를 이용하지 않고 작업이 가능할까? 난 모르겠다.ㅠ.ㅠ
태그 : 엑셀VBA


최근 덧글