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

Вычислить значения функции на заданном интервале - C++

Восстановить пароль Регистрация
 
Sanya1
0 / 0 / 0
Регистрация: 05.07.2015
Сообщений: 43
05.07.2015, 17:36     Вычислить значения функции на заданном интервале #1
Написать программу вычисления функции y на заданном промежутке с шагом 0.2 и построить график функции y, причем
y=http://www.cyberforum.ru/cgi-bin/latex.cgi?{e}^{-(x+0.8)} при х>3.61
y=1 при http://www.cyberforum.ru/cgi-bin/latex.cgi?x\in \left[0;3.61 \right]
y=0.5x при x<0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.07.2015, 17:36     Вычислить значения функции на заданном интервале
Посмотрите здесь:

Вычислить значения функции на интервале C++
Цикл: вычислить значения функции на заданном интервале C++
C++ [C++] Приближенно вычислить интеграл от функции y=exp(-x) в заданном интервале, используя формулу прямоугольников
Вывести значения функции в заданном интервале C++
Вычислить значения функции на интервале C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Krasiosoft
 Аватар для Krasiosoft
51 / 51 / 15
Регистрация: 01.06.2015
Сообщений: 189
05.07.2015, 18:13     Вычислить значения функции на заданном интервале #2
Функция для подсчета значений Y:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <math.h>
 
double func(double x){
 
    if(x > 3.61){
        return pow(M_E,-(x+0.8));        //  M_E  =  2.7182818284590452354
    }
 
    if(x >=0 && x <= 3.61){
        return 1;
    }
 
    return 0.5*x;
}
zss
Модератор
Эксперт С++
 Аватар для zss
5942 / 5547 / 1783
Регистрация: 18.12.2011
Сообщений: 14,164
Завершенные тесты: 1
05.07.2015, 18:16     Вычислить значения функции на заданном интервале #3
Krasiosoft, почему pow(M_E,-(x+0.8)); а не exp(-x-0.8); ????
Krasiosoft
 Аватар для Krasiosoft
51 / 51 / 15
Регистрация: 01.06.2015
Сообщений: 189
05.07.2015, 18:20     Вычислить значения функции на заданном интервале #4
Цитата Сообщение от zss Посмотреть сообщение
почему pow(M_E,-(x+0.8)); а не exp(-x-0.8); ????
Даже не знаю, а что будет работать быстрее?
zss
Модератор
Эксперт С++
 Аватар для zss
5942 / 5547 / 1783
Регистрация: 18.12.2011
Сообщений: 14,164
Завершенные тесты: 1
05.07.2015, 18:26     Вычислить значения функции на заданном интервале #5
ax=exp(log(a)*x). Т.е. у Вас лишнее вычисление логарифма и лишнее умножение.
Krasiosoft
 Аватар для Krasiosoft
51 / 51 / 15
Регистрация: 01.06.2015
Сообщений: 189
05.07.2015, 18:40     Вычислить значения функции на заданном интервале #6
А далее:
C++
1
exp(x) = sinh(x) + cosh(x);  // sinh - гиперболический синус, cosh - гиперболический косинус
Исправил:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <math.h>
 
double func(double x){
 
    if(x > 3.61){
        return exp(-x-0.8);
    }
 
    if(x >=0 && x <= 3.61){
        return 1;
    }
 
    return 0.5*x;
}
Yandex
Объявления
05.07.2015, 18:40     Вычислить значения функции на заданном интервале
Ответ Создать тему
Опции темы

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