학습/수학 55

meq 태그를 이용한 수학식 표현

* html 문서에서 meq 태그를 이용한 수학식 표현 참고 1) m 태그 내의 수식 입력은 tex 수식 입력과는 많이 다릅니다. 2) TeX 모르는 초, 중, 고 과정에 적합합니다. 3) 서버에 TeX 시스템이 설치되어 있지 않아도 됩니다. PhpMathPublisher 만 설치되어 있어도 됩니다. 4) m 태그 내의 수식 입력 양식을 참고하십시오. 5) PhpMathPublisher 와 달리 html 문서 내에 작성된 m 태그를 온라인 상에 직접 img 태그로 변환하여 보여줍니다. (* 현재 Chrome에서는 동작하지 않습니다.) (* IE8 에서는 되는 것도 있고 안되는 것도 잇네요.) 추가: 가만히 생각해 보니 m 태그를 사용하다 보면 부등식 "4 7" 을 m 태그로 둘러쌀..

학습/수학 2012.01.14

이차방정식의 근의 공식 유도하기

[이차방정식의 근의 공식] a \ne 0 이면, 2차방정식 ax^2 + bx + c = 0 의 두 근은 x = {-b \pm \sqrt{b^2-4ac} \over 2a} 이다. (증명) \[ ax^2 + bx + c = 0 \] \[ \therefore x^2 + \frac{b}{a} x + \frac{c}{a} = 0 \] \[ \therefore x^2 + \frac{b}{a} x = - \frac{c}{a} \] \[ \therefore x^2 + \frac{b}{a} x + \left( \frac{b}{2a} \right)^2 = \left( \frac{b}{2a} \right)^2 - \frac{c}{a} \] \[ \therefore \left( x + \frac{b}{2a} \right)^2..

학습/수학 2012.01.05

주어진 정수의 소인수분해(primt factorization)와 오일러 phi 함수값

[참고 자료 1] 온라인 소인수분해(prime factorization) [참고 자료 2] 소인수분해 설명 [참고 자료 2] 한국어 위키피디아에서 설명하는 소인수분해 [참고 자료 3] 영문 Wikipedia 에서 설명하는 소인수분해 * Mathematica 를 이용하여 정수의 소인수 분해, 모든 약수의 총합, 오일러 phi 함수값 구하기 * Maxima 를 이용하여 정수의 소인수 분해, 모든 약수의 총합, 오일러 phi 함수값 구하기 (참고: Maxima 에서는 오일러 phi 함수명이 totient 로 되어 있다.) * 위의 그림에서 짤린 아랫 부분도 보여주는 PDF 파일:

학습/수학 2011.11.09

모든 양의 약수를 구하고 소수(prime number)인지 아닌지 판별하기

프로그램 언어 배우는 과정의 한 예제로는 적당하지만, 알고리즘 면으로는 매우 비효율적인 소스를 C, C++, Java, C#, Python, Ruby, Groovy, Lua, Octave 언어 등으로 작성해 보았다. * 모든 양의 약수를 구하고 소수인지 아닌지 판별하는 C 언어 소스 /** * Filename: findAllDivisorsNotGoodC_01.c * * Purpose: * Find all positive divisors of a given nonzero integer. * * With VC++ * Compile: cl findAllDivisorsNotGoodC_01.c * Execute: findAllDivisorsNotGoodC_01 * * With gcc * Compile: gcc f..

학습/수학 2011.11.01

온라인 행렬 계산기 소개

웹에서 행렬 계산을 해주는 온라인 행렬 계산기 * 위의 하이퍼 링크를 따라가면 행렬식, 역행렬, 트레이스, 위수(rank), 가우스 소거법, 가우스-조르단 소거법, 고유값과 고유벡터, LU 분해, QR 분해, SVD 분해, Cholesky 분해 등의 계산 결과를 볼 수 있다. * 행렬의 요소를 입력할 때 행의 구분자로 '캐리지 리턴'(즉, 엔터 키)와 '세미콜론'을 사용한다. 예: 1 2 3; 4 5 6; 2 1 1 을 입력하면 3x3 행렬로 인식하여 계산한다.

학습/수학 2011.10.27

간단한 무리방정식의 풀이

무리방정식에는 무연근이 있을 수 있다. 여기서는 무리방정식 sqrt(x + 1) = x - 2 의 풀이를 Mactimatica, Maxima 등에서는 어떻게 하는지 알아 본다. 우선 손계산으로 풀어보자. 무리방정시에는 무연근(계산 상으로는 근으로 나오지만 원래 방정식의 의마에는 맞지 얺는 근)이 나올 수 있다. 먼저 근이 존재할 범위를 알아 본다. 제곱근 기호 속이 0 이상이라야 하므로 x + 1 >= 0 즉 x >= -1 이다. 또 제곱근의 값 자체가 0 이상이므로 주어진 방정식의 우변도 0 이상이라야 한다. 그러므로 x - 2 >= 0 즉, x >= 2 이다. 그러므로 근의 존재 범위는 x >= -1 과 x >= 2 의 공통범위 x >= 2 이다. 이 범위에 있지 않는 근은 모두 무연근이므로 버린다...

학습/수학 2011.10.27

직각삼각형의 빗변의 길이 구하기 / underflow 와 overflow 방지

C 언어, Java 언어, Python 언어 등으로 프로그래밍할 때 부동소수점수(floating point number) 를 많이 사용한다. 보동 double 타입이라고 부르는 수치형 데이터인데, 이 데이터의 처리 가능 범위는 대략 ( -1.79769313486231E308 ~ 1.79769313486232E308 ) 정밀도 비트수 범위 유효숫자 개수(10진수) 단정밀도 32 bits ±1.18×10−38 to ±3.4×1038 약 7개 배정밀도 64 bits ±2.23×10–308 to ±1.80×10308 약 15개 이다. 그렇다면 1.0E-190 에 해당하는 부동소수점수는 0 이 아니며 이것의 제곱 1.0E-380 도 0이 아니다. 그런데 1.0E-380 을 컴퓨터 계산에서는 어떻게 처리될까? 아마..

학습/수학 2011.10.22

여러가지 도구를 이용한 행렬의 고유값(eigenvalue)과 고유벡터(eigenvector) 구하기

여기서는 2x2 행렬 A = [ 1, 1/2; 1/2, 1/3 ] 의 고유값과 고유벡터를 구하는 여러가지 방법을 소개한다. 정의 (고유값과 고유벡터) 주어진 m by n 행렬 A 에 대하여 Av = λv (단, v 는 영아닌 벡터, λ 는 스칼라) 를 만족하는 v 와 λ 가 존재할 때, v 를 A 의 고유벡터, λ 를 A 의 고유값이라고 한다. * Mathematica를 이용하여 행렬의 고규값과 고유벡터 구하기 * Maxima 를 이용하여 행렬의 고유값과 고유벡터 구하기 ** 아래에서 v1 이 고유벡터이고, lambda1 이 고유값이다. ( 그런데, v1 이 행벽터로 표현되어 잇다. 그러므로 이를 transpose 하여 열벡터로 바꾸어야 한다 .) ** v1 의 transpose 를 취하여 행렬 m 을 ..

학습/수학 2011.10.20

여러 가지 도구로 연습해본 분수 계산

* Mathemaica 로 연습해본 분수 계산 * C++ 언어로 구현해본 분수 계산 예제 소스 (참고1: 0으로 나누는 예외상황, 0의 음수 지수 예외상황 처리됨) (참고2: VC++ 와 g++ 로 모두 컴파일되고 실행됨) /** * Filename TestFraction.cpp * * Version: 0.4 * Purpose: Calculate fractions. * * With VC++ * Compile: cl TestFraction.cpp /EHsc * Execute: TestFraction * * With g++ * Compile: g++ TestFraction.cpp -o TestFraction * Execute: ./TestFraction * * Date: 2011. 10. 9 (Sun) */..

학습/수학 2011.10.06