Turbo-C
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
터보-C 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
Lua 게시판
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C/C++ Q/A
[5669] Re:c언어에서 연속적인 함수를 만들 수 있는지요??
외랑 [] 2365 읽음    2006-03-31 15:04
사실상 컴퓨터에서 연속적인 수를 다룰 수는 없습니다. 다만 구간를 쪼개고 쪼개고 쪼개어서 연속을 만족할 수준까지 분리하여 들어가면 그 결과는 연속적인 수를 다룰 때와 같다고 볼수 있다는 거지요...
예를 들어 0과 1이 있다고 했을때 그 사이에는 무한한 수가 존재합니다. 그러나 우리가 다루는 수는 유한한 수인거죠..
여기서 샘플링이란 말을 쓰곤하지요.. 예를 들어 0과1사이를 100으로 나누어 조사?해본다거나 더 세세한 부분까지 알고 싶다면 1000 혹은 10000으로 나누어보면 중간에 일어나는 어떤 일?(함수의 값?)을 살펴볼 수가 있다는 거지요..
물리적인 적용의 예로서 0~1V까지 출력할 수 있는 아날로그(연속적인 거지요?) 조절장치로 구성된 기기가 있다고 했을때 사용자가 가변저항을 손으로 돌려서 조정한다고 볼 때 이 기기를 디지털(분산적인 거지요?) 조절장치로 교체한다고 생각하면 디지털 조절치가 4단계로 조정한다(4 단계로 샘플링한다)면 한 단계별로 (1-0)/4 = 0.25가 되어서 단계별로 0.25V씩 증가되어 저절 됩니다. 이것을 더 세밀하게 만든다면 40단계는 0.025V, 100단계는 0.01V단위로 조절이 가능하겠지요.. (사담이 길어 졌네요..하하)

질문내용으로 돌아가서
x(t)라는 함수를 구한다는 것은 x를 t의 형태로 표시하는 것이지요.. 일반적으로 t가 얼마일때 x가 얼마이다 이런식으로 값으로 내주는것이구요.. 수학적인 용도로 만들어진 수학패키지 어플리케이션들은 t에 대한 결과를 구해낼 수도 있습니다. 대표적인 예로서 MATLAB에서 사용되는 symbolic toolbox이구요.. 다른 어플리케이션들도 있습니다.
예로서 x라는 함수를 t로 정의하고 x를 미분하거나 적분하면 t자체로 기술되어지는 함수식(우리가 손으로 푸는 것같은 수식인거죠)으로 결과를 출력해 줍니다. 그러나 이러한 것을 직접 구현하려고 하신다면 상당한 수학적 지식?과 알고리즘적 지식이 요구되겠지요?.. 물론 구현된 것을 사용하신다면 그리 힘들지는 않겠지만요..

     : 제가 구하려고 하는 것중에 하나가 cos의 연산의 결과에 관한 함수 인데 cos안에 숫자만 들어가야 하는지요?
       아니면 정해지지 않은 수 즉 t가들어가도 가능한지요??

위의 질문의 답은 코사인의 연산의 결과에 관한 함수를 하나의 함수로 만드시고 매개인자를 변수로 두시면 가능하지요..
예를 들면
y = cos(t) + sin(t) 라고 했을 때 구하는 함수를 MyFunc이라 이름붙이고 리턴값으로 결과를 준다고 할때 아래와 같이

double MyFunc(double t)  // t를 넣어주면 되겠지요?
{
   return cos(t)+sin(t);       // 여기서 t는 라디안값이란것에 주의하셔야죠..
}
로 기술할 수 있겠지요..
그럼 이 함수를 호출하는 녀석은

for(int i=0; i<=1000; i++)   // 0~1000사이의 값으로.. 0~1사이를 구현합니다. 쪼개서 봐야죠..
{
      double Input = i/1000.0;  // 1000.0 -> 실수로 만들어야 겠지요.. 아니면 정수로 취급하니까 계속 0입니다
       value = MyFunc(input);
       DrawGraph(input, value);    // value값을 그리는 그래프라고 생각하지요...하하...
}
이렇게 쓰면 연속적으로 그래프로 표현할 수 있습니다... 0~1까지. 0.001단위로..

제가 질문을 제대로 이해했는지 모르겠습니다만 제가 드린 답변은 두가지 였습니다.
문자로 기술해서 하는 것도, 수치로 하는것도 가능하다는 거였지요...
잘못 이해했다면 다른 질문을 올려주시면 많은 분들로부터 더 많은 답변을 얻으실 수 있으실겁니다.
그럼 즐프하시길~


c초보자 님이 쓰신 글 :
: 안녕하세요?
: 평소에 c와 그리 친하게 지내지 않다가 갑자기 숙제 때문에 친해진 학생입니다. -"_-;;
: 음 제가 숙제를 하면서 궁금해 진게 있어서 그러는데요.
: 제가 어떤 함수를 구한다고 할때,
: 즉 일반적인 함수 x(t)를 구한다고 할때 결과 값이 t에 관해 나올 수 있나요??
: 제가 구하려고 하는 것중에 하나가 cos의 연산의 결과에 관한 함수 인데 cos안에 숫자만 들어가야 하는지요? 아니면 정해지지 않은 수 즉 t가들어가도 가능한지요??
:
: 아니면 결국 디스크릿으로 여러 조각 내어 계산한 결과 데이터를 저장해야 하는지요??;;
:
:
: 으 정말 궁금합니다.. 어떻게 해야 할지??ㅎㅎ
: t에관한 함수가 나온다면 정말 간단할텐데요;;음.;;
: 그럼 답변 기다리겠습니다..

+ -

관련 글 리스트
5660 c언어에서 연속적인 함수를 만들 수 있는지요?? c초보자 1888 2006/03/28
5669     Re:c언어에서 연속적인 함수를 만들 수 있는지요?? 외랑 2365 2006/03/31
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.