Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cmath>
- #include <iomanip>
- const double E1 = 0.000001 / 1.2;
- const double E2 = 0.000001 / 4.2;
- const double E3 = 0.000001 / 3;
- const double PI = 3.141592;
- int fact (int n0);
- double sinM (double x0);
- double slagsin (double x00, int k00);
- int sgn (double x0);
- double slagarctg (double x0, int k0);
- double arctgM (double x0);
- double sqrtM (double x0);
- int main () {
- double z = 0;
- std::cout << "x" << "\t" << "z" << std::endl;
- for (double x = 0.01; x <= 0.06; x += 0.005){
- z = sqrtM (1 + arctgM (6.4*x + 1.1)) / sinM (2 * x + 1.08);
- std::cout << std::fixed << std::setprecision (6) << x << "\t" << z << std::endl;
- }
- std::cout << "---------------------------------------------" << std::endl;
- std::cout << "x" << "\t" << "z" << std::endl;
- z = 0;
- for (double x = 0.01; x <= 0.06; x += 0.005){
- z = sqrt (1 + atan (6.4*x + 1.1)) / sin (2 * x + 1.08);
- std::cout << x << "\t" << z << std::endl;
- }
- system ("pause");
- return 0;
- }
- int fact (int n0) {
- int c=1;
- for (int i = 1; i <= n0; i++)
- c *= i;
- return c;
- }
- double slagsin (double x0, int k0) {
- return (pow(-1, k0)*pow (x0, 2 * k0 + 1)) / fact (2 * k0 + 1);
- }
- double sinM (double x0){//E2
- int k = 0;
- double sinus = 0;
- double slag = 0;
- do{
- slag = slagsin (x0, k++);
- sinus += slag;
- //std::cout << " C = " << sinus << " slag = " << slag << std::endl;
- }
- while (fabs(slag)>E2);
- return sinus;
- }
- int sgn (double x0) {
- if (x0 > 0)
- return 1;
- else
- if (x0 == 0)
- return 0;
- else
- return -1;
- }
- double slagarctg (double x0, int k0) {
- if (fabs (x0) < 1)
- return (pow (-1, k0)*pow (x0, 2 * k0 + 1)) / (2 * k0 + 1);
- else
- if (fabs (x0)>=1)
- return( pow (-1, k0)*pow (x0, -(2 * k0 + 1))) / (2 * k0 + 1);
- }
- double arctgM (double x0) {
- int k = 0;
- double arctag = 0;
- double slag = 0;
- do{
- slag = slagarctg (x0, k++);
- arctag += slag;
- //std::cout << " C = " << arctag << " slag = " << slag << std::endl;
- } while (fabs (slag)>E1);
- double arctag1 = arctag;
- if (fabs (x0) >= 1)
- arctag1 = PI / 2 * sgn (x0) - arctag;
- return arctag1;
- }
- double sqrtM (double x0) {
- double xk = 1;
- double xk1 = 1;
- do{
- xk = xk1;
- xk1 = 0.5* (xk + x0 / xk);
- //std::cout << "Xk1= " << xk1 << " xk = " << xk << std::endl;
- } while (fabs(xk - xk1) > E3);
- return xk1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement