Полезное для программистов:

Фриланс
Новости
Статьи
   
Рубрики:


Специальные функции (часть 3)

Поиск:
ch x (x - real)

Код

//////////////////////////////////////////////////////////////////////////////
//
//  ch x function calculating.
//  (c) Johna Smith, 1996
//
//  Method description:
//    Calculating sh x using the following formulas:
//                      2n
//                  N  x
//        ch x  =  SUM ---
//                 n=0 2n!
//
//////////////////////////////////////////////////////////////////////////////

#include <stdio.h>
#include <math.h>

#define N       30

double Ch(double x)
{
  double ch=1;
  double a=1;

  for (int i=0;i<N;i++)
  {
    a *= x*x/((2*i+2)*(2*i+1));
    ch += a;
  }

  return ch;
}

void main(void)
{
  printf("Exact ch(0.5)=%g, this ch(0.5)=%g.",(exp(0.5)+exp(-0.5))/2,Ch(0.5));
}



ch z (z - complex)

Код

//////////////////////////////////////////////////////////////////////////////
//
//  Calculactin function Ch(z), where z is a complex value
//  (c) Johna Smith, 1996
//
//  Method description:
//
//  ch z = ch x cos y + ish x sin y
//
//////////////////////////////////////////////////////////////////////////////

#include <stdio.h>
#include <math.h>

struct complex
{
  float re;
  float im;
};

#define N       30  // precision

double Ch(double x)
{
  double ch=1;
  double a=1;

  for (int i=0;i<N;i++)
  {
    a*=x*x/((2*i+2)*(2*i+1));
    ch+=a;
  }

  return ch;
}

double Sh(double x)
{
  double sh=x;
  double a=x;

  for (int i=1;i<N;i++)
  {
    a*=x*x/((2*i)*(2*i+1));
    sh+=a;
  }

  return sh;
}

void show_complex(complex c) // this functions displays complex value
{
  printf("%f%+fi",c.re,c.im);
}

complex complexCh(complex z)
{
  complex c;

  c.re=Ch(z.re)*cos(z.im);
  c.im=Sh(z.re)*sin(z.im);

  return c;
}

complex z={3,2};

void main(void)
{
  printf("Ch(");
  show_complex(z);
  printf(") = ");
  show_complex(complexCh(z));
}



cosec x (x - real)

Код

//////////////////////////////////////////////////////////////////////////////
//
//  Cosecans function calculating.
//  (c) Johna Smith, 1996
//
//  Method description:
//    Calculating cosec x using the following formula:
//
//            1   1     7    3    31    5    127    7
//  cosec x = - + - x + --- x  + ----- x  + ------ x  + ...
//            x   6     360      15120      604800
//////////////////////////////////////////////////////////////////////////////

#include <stdio.h>
#include <math.h>

double Cosec(double x)
{
  double cosec=0;
  double coefficient[]={1, 1/6.0, 7/360.0, 31/15120.0, 127/604800.0};
  double a=1/x;

  for (int i=0;i<sizeof(coefficient)/sizeof(double);i++)
  {
    cosec+=a*coefficient[i];
    a*=x*x;
  }

  return cosec;
}

void main(void)
{
  printf("C++ cosec(0.5)=%g, this cosec(0.5)=%g.",1/sin(0.5),Cosec(0.5));
}



cos x

Код

//////////////////////////////////////////////////////////////////////////////
//
//  Cosine function calculating.
//  (c) Johna Smith, 1996
//
//  Method description:
//    Calculating cos x using the following formula:
//                  2     4     6     8
//                 x     x     x     x
//    cos x = 1 - --- + --- - --- + --- - ...
//                 2!    4!    6!    8!
//////////////////////////////////////////////////////////////////////////////

#include <stdio.h>
#include <math.h>

#define N       300

double Cos(double x)
{
  double cos=0;
  double a=1;

  for (int i=1;i<N;i++)
  {
    cos+=a;
    a=-a*x*x/((2*i-1)*2*i);
  }
  return cos;
}

