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

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

Error. Page cannot be displayed. Please contact your service provider for more details. (20)


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

Поиск:
e^x (x - real)

Код

//////////////////////////////////////////////////////////////////////////////
//
//  e^x function calculating.
//  (c) Johna Smith, 1996
//
//  Method description:
//    Calculating e^x using the following formula:
//                   2    3
//     x       x    x    x   
//    e  = 1 + -- + -- + -- + ...
//             1!   2!   3!
//////////////////////////////////////////////////////////////////////////////

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

#define N       300

double Exp(double x)
{
  double exp=0;
  double a=1;

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

void main(void)
{
  printf("C++ exp(10)=%g, this exp(10)=%g.",exp(10),exp(10));
}



e^z (z - complex)

Код

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

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

struct complex
{
  float re;
  float im;
};

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

complex Exp(complex z)
{
  complex c;

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

  return c;
}

complex z={3,2};

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



tg x (x - real)

Код

//////////////////////////////////////////////////////////////////////////////
//
//  Tangent function calculating.
//  (c) Johna Smith, 1996
//
//  Method description:
//    Calculating tg x using the following formula:
//
//                1  3   2   5   17   7   62    9
//     tg x = x + - x  + -- x  + --- x  + ---- x  + ...
//                3      15      315      2835
//////////////////////////////////////////////////////////////////////////////

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

double Tg(double x)
{
  double tg=0;
  double coefficient[]={1,1/3.0,2/15.0,17/315.0,62/2835.0};
  double a=x;

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

  return tg;
}

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



tg z (z - complex)

Код

//////////////////////////////////////////////////////////////////////////////
//
//  Calculactin function tg(z), where z is a complex value
//  (c) Johna Smith, 1996
//
//  Method description:
//
//             sin(2x)             sh(2y)
//  tg z = --------------- + i --------------
//         cos(2x)+ch(2*y)     cos(2x)+ch(2y)
//////////////////////////////////////////////////////////////////////////////

#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 Tg(complex z)
{
  complex c;

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

  return c;
}

complex z={3,2};

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



th x (x - real)

Код

//////////////////////////////////////////////////////////////////////////////
//
//  th x function calculating.
//  (c) Johna Smith, 1996
//
//  Method description:
//    Calculating th x using the following formula:
//
//                1  3   2   5   17   7    62   9                Ї
//    sec x = x - - x  + -- x  - --- x  + ---- x  - ... ,  |x| < -
//                3      15      315      2835                   2
//////////////////////////////////////////////////////////////////////////////

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

double Th(double x)
{
  double th=0;
  double coefficient[]={1, -1/3.0, 2/15.0, -17/315.0, 62/2835.0};
  double a=x;

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

  return th;
}

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



th z (z - complex)

Код

//////////////////////////////////////////////////////////////////////////////
//
//  Calculactin function th(z), where z is a complex value
//  (c) Johna Smith, 1996
//
//  Method description:
//
//              sh(2x)             sin(2y)
//  th z = --------------- + i --------------
//         ch(2x)+cos(2*y)     ch(2x)+cos(2y)
//////////////////////////////////////////////////////////////////////////////

#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 complexTh(complex z)
{
  complex c;

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

  return c;
}

complex z={3,2};

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


sin x (x- real)

Код

//////////////////////////////////////////////////////////////////////////////
//
//  Sine function calculating.
//  (c) Johna Smith, 1996
//
//  Method description:
//    Calculating sin x using the following formula:
//                  3     5     7     9
//                 x     x     x     x
//    sin x = x - --- + --- - --- + --- - ...
//                 3!    5!    7!    9!
//////////////////////////////////////////////////////////////////////////////

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

#define N       300

double Sin(double x)
{
  double sin=0;
  double a=x;

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

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



sin z (z - complex)

Код

//////////////////////////////////////////////////////////////////////////////
//
//  Calculactin function sin(z), where z is a complex value
//  (c) Johna Smith, 1996
//
//  Method description:
//
//  sin z = sin x ch y + icos 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 Sin(complex z)
{
  complex c;

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

  return c;
}

complex z={3,2};

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



sec x (x - real)

Код

//////////////////////////////////////////////////////////////////////////////
//
//  Secans function calculating.
//  (c) Johna Smith, 1996
//
//  Method description:
//    Calculating sec x using the following formula:
//
//                1  2   5   4   61   6   277   8
//    sec x = 1 + - x  + -- x  + --- x  + ---- x  + ...
//                2      24      720      8064
//////////////////////////////////////////////////////////////////////////////

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

double Sec(double x)
{
  double sec=0;
  double coefficient[]={1, 1/2.0, 5/24.0, 61/720.0, 277/8064.0};
  double a=1;

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

  return sec;
}

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



sh x (x - real)

Код

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

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

#define N       30

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 main(void)
{
  printf("Exact sh(0.5)=%g, this sh(0.5)=%g.",(exp(0.5)-exp(-0.5))/2,Sh(0.5));
}



sh z (z - complex)

Код

//////////////////////////////////////////////////////////////////////////////
//
//  Calculactin function Sh(z), where z is a complex value
//  (c) Johna Smith, 1996
//
//  Method description:
//
//  sh z = sh x cos y + ich 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 complexSh(complex z)
{
  complex c;

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

  return c;
}

complex z={3,2};

void main(void)
{
  printf("Sh(");
  show_complex(z);
  printf(") = ");
  show_complex(complexSh(z));
}
Сайт: forum.vingrad.ru






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

 

 

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


Популярные:
  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. Проверить дубляжи в столбце


 

 

 
 
На главную