이전 주제 보기 :: 다음 주제 보기 |
글쓴이 |
메시지 |
공순호
가입: 2005년 9월 29일 올린 글: 363 위치: 302동 312-2호
|
|
위로 |
|
 |
박창규
가입: 2009년 3월 17일 올린 글: 4
|
올려짐: 2009년3월18일 17:04 주제: 기한 |
|
|
공순호 씀: | 기한은 3월 27일 화요일 자정까지 입니다. |
제가 알기로는 3월 24일이 화요일입니다만,,,3월 27일 금요일을 의도하셨다면 대환영입니다^^ |
|
위로 |
|
 |
공순호
가입: 2005년 9월 29일 올린 글: 363 위치: 302동 312-2호
|
올려짐: 2009년3월18일 17:05 주제: |
|
|
죄송합니다. 저의 오타입니다.
숙제 기한은 교수님께서 정하시는 일입니다. _________________ - soon@ropas |
|
위로 |
|
 |
공순호
가입: 2005년 9월 29일 올린 글: 363 위치: 302동 312-2호
|
올려짐: 2009년3월18일 18:23 주제: |
|
|
* 문제 1번에서 몇가지 exception들을 정의합시다.
코드: |
exception DivideByZero
exception FreeVariableX
exception InvalidSigma
|
- DivideByZero는 0으로 나눌 때에 발생하고,
- FreeVariableX는 ADD(X, X)와 같이 X의 값을 알 수 없는 경우에 발생하고,
- InvalidSigma는 SIGMA(INT(10), INT(0), X)와 같이 SIGMA의 lower bound가 upper bound 보다 큰 경우에 발생된다고 합시다.
* 문제 2번은 OCaml 의 Module 에 관한 문제 입니다. 제가 지난 Tutorial 에서 다루지 않았던 부분 입니다. 이를 위한 Tutorial을 한번 더 하도록 하겠습니다. 내일(3/19) 수업 시간에 시간을 정하도록 하겠습니다.
Google을 검색하면 참고할만한 좋은 문서들을 찾으실 수 있습니다. Ocaml Module로 검색하시면 됩니다.
* 문제 2번의 code 부분에 오타가 있었습니다. 교수님께서 수정하실 것입니다.
* 문제 6번의 reach_G(X)에 대한 설명 부분에서 {y | x -> y .. } 로 y를 추가하시기 바랍니다. _________________ - soon@ropas |
|
위로 |
|
 |
공순호
가입: 2005년 9월 29일 올린 글: 363 위치: 302동 312-2호
|
올려짐: 2009년3월19일 16:44 주제: |
|
|
문제 1번의 INTEGRAL 에 관해서 알려드립니다.
1.
적분식을 알갱이 크기 0.1로 계산하는 방법이 세가지가 있을 수 있습니다.
우리는 다음 그림과 같은 방법으로 하기로 정합시다.
이 방법은 http://en.wikipedia.org/wiki/Rectangle_method 의 "Top-left corner approximation"에 해당합니다.
2.
적분 구간이 알갱이 크기 0.1보다 작은 경우가 있을 수 있습니다.
그런 경우에는 해당 구간을 알갱이의 크기로하고 처리하도록 합시다.
3.
부동 소수점 연산에 의한 채점 오류의 가능성을 걱정하는 수강생이 있었습니다.
조교는 함수의 계산 결과가 특정 범위안에 존재하는지를 이용해서 채점하도록 하겠습니다. _________________ - soon@ropas |
|
위로 |
|
 |
공순호
가입: 2005년 9월 29일 올린 글: 363 위치: 302동 312-2호
|
올려짐: 2009년3월19일 19:40 주제: |
|
|
* 문제 1에서
으로 합시다. _________________ - soon@ropas |
|
위로 |
|
 |
박창규
가입: 2009년 3월 17일 올린 글: 4
|
올려짐: 2009년3월20일 9:50 주제: |
|
|
수식을 본지 너무 오래되어서 살짝 헷갈리는게 있는데,,,
SIGMA(INT 1, INT 10, SIGMA(INT 1, INT 10, X))
위처럼 SIGMA나 INTEGRAL이 중첩될 경우 안쪽 SIGMA, INTEGRAL부터 계산해나가는게 맞는거죠? |
|
위로 |
|
 |
공순호
가입: 2005년 9월 29일 올린 글: 363 위치: 302동 312-2호
|
올려짐: 2009년3월20일 9:53 주제: |
|
|
인용: |
코드: |
SIGMA(INT 1, INT 10, SIGMA(INT 1, INT 10, X))
|
|
SIGMA와 SIGMA가 중첩된 경우군요.
말씀하신 것처럼, 안쪽에서부터 계산하는 것이 맞습니다. _________________ - soon@ropas |
|
위로 |
|
 |