void main(void)
{
  printf("C++ Cos(0.5)=%g, this Cos(0.5)=%g.",cos(0.5),Cos(0.5));
}



cos z (z - complex)

Код

//////////////////////////////////////////////////////////////////////////////
//
//  Calculactin function cos(z), where z is a complex value
//  (c) Johna Smith, 1996
//
//  Method description:
//
//  cos z = cos x ch y + isin x sh y
//
//////////////////////////////////////////////////////////////////////////////

#include <stdio.h>
#include <math.h>

struct complex
{
  float re;
  float im;
};

#define N       30  // precision

double Ch(double x)
{
  double ch=1;
  double a=1;

  for (int i=0;i<N;i++)
  {
    a*=x*x/((2*i+2)*(2*i+1));
    ch+=a;
  }

  return ch;
}

double Sh(double x)
{
  double sh=x;
  double a=x;

  for (int i=1;i<N;i++)
  {
    a*=x*x/((2*i)*(2*i+1));
    sh+=a;
  }

  return sh;
}

void show_complex(complex c) // this functions displays complex value
{
  printf("%f%+fi",c.re,c.im);
}

complex Cos(complex z)
{
  complex c;

  c.re=cos(z.re)*Ch(z.im);
  c.im=sin(z.re)*Sh(z.im);

  return c;
}

complex z={3,2};

void main(void)
{
  printf("Cos(");
  show_complex(z);
  printf(") = ");
  show_complex(Cos(z));
}



ctg x

Код

//////////////////////////////////////////////////////////////////////////////
//
//  Cotangent function calculating.
//  (c) Johna Smith, 1996
//
//  Method description:
//    Calculating ctg x using the following formula:
//
//            1   1     1   3    2   5    1    7
//    ctg x = - - - x - -- x  - --- x  - ---- x  - ...
//            x   3     45      945      4725
//////////////////////////////////////////////////////////////////////////////

#include <stdio.h>
#include <math.h>

double Ctg(double x)
{
  double ctg=0;
  double coefficient[]={1, -1/3.0, -1/45.0, -2/945.0, -1/4725.0};
  double a=1/x;

  for (int i=0;i<sizeof(coefficient)/sizeof(double);i++)
  {
    ctg += a*coefficient[i];
    a *= x*x;
  }

  return ctg;
}

void main(void)
{
  printf("C++ ctg(0.5)=%g, this ctg(0.5)=%g.",1/tan(0.5),Ctg(0.5));
}
Сайт: forum.vingrad.ru






Просмотров: 2749

 

 

Новые статьи:


Популярные:
  1. Как сделать цикличным проигрывание MIDI-файла?
  2. Создание AVI файла из рисунков
  3. Как устройство "отключить в данной конфигурации"?
  4. Kто в данный момент присоединен через Сеть?
  5. Как узнать количество доступной памяти?
  6. Как реализовать в RichEdit разноцветный текст?
  7. Как скрыть свое приложение от ProcessViewer
  8. Как программно нажать/скрыть/показ кнопку "Start"?
  9. Модуль работы с ресурсами в PE файлах
10. Функции вызова диалоговых окон выбора
11. Проверка граматики средствами Word'а из Delphi.
12. Модуль для упрощенного вызова сообщений
13. Функции для записи и чтение своих данных в, ЕХЕ- файле
14. Рекурсивный просмотр директорий
15. Network Traffic Monitor
16. Разные модули
17. Универсальная функция для обращения к любым экспортируем функциям DLL
18. Библиотека от VladS
19. Протектор для UPX'а
20. Еще об ICQ, сообщения по контакт листу?
21. Использование открытых интерфейсов
22. Теория и практика использования RTTI
23. Работа с TApplication
24. Примеры использования Drag and Drop для различных визуальных компонентов
25. Что такое порт? Правила для работы с портами
26. Симфония на клавиатуре
27. Загрузка DLL
28. Исправление автоинкремента
29. Взаимодействие с чужими окнами
30. Проверить дубляжи в столбце


 

 

 
 
На главную