이번에도 새삼스레 느꼈지만 얕은 지식으로는 아무것도 할 수 없다는 것.
어쨌거나 이미 끝난 시험이니 미련두지 말고, 기말을 잘 준비해야지.
과거를 돌아보며 후회하지 말고, 미래를 준비하라.
추석 전부터 '청소해야지'라고 생각했었는데 결국 미루고 미루다가 오늘에서야 겨우 끝냈다.
이번에도 3시간 좀 넘게 걸렸네;;
책상이 너무 너저분해서 드디어 데스크탑 컴퓨터를 바닥으로 내렸다.
컴퓨터가 사라지니 데스크탑이 나름 깔끔해진것 같다.
하지만 내방은 어떻게 정리해도 지저분해보인다 -_-
넘쳐나는 책을 주체할 수가 없어서 이리저리 머리를 굴려봐도 도저히 답이 안나온다.
그래서 결국 여기저기 넣어놓긴 했는데...
조만간에 또 책장 부족이 느껴질것 같다.
아무래도 CD랑 DVD렉을 좀 넉넉하게 사야할것 같다;;
이래저래 또 돈 들어가는 소리가 들리는구나 -_-;
암튼...드나짱 사진도 붙였고...하고싶었던건 다 했다.
말끔해진 내 방처럼 내 마음도 말끔해지기를 바라며!
이번에 정리한 내 방
청소하기 이전의 내 방 -_-
컴퓨터는 책상과 침대 사이에 들어갔다. 왼쪽이 통풍구라 막히지 않을까 싶었는데 어느정도 간격이 있어서 안심해도 될것같다.
이곳은 식량창고 -_-
이곳은 생필품 창고 -_-
/**********************************/
/* Numerical Analysis Homework #2 */
/* Department of Computer Science */
/* 2003721181, Lee Seong woo */
/**********************************/
#include <stdio.h>
#include <math.h>
#define CAPACITY 10
double func(double p);
int main(void)
{
double p[CAPACITY];
int i = 1;
double tolerance = 0.0005; // Tolerance - 오차 한계 값
p[0] = 1.0; p[1] = 2.0;
printf("-------------------------------------n");
printf("n pn f(pn) n");
printf("-------------------------------------n");
// p[i] 값과값 차이의 절대값이 Tolerance보다 작을 때 프로그램 종료
while(fabs(p[i] - p[i - 1]) >= tolerance)
{
i++;
p[i] = p[i-1] - (func(p[i-1]) * (p[i-1] - p[i-2])) / (func(p[i-1]) - func(p[i-2]));
printf("%dt%.10ft%.10fn", i, p[i], func(p[i]));
}
printf("-------------------------------------n");
return 0;
}
// 해를 구하기 위한 함수
double func(double p)
{
return pow(p, 3) + 4 * pow(p, 2) - 10;
}
----
2007/09/20 - [놀이] - [과제] Numerical Analysis - C로 구현한 Bisection Method
/* Numerical Analysis Homework #1 */
/* Department of Computer Science */
/* 2003721181, Lee Seong woo */
/**************************************/
#include <stdio.h>
#include <math.h>
double logB(double x, double base);
double func(double p);
int getIterations(double tolerance, double startPoint, double endPoint);
int main(void)
{
double a = 1.0, b = 2.0, tolerance = 0.0005;
int i, repeat;
// 주어진 Tolerance를 이용해서 필요한 반복횟수를 구함
repeat = getIterations(tolerance, a, b);
printf("---------------------------------------------------------------------n");
printf("n an bn pn f(pn)n");
printf("---------------------------------------------------------------------n");
for(i = 0; i < repeat; i++)
{
if(func(a) * func(a + ((b - a) / 2)) < 0)
{
printf("%dt%.10ft%.10ft%.10ft%.10fn",
i + 1, a, b, a + ((b - a) / 2), func(a + ((b - a) / 2)));
b = a + ((b - a) / 2);
}
else
{
printf("%dt%.10ft%.10ft%.10ft%.10fn",
i + 1, a, b, a + ((b - a) / 2), func(a + ((b - a) / 2)));
a = a + ((b - a) / 2);
}
}
printf("---------------------------------------------------------------------n");
return 0;
}
// 밑을 임의로 정할 수있는 로그함수
double logB(double x, double base)
{
return log(x) / log(base);
}
// 해를 구하기 위한 함수
double func(double p)
{
return pow(p, 3) + 4 * pow(p, 2) - 10;
}
// Tolerance에 따른 반복횟수를 구함
int getIterations(double tolerance, double startPoint, double endPoint)
{
return ceil(logB((endPoint - startPoint) / tolerance, 2));
}