수학에서 공리는 왜 필요할까? 수학의 모든 명제는 근거가 있어야 한다. 명제 A를 증명하기 위해서는 근거가 되는 다른 명제 B가 있어야 한다. 즉, "B에 의해 A가 참이다."라는 문장으로 서술되어야 한다. 그런데 명제 B 또한 참이기 위한 근거가 필요하다. 명제 B가 참이 되는 이유를 명제 C라고 하자. 그렇다면 수학의 각 명제는 아래와 같은 논리로 연결될 것이다. 그런데 우리는 아래와 같은 순환논리에 빠지기는 원치 않는다. A가 참인 이유는 B 때문이고, B가 참인 이유는 C 때문이고, C가 참인 이유는 A 때문이다…와 같은 순환논리는 결국 "A가 참인 이유는 A가 참이기 때문이다"라는 항진식tautology에 지나지 않기 때문이다. 아래 대화를 보자. Q. 여기 이디야 커피 어디 있어요? A. 본죽..
함수 핸들에 대해 얘기해보고자 한다. 함수를 어떤 동작function을 하는 동사verb로서가 아니라 객체object로 다룰 수 있는 명사noun로서 취급하는 것은 개념의 전환이 필요한 부분이다. 이는 프로그래밍뿐만 아니라 수학에서도 모두 필요한 아이디어이다. 우리에게 익숙한 함수의 모양은 아래 그림과 같다. 물론 경우에 따라서는 입력이나 출력, 또는 둘 다 없을 수도 있다. 어쨌든 함수는 일동의 동작이다. 그런데 종종 함수를 동작이 아니라 객체로 다루고 싶을 때가 있다. 예를 들어 아래와 같은 질문을 생각해보자 함수 myadd는 입력 인자를 몇 개 받는가? 이 기능을 함수로 만든다면 이런 모양이 될 것이다. 함수명: num_input_args 입력: 함수 myadd 출력: myadd의 입력 인자 개수 ..
2015년이니까 벌써 8년 전 글이구나. 정리해둘 겸 적어둔다. 2023년 8월 기준 접속 안되는 사이트는 취소선 처리했다. 일반 edX Coursera Coursmos Highbrow Skillshare Curious lynda.com CreativeLive Udemy 코딩 Codecademy Stuk.io Udacity Platzi Learnable Code School Thinkful Code.org BaseRails Treehouse One Month Dash 데이터 DataCamp DataQuest DataMonkey 언어 (사람 언어, 프로그래밍 말고) Duolingo Lingvist Busuu Memrise 일반지식 TED-Ed Khan Academy Guides.co SquareknotLe..
n차원 구의 부피는 어떻게 계산할까요? 어...음... n차원 구가 무엇인지부터 말을 할 수 있어야겠군요. 3차원 구는 3차원 공간의 점들 중 어떤 한 점에서 떨어진 거리가 어떤 고정된 상수인 점들의 집합입니다. 3차원 단위구는 한 점에서 떨어진 거리가 1인 점들의 집합이죠. 그렇다면 2차원 구는 한 점에서 떨어진 거리가 어떤 고정된 상수인 2차원 공간의 점들의 집합이라고 볼 수 있겠군요. 네, 원입니다. 이 개념을 n차원으로 확장하지 못할 이유는 없습니다. n차원 구는 n차원 공간의 점들 중 어떤 한 점에서 떨어진 거리가 고정된 상수인 점들의 집합이고, n차원 단위구는 이 거리가 1인 점들의 집합일 겁니다. 2차원 구(원)의 부피는 $$ V(2) = \pi r^2 $$ 이죠. 3차원 구의 부피는 $$ ..
매트랩 단톡방에서 재밌는 문제가 나왔습니다. 숫자에 통화 표기처럼 세 자리마다 쉼표를 추가하는 것인데요. 다양한 방법들이 나왔는데, 저는 매트랩스러운 방법을 생각해보았습니다. 우선 쉼표가 추가된 이상 숫자는 분명히 아니니 char 배열로시작하도록 하죠. >> J = '1234567890'; 제 아이디어는 아래와 같습니다. 1. 길이가 3의 배수가 되도록 왼쪽에 zero padding을 한다. (뒤에서 보겠지만 0이 아니어도 무관합니다.) 2. 세 자리씩 끊어지도록 reshape을 한다. (역시 매트랩은 reshape이죠.) 3. 세 자리마다 뒤에 쉼표를 추가한다. 4. 한 줄로 다시 이어붙인다. 5. 맨 뒤 쉼표를 없애고, padded zero도 없앤다. 1. 길이가 3의 배수가 되도록 왼쪽에 0을 붙입..
후... 힘들었습니다. - 게으른
수학의 즐거움에서 인터뷰를 진행했습니다. 시간 관계상 불가피하게 얘기하지 못한 부분들이 조금 있었습니다. 인터뷰를 위해 준비했던 대본(?) 전문을 올려봅니다. A. 본인에 대해 소개해주세요. 안녕하세요. 수학의 즐거움에서 수학 공부 중인 강성훈이라고 합니다. 현재 원격대학에서 공학분야 교수로 재직 중입니다. 학위는 학사, 석사, 박사 모두 기계공학으로 받았고, 대학원 연구 분야는 메카트로닉스, 좀 더 specific하게는 초정밀 시스템 설계였습니다. Application은 biomedical imaging 쪽이었습니다. 졸업 후에는 회사 몇 년 다니다가 큰 기계의 부품처럼 일하는 게 싫어서, 그리고 교육에 뜻이 있어서 때려치고, 이후 포닥, 중견기업 등 유랑생활을 좀 하다가 지금은 어느 정도 정착해 있습..
0. 요즘 수학의 즐거움 채널에서 조금 찐하게 수학을 공부 중이다. 채널 활동 중에서도 받는 질문이자 개인적으로도 스스로에게 묻는 질문이다. 나는 수학을 왜 공부하는가. 그 전에 어릴 때 얘기를 좀 해보고자 한다. 1. 나는 국민학교를 입학하여 국민학교를 졸업한 세대이다. 4학년 때 선생님의 권유로 산수경시를 시작했다. 상도 많이 받았다. 중학교 때까지 도 내에서는 거의 항상 1등을 했던 것 같다. 전국대회 상도 받았다. 국민학교 6학년 때 전국대회에서의 7등이 개인적으로 가장 높은 순위였던 것으로 기억한다. 2. 그런데 고등학교에 들어가면서부터 경시대회 성적이 꺾이기 시작했다. 문제가 풀리지 않았다. 큰 벽을 마주한 느낌이었다. 사춘기에 맞이한 존재론적 고민 때문인지, 수학의 정석에 맛을 들여서인지, ..
ccc num = input('세자리 숫자 입력(0으로 시작해도 ㄱㅊ): ', 's'); % 가능한 모든 세자리 숫자 목록 list = gen_all_nums(); invalid_judge = 0; while true % 못 맞추는 동안 if invalid_judge == 0 guess = gen_guess(list); end fprintf('혹시... %s 이거? ', guess) judge = input('', 's'); if strcmp(judge, '3s') disp('앗싸 맞췄다') break elseif ~ismember(judge, {'2s','1s2b','1s1b','1s','3b','2b','1b','out'}) warning('제대로 다시 써라') invalid_guess = 1; en..