고윤석
가입: 2008년 9월 26일 올린 글: 11
|
올려짐: 2009년3월21일 21:21 주제: 이상한데요, |
|
|
인용: | SIGMA(INT 1, INT 10, SIGMA(INT 1, INT 10, X)) |
이 경우에는 1부터 10까지 더하는 함수를 10번 실행하는건가요?
안쪽 SIGMA의 X는 명시적이지만 바깥쪽 SIGMA의 X는 어디있죠?
중첩되려면 다음과 같이 되는게 정상 아닐까요?
코드: | SIGMA(INT 1, INT X, SIGMA(INT 1, INT 10, X)) |
|
|
위로 |
|
 |
장수원
가입: 2008년 9월 26일 올린 글: 167
|
올려짐: 2009년3월22일 3:47 주제: Re: 이상한데요, |
|
|
안녕하세요~
조교는 아닙니다만,
mir597 씀: |
인용: | SIGMA(INT 1, INT 10, SIGMA(INT 1, INT 10, X)) |
이 경우에는 1부터 10까지 더하는 함수를 10번 실행하는건가요?
안쪽 SIGMA의 X는 명시적이지만 바깥쪽 SIGMA의 X는 어디있죠?
|
이 경우는
코드: |
SIGMA(INT 1, INT 10, INT 55)
|
와 같은 경우 아닐까요? |
|
위로 |
|
 |
공순호
가입: 2005년 9월 29일 올린 글: 363 위치: 302동 312-2호
|
올려짐: 2009년3월22일 8:39 주제: |
|
|
1.
코드: |
SIGMA(INT 1, INT 10, INT 55)
|
에 대해서는 장수원 학생의 의견이 맞습니다.
고윤석 학생의 질문,
인용: |
안쪽 SIGMA의 X는 명시적이지만 바깥쪽 SIGMA의 X는 어디있죠?
|
에 대한 답은
"SIGMA 안에 X가 반드시 있어야 한다는 규칙은 없는 것 입니다."
2.
고윤석 학생이 제시한 다른 코드
코드: |
SIGMA(INT 1, INT X, SIGMA(INT 1, INT 10, X))
|
의 의미는
코드: |
SIGMA(INT 1, INT X, INT 55)
|
와 동일하고, 이것은 더 이상의 계산이 가능하지 않은 식이됩니다. 그 이유는 SIGMA의 상한이 X이고, 이것이 결정되지 않기 때문입니다.
3.
아마도, 다음과 같은 코드를 생각하지 않았을까 합니다.
코드: |
SIGMA(INT 1, INT 10, SIGMA(INT 1, X, X))
|
이 코드는 우리가 계산할 수 있는 exp를 나타내고 있습니다.
그 의미는 C 코드로 나타내면 다음과 같은 의미일 것이고,
코드: |
for(i = 1; i <= 10; i++)
for(j = 1; j <= i; j++)
result = result + j
|
그 결과값은 220. 입니다.
4. 일반적으로 summation SIGMA에서 하한과 상한의 값은 정수가 됩니다. 하지만 문제 1번에서는 임의의 exp를 허용하고, 이는 실수값이 될 수 있기 때문에 그 의미를 확장할 필요가 있습니다. SIGMA의 의미를 다음의 C 코드와 같이 되도록 합시다.
코드: |
double sigma(double l, double u, double (*f)(double x))
{
double result = 0;
for(double i = l; i <= u; i++)
{
result = result + (*f)(i);
}
return result;
}
|
for문을 이용해서 *구현*하라는 것이 아님을 주의하시기 바랍니다. *의미*를 설명하기 위해서 여러분께 친숙한 C 코드를 이용했을 뿐입니다.
예를 들어서
코드: |
(SIGMA(REAL 1.5, REAL 11.3, X))
|
는 1.5 + 2.5 + ... + 10.5 = 60.0
을 나타냅니다. _________________ - soon@ropas |
|
위로 |
|
 |
공순호
가입: 2005년 9월 29일 올린 글: 363 위치: 302동 312-2호
|
올려짐: 2009년3월22일 8:43 주제: |
|
|
* 문제 1의 DIV에 대해서 보다 정확하게 알려드립니다.
mathemadiga에서의 나눗셈(DIV)은
정수 나눗셈(몫을 구하는) 것이 아니라,
실수 나눗셈을 수행하는 것으로 합니다.
즉,
의 값은 0.5 입니다. _________________ - soon@ropas |
|
위로 |
|
 |
|