Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Kochulab
0 / 0 / 0
Регистрация: 26.11.2011
Сообщений: 32
#1

На отрезке xє[-4; 4] выделить промежутки длиной h = 0.1, в которых есть действительные корни функции b = xtgx-e ^ (x-3) - C++

04.03.2012, 00:20. Просмотров 581. Ответов 3
Метки нет (Все метки)

На отрезке xє[-4; 4] выделить промежутки длиной h = 0.1;
в которых есть действительные корни функции b = xtgx-e ^ (x-3)
Вычислить количество таких промежутков
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.03.2012, 00:20     На отрезке xє[-4; 4] выделить промежутки длиной h = 0.1, в которых есть действительные корни функции b = xtgx-e ^ (x-3)
Посмотрите здесь:

Из строки выделить подстроку длиной n символов, начиная с заданой позиции C++
найти действительные корни квадратного уравнения C++
C++ Вычислить 18 значений функции ax^2+bx+c на отрезке [e,f], сохранить их в массиве Y и определить, имеет ли уравнение ax^2+bx+c=0 на отрезке [e,f] по крайней мере хотя бы один корень.
Исправьте код, выдает ошибку (заданы коэффициенты квадратного уравнения. Найти его действительные корни, если они существуют.) C++
Вычислить m значений функции f(x) на отрезке [a, b]. Вычисление величины f(x) оформить в виде функции C++
C++ Распечатать таблицы значений функций cox (x) и на отрезке [a; b] с шагом h, развив функции в ряд Тейлора и используя указатели на функции
Даны действительные числа a1; a2; .; an. Среди них есть положительные и отрицательные C++
Найти корни уравнений ax^3+bx^2+cx=0 и y^3-ay^2-b=0, используя процедуру. Есть ли у этих уравнений совпадающие корни? C++
Найти действительные корни биквадратного уравнения C++
Вызов функции через равные промежутки времени C++
C++ Найти действительные корни квадратного уравнения
C++ Выяснить, имеет ли заданное уравнение действительные корни

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Mikola-BLR
47 / 47 / 6
Регистрация: 27.12.2011
Сообщений: 63
04.03.2012, 02:34     На отрезке xє[-4; 4] выделить промежутки длиной h = 0.1, в которых есть действительные корни функции b = xtgx-e ^ (x-3) #2
Если значение функции изменило знак на каком-то отрезке (начало отрезка x, конец отрезка x+h), значит пересекли ось абсцисс, т.е. там есть корень.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <math.h>
#define exp 2.718281828
 
int main()
{
    float x=-4, h=0.1;
    int rootsNumber=0;
    do
    {
        if ((x*tan(x)-pow(exp,x-3)>0 && (x+h)*tan(x+h)-pow(exp,x+h-3)<0)||
            (x*tan(x)-pow(exp,x-3)<0 && (x+h)*tan(x+h)-pow(exp,x+h-3)>0)) rootsNumber++;
        x+=h;
    }while (x<4);
    std::cout << "Number of roots: " << rootsNumber << std::endl;
    return 0;
}
Kochulab
0 / 0 / 0
Регистрация: 26.11.2011
Сообщений: 32
04.03.2012, 11:09  [ТС]     На отрезке xє[-4; 4] выделить промежутки длиной h = 0.1, в которых есть действительные корни функции b = xtgx-e ^ (x-3) #3
Цитата Сообщение от Mikola-BLR Посмотреть сообщение
Если значение функции изменило знак на каком-то отрезке (начало отрезка x, конец отрезка x+h), значит пересекли ось абсцисс, т.е. там есть корень.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <math.h>
#define exp 2.718281828
 
int main()
{
    float x=-4, h=0.1;
    int rootsNumber=0;
    do
    {
        if ((x*tan(x)-pow(exp,x-3)>0 && (x+h)*tan(x+h)-pow(exp,x+h-3)<0)||
            (x*tan(x)-pow(exp,x-3)<0 && (x+h)*tan(x+h)-pow(exp,x+h-3)>0)) rootsNumber++;
        x+=h;
    }while (x<4);
    std::cout << "Number of roots: " << rootsNumber << std::endl;
    return 0;
}
А можете ли Вы написать описание в комментариях что к чему а то я чуть не понимаю(
Mikola-BLR
47 / 47 / 6
Регистрация: 27.12.2011
Сообщений: 63
04.03.2012, 15:08     На отрезке xє[-4; 4] выделить промежутки длиной h = 0.1, в которых есть действительные корни функции b = xtgx-e ^ (x-3) #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <math.h>//для математических функций tan() - тангенс, pow(x,y)- возведение x в степень y
#define exp 2.718281828//везде, где встретится слово exp, будет подставлено число 2.71...
 
int main()
{
    float x=-4, h=0.1;//начало отрезка -4 и шаг 0.1
    int rootsNumber=0;//количество корней
    do
    {/*если значение функции было больше 0, а стало меньше
       либо если было меньше нуля, а стало больше,
       то на данном отрезке есть корень
       rootsNumber++ число корней увеличиваем на 1*/
        if ((x*tan(x)-pow(exp,x-3)>0 && (x+h)*tan(x+h)-pow(exp,x+h-3)<0)||
            (x*tan(x)-pow(exp,x-3)<0 && (x+h)*tan(x+h)-pow(exp,x+h-3)>0)) rootsNumber++;
        x+=h;//переходим к следующему отрезку на шаг h
    }while (x<4);//пока не достигнем конца отрезка x=4
    std::cout << "Number of roots: " << rootsNumber << std::endl;//и выводим количество корней
    return 0;
}
Yandex
Объявления
04.03.2012, 15:08     На отрезке xє[-4; 4] выделить промежутки длиной h = 0.1, в которых есть действительные корни функции b = xtgx-e ^ (x-3)
Ответ Создать тему
Опции темы

Текущее время: 00:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru